InfoQ

Presentation

The Principles of Agile Design

Posted by Bob Martin on Jan 30, 2007 08:13 AM

Community
Agile
Topics
Modeling,
Design
Tags
OOP,
Agile2006,
Presentations,
Patterns,
Refactoring
Summary
Bob Martin of Object Mentor presents the first of his five principles of agile design. Beginning with an explanation of the real purpose of object-oriented design - the management of dependencies - Bob walks through a code example to illustrate how dependencies can be managed with abstractions, and that good designs are those in which high-level abstractions do not depend on low-level details.

Bio
"Uncle" Bob Martin helped create the Agile Manifesto, is a leading authority on Agile software development, and has authored books on Agile Programming, XP, UML, O-O Programming, and C++. Bob is the founder, CEO, and president of Object Mentor, whose professionals provide process improvement consulting, o-o design consulting, training, and development services. http://www.objectmentor.com/

About the conference

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.

4 comments

Reply

Covered only one of five principles??? by Jean W Posted Feb 1, 2007 10:09 AM
Re: Covered only one of five principles??? by Vladimir Sanchez Posted Feb 6, 2007 4:47 PM
not complete or .... by Hans Stevens Posted May 22, 2007 6:32 AM
download by Ajay Jadhav Posted Jun 9, 2007 8:40 AM
  1. Back to top

    Covered only one of five principles???

    Feb 1, 2007 10:09 AM by Jean W

    I was excited when I saw the summary of this video because I've been trying to get my co-workers to read about the five SOLID principles of OO design in the "Agile Software Development" book. I hoped I could email them a link to the video, and it would get them interested enough to read the book. Unfortunately, I don't think this video will serve that purpose. First, the principles don't start until minute 20. I can get around that problem by telling my co-workers to just jump ahead to minute 20. However, then the video covers only one of the five principles, the Single Responsibility Principle, before ending in the middle of the talk. (It introduces the 2nd principle, the Open/Closed Principle, but doesn't finish covering it.) The video says it had to end because the presentation shifted into tutorial mode, so I understand why it ended. But for my purposes, that makes it useless. I'm not goint to email around a link for a video that covers only one of five principles... I hope a version of this presentation can be made as a talk rather than tutorial, introducing all five principles in 20 to 30 minutes (with a strong preference for 20 minutes). The goal would not be in-depth understanding but rather offering just enough insight to entice people to read the book. That's the kind of link I would send around to my co-workers. Thanks!

  2. Back to top

    Re: Covered only one of five principles???

    Feb 6, 2007 4:47 PM by Vladimir Sanchez

    Visit Object Mentor's Principles of Object-Oriented Design Course page to obtain more information on the topics you're looking for: Here's a list of some of the PDF's:

  3. Open Closed Principle
  4. Liskov Substitution Principle
  5. Dependency Inversion Principle
  6. Interface Segregation Principle
  7. Packaging Principles
  8. Package Dependency Principle
  9. ...and a UML crash course. ;) I hope you find it useful. -Vlad P.S. I was also craving for more but can't afford the training now. |:(

  • Back to top

    not complete or ....

    May 22, 2007 6:32 AM by Hans Stevens

    I'd love to see the full version of this, did something go wrong with the upload or is this the only stuff that was recorded ?

  • Back to top

    download

    Jun 9, 2007 8:40 AM by Ajay Jadhav

    Can this video be downloaded? or available somewhere for download. Due to bandwidth problem I am not able to hear it properly. I also wanted to share this with my development team.

  • Exclusive Content

    Rationalizing the Presentation Tier

    Thin client paradigm characterized by web applications is a kludge that needs to be repudiated. Old compromises are no longer needed and it's time to move the presentation tier to where it belongs.

    Agile Project Management: Lessons Learned at Google

    In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.

    AtomServer – The Power of Publishing for Data Distribution

    In this article, Bryon Jacob and Chris Berry introduce AtomServer, their implementation of a full-fledged Atom Store based on Apache Abdera, which is now available as open source.

    An Introduction to Virtualization

    It is easy to think that virtualization applies only to servers. In reality the recent resurgence of the concept is also being applied to networking, storage, and application infrastructure.

    REST Anti-Patterns

    In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them.

    Choosing between Routing and Orchestration in an ESB

    In this article, Adrien Louis and Marc Dutoo discuss the differences and relative merits of using orchestration vs. routing in a typical ESB setup, and discuss various implementation options.

    Enterprise Batch Processing with Spring

    Wayne Lund discusses batch processing, Spring Batch objectives and features, scenarios for usage, Spring Batch architecture, scaling, example code, failures and retrying, and the future roadmap.

    User Story Estimation Techniques

    Developer Jay Fields draws on his experiences as a ThoughtWorks consultant to describe effective user story estimation techniques.