Lean Development
September 08, 2006
As I mentioned yesterday, Mary Poppendieck presented last night at the Calgary Agile Methods User Group (CAMUG). The title of her talk was “Beyond Agile Software Development: Becoming Lean” and she covered material from her new book “Implementing Lean Software Development: From Concept to Cash” which should be out next week.
Her talk started with an overview of lean and the Toyota Production System (TPS). This included key players such as Taiichi Ohno often called the father of the TPS and Shigeo Shingo a consultant to Toyota who’s book was translated into English, before Ohno’s. Mary explained that Toyota first started making cars in an environment of raw material short supply. Taiichi Ohno’s background was in the weaving loom industry and a key idea that he brought to auto manufacturing was the idea of stopping the line as soon as a problem occurred. Given this pre-occupation of defect avoidance, I always think his surname Ohno (as in “Oh-no, stop the line!”) is apt and amusing.
Mary talked about the lean concept of eliminating waste through just in time flow. Within software development that equates to looking for lists, such as lists of defects, lists of changes, etc and then finding ways to reduce or eliminate these lists. i.e. fix the underlying problem so the lists do not build up (as opposed to just throwing away your defect list).
During the introduction Mary also talked about two kinds of inspection that organizations typically undertake. The first, inspections to find defects, she described as waste. If we are attempting to test in quality at the end of the process then we are already too late. The second, and preferred type of inspections, are those aimed at preventing defects – i.e. inspections on the process not the parts, to ensure the process can not allow bad parts to get through. In the software world this would be getting people more engaged in automating the build and test process than performing manual unit tests.
The last part of her introduction to lean really struck a chord for me. It concerned the idea of Respecting People. The following quote was used: “Only after American carmakers had exhausted every other explanation for Toyota’s success, including better suppliers, cheaper labour, a heavier investment in robots, etc. Did they finally realize that the true differentiator lay in harnessing the intellect of ‘ordinary employees’”. So, the key feature is that management accepts that it is the workers on the shop floor that will have the best insights and best solutions for solving problems and creating innovations and efficiency savings. Workers can do this more successfully than managers because they possess the local domain knowledge and best insights into the key issues at play.
In the software world this parallels the idea of empowering the team to organize and design their own work packages to meet the high-level project objectives. As a project manager of a software development team, do not attempt to plan and specify the software creation steps in advance and hand them to developers in detailed Gantt charts, instead let the developers harness their own domain knowledge and serve the team by maintaining a clear project vision, removing obstacles, and shielding them from interruptions.
Comments