Saturday, June 19, 2004
Six Sigma as the Agile Future?
My recent posts discussing the importance of understanding variation can help us to explain and relate agile development in terms of Six Sigma - a process of continuous improvement mostly used in the very big companies such as General Electric and Motorola.
Defining Six Sigma
Six Sigma is a method of management for continuous improvement which understands variation. Most people associate Six Sigma with quality because its name is rooted in the notion of less than 4 defects per million opportunities. However, the practice of Six Sigma requires the deep understanding of variation and the steady elimination of special cause variation and reduction of common cause variation from a process or system. Quality improves as variation is eliminated and reduced. The Wheeler Matrix helps us to understand that. Conformant Quality is defined in the left-hand column and to move from the right-hand to the left-hand column requires the reduction of common cause (or systemic) variation.
Six Sigma is rooted in the work on variation done by Shewhart and in the work in quality by his successors such as Deming and Juran. There is another management method rooted in the work of Shewhart, Deming and Juran which also strives to achieve continuous improvement - Lean or the Toyota Production System. There is now work on-going to consolidate these two branches of management science into Lean Six Sigma and this comparison of Lean Six Sigma with CMM.
We are seeing more members of the agile community being influenced by the work of Deming and talking about very low defect levels. Kent Beck has starting talking about goals for TDD such as 1 defect per quarter. Martin Fowler has also talked about a Very Low Defect Project and observed that this is a trend amongst good agile teams.
If on the one hand, we have the agile development crowd moving towards Deming quality assurance methods and very low defect counts and on the other hand, the agile project management crowd moving towards probabilistic methods such as critical chain which embrace and understand uncertainty then ultimately is the agile movement moving towards a definitive Six Sigma solution for software engineering? Is anyone shocked or surprised by this trend? Comments please…