A hat tip to Curious Cat for finding a one hour video presentation titled Competing on the Basis of Speed that was given to a group of software developers at Google. Mary Poppendieck, who learned about lean while an IT manager at an unknown lean plant, describes how lean manufacturing methods can be applied to software development. In an interesting twist, some of the software examples she gives can also help us apply lean to manufacturing.
She begins by describing "fast companies," where speed creates a significantly lower cost structure and thereby a competitive advantage. Dell claims speed creates a 50% infrastructure cost advantage. Toyota brought Prius to market in 15 months. Speed creates a large barrier to entry for competitors.
What keeps you from competing on the basis of speed? Complexity. There are three faces of complexity: waste (anything that depletes resources without adding customer value), inconsistency, and overload. "Sustainable simplicity comes from change tolerance in the code." Thnk about how this can also apply to manufacturing processes.
A few notes on the three faces of complexity from her presentation:
Simplicity: write less code, use less complex interfaces. The Google home page is simple. Common architecture, common naming conventions, common development tools.
Inconsistency: defect detection, mistake proofing, and how quality processes create quality products. If you are testing at the end, then you are testing too late. One piece flow is the rapid deployment of small feature sets into code development and production.
Overload: cycle time is time from problem detection to problem solution. Value stream mapping of software development and problem solving. It makes no sense to have a long queue in the development and deployment process. Shut off development to balance the process. Limit work to available capacity.
Sound familiar? Of course. Take an hour to watch the video; you might just learn something from those software folks.