Tuesday, February 24, 2009

Lean Software Development

I have made a personal commitment to read more this year and thought I would share some thoughts on what I am reading. I recently started Lean Software Development: An Agile Toolkit with some colleagues of mine. This is my synopsis of Chapter 1.

This chapter focuses on the core Lean principle of Eliminate Waste. Anything that doesn’t provide value to the customer is waste. That was a real eye-opener to me as a lot of IT and application development processes don’t add direct value to the customer. The list below is a representation of The Seven Wastes of Application Development (derived from the 7 wastes of manufacturing) as outlined by the authors.

  1. Partially Done Work

  2. Extra Processes

  3. Extra Features

  4. Task Switching

  5. Waiting

  6. Motion

  7. Defects

While all of these are important areas to focus on, I will discuss just a couple. Partially done software has a tendency to become obsolete and there is no assurance it will even work. Until the development can be integrated into the rest of the environment, you can’t be sure it will work as designed. We should strive to reduce partially done development in order to reduce risk and wasted effort. We only check in our code when it has been compiled, tested, and is functionally complete. This is currently our definition of “done”. We will further expand this definition when we incorporate our automated build process.

The desire to add extra features has more than likely plagued every developer. As we implement our Agile/Scrum process, we are conscience of this “wasted” effort. We are developing only the minimum amount of code to meet the requested requirement. Even if we know for sure the feature will be needed in a future story point, we have decided to refactor at that point just in case the business decides not to move the story from the product backlog to one of our sprints.

We have just completed our third sprint. So far, the development team, the business, and our analysts have nothing but positive feedback for the new methodology. I believe the business will receive more value even quicker leading to the corporate wide adoption of Agile/Scrum. I am very excited about the possibilities. If you have experience in this area, please share with me so we can learn from each other. I will continue this series as I read more chapters.  

No comments:

Post a Comment