For quite some time a major question has been cropping up in my mind: Is Six Sigma’s application in software development as effective as it is in the manufacturing industry?
The savings and benefits that occur in the software industry due to Six Sigma and other process-improvement activities may not be significant. I’m not convinced when I see articles or attend sessions that allege that Six Sigma has yielded rich benefits in terms of cost saving, etc., in software-development projects. For my purposes, “projects” are temporary and unique, and “operations” are ongoing and repetitive.
I have observed people start a project with poor quality-assurance processes or activities, then bring in some process improvements in the middle of the implementation, compare the results with the starting situation, and then publish that they were successful in implementing Six Sigma. This is not Six Sigma. It’s more like my pushing a friend into a pit, helping him get out, and then boasting about my good deed.
I don’t mean to say that Six Sigma is never useful for software-development projects. I’m just emphasizing that applying Six Sigma may not achieve drastic benefits, as often occurs in manufacturing. Applying Six Sigma to software-development projects may not produce the desired level of benefits.
The reason
Six Sigma is applicable for operations when activities are identical and repeated, as in manufacturing, and not for projects, which have a start and end date and which produce unique products, results, or services.
To successfully perform quality work in an industry, two factors are crucial:
1) The ability of the persons performing the task or activity
2) The effectiveness of the processes that are to be followed in performing the task or activity
The amount to which each of these attributes contributes to success is different between manufacturing and software development. Please refer to the table below, which summarizes my experiences in the software industry and manufacturing.
| Table A | ||
Attribute | Contributing Factor for Success in Manufacturing | Contributing Factor for Success in Software Development |
Ability of the person | 20–30 percent | 70–80 percent |
Effectiveness of the Processes | 70–80 percent | 20–30 percent |
It is clear that I feel that personal ability contributes more to success than process in software development; the opposite seems true in manufacturing.
Table B compares the way manufacturing and software development projects operate.
| Table B | ||
Item No. | Manufacturing | Software Development |
1 | Operations are identical | Operations may be similar across projects but aren’t identical |
2 | Same set of processes for each operation | Processes may be different for different projects, though a few processes may be common across projects |
3 | The variation of the abilities of the worker to perform is minimal i.e. Most of them perform at the same level of effectiveness | The variation of the abilities of the developers to perform is wide i.e. the level of performance is different among the developers |
Items 1 and 2 of table B (process factors)
In the software industry, one may have the same phases—e.g., requirement analysis, design, coding, testing, and implementation—with different details for each project. Project improvements will not be consistently successful across projects.
In manufacturing, workers perform the same operations again and again, and hence an improvement made in a process is applicable throughout the operations phase. Six Sigma is generally not applicable to development.
Projects produce unique products, services, or results, whereas operations produce the same product many times, and this is one important reason that the effectiveness of processes has a greater effect in manufacturing.
Hence, the contributing factor of the process attribute for the success are different, as seen in table A.
Item No. 3—ability
Now, let us discuss the “ability” factor of the employees in each of these industries: If you look at a software-development project even though your team consists of members possessing the same amount of experience—say all of them have five years experience, same skill sets and same kind of training—there still will be a huge variation in their performance even when they work on similar activities. For example, to fix a bug, developer X takes one hour, developer Y takes two hours, and developer Z may take many hours. Though all three possess the same level of skill, education, and training, such variation is common in the software industry , and this variation will have a great effect on the success of the project.
In manufacturing, the ability of the workers doesn’t have as much effect because operations don’t involve much innovation or head scratching. I would like to emphasize that innovation and the creation of the processes in manufacturing are developed and implemented by a different set of people, such as engineers, who don’t belong to operations. Manufacturing employees need simply to follow the processes strictly. With proper training, it’s possible to bring the ability of the workers to almost the same level, with only slight differences. Hence the ability factor of the worker will have a smaller effect on the success of the project in manufacturing.
Normally in manufacturing, most operations are performed by various tools and machines that are monitored by workers. This isn’t the case in software-development projects, where a person has to make use of his or her ability to complete the task.
Improvements in the abilities of the people working on a project can bring significant benefits for a company, so it’s important for software firms to put emphasis on improving the abilities of the individuals and on retaining their top talent, while they make investments in process improvements.
To summarize, because software-development is person-dependent and the manufacturing industry is process-dependent, and because Six Sigma is more process oriented, Six Sigma will have much less impact on software development than it does on manufacturing.
Sign In to get started!