Six Sigma in Software Engineering


Posted by: meikah | 15 December 2005 | 4:20 am

PS&J Software Six Sigma, a software management improvement provider, recently launched the Software Six Sigma. The software is designed to speed up integration and test, allow delivery of very high quality product, improve the repeatability and predictability of the entire software development process.

Software Six Sigma uses the Statistical Process Control (SPC) and related techniques that are known collectively as the Six Sigma tool kit.

Software Six Sigma’s attributes are:

* trustworthy metric data
* accurate planning based on historical data
* use of statistical tools for real time analysis and decision support
* quantifiable Software Process Improvement cost and benefits
* predictably high product quality (very few latent defects)

Undeniably, Six Sigma deployments these days are being executed through a more developed software. Many have developed such software but very few have successfully applied the program to software engineering itself. That is because software development is different in many ways. For one, in programming, no two modules are alike so process performance always includes an intrinsic degree of variability. Also, skills and experience from one developer to another can vary.

However, there are factors in software development that make Six Sigma easy to apply.

  1. Software development is measurable and controllable.
  2. Software development processes can be fully characterized by three simple measurements: the time required to perform a task; the size of the work product produced; and the number and type of defects, removal time, point of injection and point of removal (i.e. defects).
  3. Software measurements can be influenced by statistical control provided that data is complete, consistent, and accurate, and data from individuals with widely varying skill levels is not mixed.

Using Six Sigma techniques in a software development organization normally requires changes in both the software development process and in the project management process. An organization needs to have a software process in place and this process should reflect what the developers actually do, not what management desires.

Six Sigma techniques work best with lightweight, incremental processes that have been instrumented to produce high quality metric data. Processes like Team Software Process (TSP) and Extreme Programming can both make good platforms for Six Sigma. But whatever the process platform is, it needs to include a basic software measurement framework.

 Filed under: Software/Technology | | No Comments »






Leave a Reply