Monday 17 November 2008

Why do we need Six Sigma For Software?

Software today is responsible for most of the added value in products, and must be blamed for many of its failures. Even if the iron hook breaks, it may be the software embedded in the measurement instrument to blame for not having detected it in time. When in Germany the high speed intercity express train crashed into an overpass, it was software that didn’t detect
the broken wheel ring well before the accident.

Mobile networks are suffering from not being able to provide interconnection to the Internet and interoperability between their own services. It is the software that fails.In e-Commerce and for making Web Services to work, security, reliability and fault tolerance are of essence. Software and business processes are not cooperating, as they should to make it profitable.

Software is so ubiquitous that we must solve the software development problem to address a lot of other problems the society has.

The Six Sigma approach is:
Set the goal – Define
Define the metrics – Measure
Measure where you go – Analyse
Improve your processes while you go – Improve
Act immediately if going the wrong path – Control


We talk about “software development”, however we not only intend writing new software, but also software integration, deployment, and maintenance, as long as it has the character of a project. This means that there is a goal that can be reached or missed. Using Six Sigma, we want to measure how much we are going to miss that goal.

1 comment:

Unknown said...

I think it is simple to say that a failure in any process can be linked to the underlying software. But it is equally important to understand what a software is.

A software is a tool which works according to some strictly defined, well written, reproducible and bounded set of specifications. Hence the conformity of a software is to the conformity of the specifications.

What I mean to say is the fact that a software must (and should always do ideally) conform to certain sepcifications on which it is developed. These specifications need to be bounded but they may not be complete. Hence any failure occuring outside these specifications may lead to the failure of the underlying software but it should not be called a "Software Fail".

The concept of six sigma can be well applied to software only under the boundries of the underlying specifications.

Lemme know your views!!!