Wednesday, April 20, 2011

The Application of Six Sigma to Software Production - Part 1

I am a firm believer in continuous process improvement.  My first computer testing position was with General Electric Process Control Division, (1964, later Honeywell) and though we had no formal process improvement process, usually, when something failed, we performed root-cause-analysis (RCA) to discover what mistakes we had made so that we could avoid making those same mistakes in the future.

In later years (c. 1998?), I was again working for GE and had the opportunity to learn about and apply Six Sigma continuous process improvement techniques to a software development environment.  I saw it work.

I hope to publish a series of posts that will describe the Six Sigma process as I used it, the arguments against using it for improvement of the software development process, the myths concerning Six Sigma circulating in the software development community, and, perhaps, an occasional rant about the failure to apply engineering discipline to software development.

Here is my RCA for why software has such a rotten quality reputation - and an economically justified solution:

You can bet that the cause of mistakes resides in the culture in which the mistakes were made. Cultures are generally created by the founding fathers and propagated by successive generations; in businesses, by generations of management. Cultures have a lot of momentum; See NASA for example. Is saying that we can have a better culture tantamount to saying that our current culture is not good enough? Is it wrong? Is it not satisfying? 

This is enough to test our very belief systems.

In the most generic sense, I suppose the problem is that mistakes cost money, and if we can avoid the mistakes, we can save money.  This is a problem we can address.

One method of addressing this problem is the Six Sigma process.

No comments:

Post a Comment