Using Six Sigma for software project management

How do you effectively use Six Sigma in software project management? Expert Bas de Baar explains when -- and when not -- to espouse this management philosophy.

How do I use Six Sigma in my software project? I read that it might not be good, but I still wonder.

This question is in the category of "Can I use a paper clip for grooming?" First reaction would be "No! Get outta here!" This handy office thingy is intended for holding papers together. However, unfold it, and presto, you can perfectly clean the dirt from under your finger nails. So, that makes the practical answer go "Uhmmm, yes you can."

Six Sigma is intended to create a reliable and efficient process. You define up front what the expected process output should be, and Six Sigma provides statistical tools to measure if the real output is within the acceptable limits. If not, it provides tools and techniques to tweak the process to perform better. This is ideal if you want to squeeze out every non-productive employee in a department.

Within software projects, efficiency and reliability of the process are not the main focus. Most of the time the project should be adaptive, absorb changes, being able to handle a dynamic environment above everything else. And you can just optimize primarily for one of these objectives, not for both. If innovation and creativity is needed, then planning out every little detail and making sure no one deviates from the plan will definitely ruin it all. It is a matter of forks and knives; not one is better, both are different things with different purposes.

So, that would be the "No! Get outta here!" part of the answer.

To support the objectives of Six Sigma, it provides techniques to make a process measurable, make it precise. Like I said, it is mainly a statistical method, so you really need metrics for that. And to facilitate doing something with the results, it has decision support tools, and ways to evaluate alternatives. Perhaps you are thinking "Woohee. So?" Remember, the biggest problems in software projects arise from miscommunication, stating one's expectations, and things like decision making. Ring a bell?

Software project management resources

Six Sigma not necessarily beneficial to software development

Learning Guide: How project management methods can improve them

Essentials of Lean Six Sigma -- Chapters 1 and 4, Introduction and Improvement

The techniques to make business goals clear and measurable, to analyze their progress and to use them to facilitate decision making can be of tremendous use in any project. Especially in software projects where fuzziness is king. I recommend that you go over Six Sigma with this idea in mind and pick out the techniques you like. This is the "dirty fingernails" answer.

On this last matter I also want to point out to you the concept of "Planguage." This is a mix between planning and language and invented by Tom Gilb. Basically it is a structure to express the requirements to process and product in. Every element has a metric associated with it; you define what the scale is, how you are going to measure it and what the past, current and desired values within the metric are. The idea is to be exact in definitions to avoid problems in communications, and to facilitate again decision making in projects. Tom's son, Kai, has written a document about the use of Planguage in his EVO project management method. Under "Evo" you can download the book manuscript as a PDF.

Dig Deeper on Topics Archive