Agile Renaissance


Commenting on Agile and lean: Same or different?

Print the article

This entry was posted on 10/20/2006 3:54 PM and is filed under Agile Development.

Dave Nicolette made a post called Fear of falling in which he stated that although Lean respects people it is for organizations that do not trust their people. I disagreed with this position and left a comment citing sources to support my disagreement. I also tried to explain how I differentiate Lean from the rest of the other Agile methodologies. Dave responded to my comment with this longish post.

First, I never meant to imply or suggest that Dave did not value the Lean approach or that he was not aware of it or had an understanding of it. I apologize for my lack of clarity, that was not what I intended. I do have the opinion that Dave does not fully understand the depths of Lean philosophy as a way of doing knowledge work, as philosophy in action. I also have the same opinion of myself. And yes I agree that Dave and I are very close in our respective points of view. I also agree that small differences can have very big consequences, for we live in a non-linear world.

In the third paragraph of the second post Dave explains the main distinction between Lean and Agile:

There is no escaping the fact that human beings perform all the work, no matter the process, and that treating those human beings properly is an effective way to reduce waste. Even in purely traditional organizations, when the people are treated fairly and professionally they deliver better results than otherwise. I just don't think that, in itself, rises to the level of the Agile Manifesto's statement that we value individuals and interactions more than processes and tools. Rather, it seems the goal is to refine the processes and tools, using human factors as a means to that end. Ultimately, the process is still regarded as the means to success, with the people supporting it by being alert to opportunities to eliminate waste. With agile development, the goal is to deliver value to the customer, and the process is regarded as a tool in the hands of the project team.
From my understanding of Lean, it has the same view as expressed in the last line. Lean like Agile says that processes must serve the goal of delivering value to customers, see Lean Thinking. Since the distinction between the two, for Dave, is centered around the issue of processes, this leads me to the question: can software development occur without processes? I am convinced that the answer is no and I freely admit that this maybe a failure on my part and yes I know this is a contradiction -- I just don't know how to say it any other way. lean by the way takes the same position. Some of Dave's arguments seem to indicate that he does not agree with this, which I have now chosen to interpret as: it is Dave's position that Agilists will choose, modify and replace processes as needed, based on the context and what they learn. They do this so that they can improve how they deliver value to customers. Leanist in contrast will only improve the process in hand. To support this position Dave argues that since Lean came from manufacturing it just has to make a pre-designed product, using the processes it already has in place. However, a counter example to this is Pratt & Whitney. To produce jet engine turbine blades they bought an incredibly expensive machine and set up a complicated process around it. The process and the machine were very difficult to use and after seeing how expensive and wasteful it was they completely redid the process using 4 much lower cost specialized grinding machines. The result was a significant improvement in their productivity; for full details see the book: Lean Thinking.

Dave then likens software development to construction where there are a large number of unknowns that have to be dealt with to construct a building that matches the architect's design. This is an okay analogy, but since lean philosophy has been applied to product development, such as a car, by Toyota, I would suggest that it is a better match to software development. In the book, The Toyota Product Development System, the authors explain that this is a Lean product development system. They also show how it does not put people second nor does the company treat these product development people as if they are not to be trusted. In fact, Toyota does not use a plan driven approach for product development and they assign full responsibility to the engineers who taken on the challenges of delivering the different components. Toyota built the Prius this way, changing the design and developing new technologies as they learned more about the needs of the customer and they still had the first version rolling off the manufacturing lines every 12 months.

Lean starts with the view that collaborative work is always done in systems, designed for and by people, and that the proper goal of all these systems is to deliver value to customers. Their analysis has lead them to understand that the biggest and most universal constraint of all of these systems, past, present and future, is waste. Lean thinking then arrives at this conclusion: given that these are human systems, then only humans can improve or replace them and the only true way for humans to deal with all of these different types of systems and contexts in which they operate, is to adopt the philosophy of improving the delivery of value to the customer by eliminating waste in the systems.(yes that is a mouthful but I want it to be exact as i could write it and to do this I had to for go brevity, my apologies.) Lean empowers people to change processes to completely new and radicals one, like Toyota did when they created their product development system. As a result, Toyota product development employees are 4 times as productive as those using the traditional plan driven processes, see Product Development for the Lean Enterprise.

Although I view Lean Software Development as being a type of Agile, just like XP, FDD, SCRUM and DSDM, I do not view the entire Agile movement as being similarly single-minded about development being a system's activity and that waste is the root cause of most of the problems. I am by my opinion, not a Leanist, I have not embraced their the seek out and destroy waste where ever it way be philosophy.

But having said all this, Dave has a valid point, in that the strength of Lean is also its weakness, in that working on removing waste in the details of the process people can easily settle for just finding local improvements and not global ones. In the latest round of backlash against Agile, we are seeing stories about blind and even ultra-rigid application of Agile. When I read these stories I am reminded of the old adage that no matter how good the programming language is, it does not prevent people from still writing bad code in it. The Agile Manifesto champions great values and principles but like everything else, we humans can easily misused it.

Four final points, the people in the Lean movement have encountered significant resistance to having it adopted by those using traditional processes. I share the sentiment Dave expressed in his last paragraph. Any mis-interpretation of what Dave wrote lies with me and thank you Dave for responding to my comment.

 

What did you think of this article?




Trackbacks
Trackback specific URL for this entry
  • No trackbacks exist for this entry.
Comments

    • 10/23/2006 4:54 PM Dave Nicolette wrote:
      You make some excellent points here. I was inspired to reiterate some statements I've made in the past in a new blog post.

      I don't think we disagree on fundamentals. One statement in your post may be worth mentioning, though. The authors of the book on TPS you mentioned say the system doesn't put people secon. That's fine, but many managers say that while continuing to practice process-centric management techniques. This is why I say lean development respects people, but doesn't quite take the final step of letting them supercede "the process". We're seeing the same things but reaching different conclusions about that particular point.

      It's my belief that there's a much larger market for lean development than for agile development. To us (practitioners) there's a difference between the two. To prospects, there isn't; all the marketing lit they read says "agile". Everything anyone is selling these days is labeled "agile". In that sense, then, lean is agile and agile is lean. Once we win an engagement, we need to apply a deeper level of professional analysis and judgment to the customer's situation, though.
      Reply to this
      1. 10/26/2006 12:33 PM Norbert Winklareth wrote:
        Dave,

        Thank you. You made some excellent points as well. You summation is correct: we both agree on the aims of Agile/Lean and we disagree on our interpretations of what we have read and experienced in doing Agile/Lean.

        Thanks for continuing the dialog.

        regards
        Norbert
        Reply to this
    • 6/19/2007 4:28 PM organizacja imprez wrote:
      Hello
      Very interesting post i hope to see more such like this one

      Regards,
      Tommas
      Reply to this
    Leave a comment

    Submitted comments will be subject to moderation before being displayed.

     Enter the above security code (required)

     Name

     Email (will not be published)

     Website

    Your comment is 0 characters limited to 3000 characters.