Refactored from SixSigma 8/14/2003
Discussion
This is what happens when you get bored managers.
I worked at a company that built special-order electrical panels (among other things). GE bought the company, and being very big into six sigma, immediately set about indoctrinating everyone into this strange cult. Something I never understood: When you're making one of something, how can you assess your sigmaness?
I was especially dismayed to learn that they thought that six-sigma was applicable to software. SoftwareIsNotManufacturing.
When you're making one of something, how can you assess your sigmaness?
A very good question. If you insist on judging yourself by just one data point, you cannot use the SixSigma methodology. But there are ways to get more data about your product, so that you can use the SixSigma methodology. (see below.)
If you only get one chance to make something perfect, then:
When you're making one of something, how can you assess your sigmaness?
The answer is that you cannot. In fact, if I remember my statistics correctly, you need at least 30 sample points before you can use something like standard deviation to provide meaningful results.
This is actually a very important point. The lack of a method of creating statistically valid software experiments has led to the slow, random nature of software process improvements. <PetPeeve> Most of the software measurement studies I have seen appear to have been done with little understanding of experiment procedures and statistical analysis. Furthermore, they almost never provide the raw data for the reader to do his own analysis. </PetPeeve>
This lack of statistical analysis leads to real problems in software improvement. Most software issues are simply hypotheses that are argued based on opinion. Remember to become a theory in the scientific meaning, a hypothesis must have validated experimental results.
Actually, SixSigma is not six standard deviations. It is merely a marketing term coined by Motorola covering a set a statistical measures.
When a company says it is using SixSigma, it is referring to the SixSigma methodology for defect reduction, which includes several statistical tools in addition to the metric described above.
But, when a company claims that a process has reached Six Sigma, it is referring to six standard deviations, as calculated on the SixSigma page.
A web search will uncover more thorough discussion of SixSigma, pro and con, than can be covered here.
Re SoftwareIsNotManufacturing and AnalogyBetweenProgrammingAndManufacturing:
Several presentations at the 2003 SEPG Conference (see http://www.sei.cmu.edu) described application of the DMAIC methodology of Six Sigma, or the company's "Lean Sigma" initiative, to software. More were success stories from industry than from the SEI's Measurement and Analysis program team.
KarenSmiley, 8/14/2003
GE does have Six Sigma for software, and it is not superficial. Although you may be writing one of something, it still has to perform to some specifications - and these specifications can be stated in six sigma terms and the as-built product measured against those specs. For example, a web-based service may have a six-sigma upper limit of 3 seconds to serve up a page in response to a request under conditions of 2x peak expected load. To test if the spec is met, load the server and spend a week or two pounding at it collecting response time statistics. This is a more typical application of six-sigma methodologies to software than reducing code defects. In any case, while SoftwareIsNotManufacturing, executing software often is manufacturing - and since software is executed far more often than it is written, statistical quality control is possible. -- DaveVanBuren
See article http://www.cio.com/archive/081503/sigma.html for an interesting example of an IT shop using Six Sigma.
There's a Yahoo discussion group on the topic of Six Sigma for software - see http://groups.yahoo.com/group/6S_SWSE/. Send an email to the list moderator (mailto:6S_SWSE-owner@yahoogroups.com) if you would like to subscribe.
For beginners, there's an introductory presentation on Six Sigma here: http://www.induction.to/six-sigma/