Mary Poppendieck (of Poppendieck,LLC) just gave a talk on “Lean Softwae Development” in Redmond, WA. I must say that I was impressed with her engaging speaking style and the amount of detail and examples she was able to cram into a 90 minute talk. There were three specific comments which interested me the most during this talk:

  1. Software architectural design – I am paraphrasing this but a question was asked whether there was a tension between Lean and Agile methodologies and the use of software architectural design. I thought the answer from Mary on this subject was quite inspirational. She said yes there is a tension, but there are definitely contexts in which smart design is the most agile or lean route. There are some people who are able to either perceive issues or flexibility in a design before there are specific customer needs. I believe that specific experience and domain knowledge within a group are driving factors into whether these types of design decisions should be made.
  2. Try more than one implementation of a design – If a developer is not sure about a specific design implementation or framework, then implement the design in multiple ways and then choose the best one based on your objectives. This was somewhat surprising since it seemed to go against the main “lean” principle, “Deliver Value Quickly, Efficiently, Reliably”. If you are implementing your design in multiple ways, isn't this making you less efficient? The answer is no since you are finding the most reliable method of implementing the module and there may be lessons learned for other projects which will have objectives more inline with one of those methods not chosen. There are other reasons that Mary gave and I wish that I could remember them all, but I waited too many days to blog on this subject. ;>)
  3. Deploying quicker as a fiscal advantage – There was a great graph which Mary used to describe this point. The first version of the graph showed a product which pushed the release out to encompass the growing feature set. This was to show that there was a growing burn rate over the product development cycle and that it took more time to see value returned from the product. In the second graph, she depicted 2 releases in the same time frame as the original product release which decreased the burn rate and got value from the company's product investment quicker. The “release quick and often” concept allows for earlier feedback and therefore a product which is also more in tune with your client's needs and desires.

Overall, there was so much information that I am still digesting it through thought provoking conversation with friends and my own imaginary assessment of how it could have helped projects I was involved with in the past. If you get a chance to attend one of Mary‘s seminars, please do. You won‘t regret it.