Thursday, March 12, 2009

I recently posted a synopsis of Chapter 1 of Lean Software Development: An Agile Toolkit . I’ve kept up with my reading, but have failed to provide a synopsis of Chapters 2 and 3. In this post, I’m going to cover both in order to get caught up.

Chapter 2

This chapter is titled “Amplify Learning” and focuses on learning and experimentation as a key success factor of Agile Development. It starts with some great insight as to how software development differs from manufacturing. There have been numerous attempts at applying lean production practices to software development, most of them unsuccessful. There is a significant difference between the two. Development is more closely related to the creation of a recipe, where learning and experimentation are encouraged and rewarded. Production is simply following that recipe in the most efficient manner possible. The authors provide an excellent comparison between the two.

Development

Production

Designs the recipe

Produces the dish

Quality is fitness for use

Quality is conformance to requirements

Variable results are good

Variable results are bad

Iteration generates value

Iteration generates waste (called rework)

Chapter 3

This chapter is titled “Decide as Late as Possible” and focuses on delaying design decision as long as possible. The focus in Lean development emphasizes producing a design that is supportive of the changes that are inevitable. This is accomplished through iterations, with each part of the system being designed just enough to support the requirements for that iteration. This forces the design to be modular and adaptive to change as it will be modified in the next iteration. Once the system is released to production, the support lifecycle will be greatly enhanced as well.

One of the key concepts is delaying decisions until the last responsible moment (defined by the Lean Construction Institute), which is the moment at which failing to make a decision eliminates an important alternative. Delaying decisions is difficult for most people, it's hard work. This is a key concept in the Agile world. However, delaying decisions past the last responsible moment will lead to decisions made by default which is more damaging than making the wrong decision early.

I will try to provide a more complete synopsis of the next few chapters, but wanted to get caught up with these. Stay agile!

Are you looking to implement Scrum in your organization or just wanting to learn more about the process. MaxTrain is offering Certified Scrum Master training in April at their Mason location. For information or to register, click here http://www.maxtrain.com/classes/classInfo.aspx?id=CC-CSM.

About Me

Information Technology professional with over 25 years of experience. My past IT experience has consisted of management, consulting, sales, application and database architecture and development. I have lead multiple projects utilizing Agile methodologies and spearheaded efforts to educate and implement Agile practices throughout several organizations. I am committed to both personal and professional development.
Currently helping customers realize the value of Microsoft products through professional services.