Software Development Projects : Person or Process-Centric?

By: V.Viswanathan

Is Software Development projects 'Person' centric or 'Process' centric?

For quite sometime a question that crops up in my mind
Does six-sigma really reap huge benefits in Software Development projects as contested by various persons from different quarters?
Are they as effective as they are in a manufacturing industry?

In my opinion the answer is 'No'!
The amount of savings/benefits that occurs in a software industry due to six-sigma and other process improvement activities may not be really significant.
Indeed I am not really convinced when I see articles/attend session that highlight that Six-Sigma has reaped rich benefits in terms of cost saving... etc in software development projects. I have also come across lot of interesting figures and metrics to prove that six-sigma has indeed resulted in cost savings but I find it difficult to believe them, though some of them might be true.

In some instances, I have seen people intentionally start the project with poor quality assurance processes/activities, then they bring in some improvements in the process during the middle of the project(though they could have done this in the beginning itself), and then compare the results with the initial results and publish that they were successful in implementing six-sigma. I think this is not really six-sigma!

It is something like a person intentionally pushing his friend into a pit, then helping him to come out of the pit and screaming that he has been successful in helping his friend to come out of the pit.

I do not mean to say that six-sigma is not applicable for software development projects. What I am trying to emphasis is by applying six-sigma, drastic benefits may not be achieved as it occurs in a manufacturing industry.

Six-Sigma is mainly applicable to an industry where
1)Operations/ activities are repeated
2)Operations/ activities are identical

Six-Sigma deals with identifying the root cause of the problem through various techniques, finding solution to the problem and implementing the solution. So in order for Six-Sigma to be very effective the operations have to be repeatable and identical.

Having worked in both manufacturing/engineering industries as well as in a software services companies, I strongly feel that six-sigma can be effectively applied to engineering industries wherein repeated operations take place. Applying six-sigma to software development projects, in my opinion may not really produce the desired level of benefits.

The reason:
The way the manufacturing and software industries operate are different.

My main contention is that Six-Sigma is applicable for OPERATIONS (when activities are identical and repeated) and not for PROJECTS
What I mean a project, is that
1)they have a start and end date
2)They produce unique product/results/services

Also when I mention manufacturing industry I am referring to the OPERATION phase i.e. where identical products are produced over a period of time, for ex... Say a factory manufacturing 'steel washers'.

Six-Sigma is generally applied during OPERATIONS phase of a project and not during the development phase of the product.

Let me dig more into this topic:

To successfully perform a quality work in an industry, I feel that it is mainly dependant on the following two attributes:

1) ABILITY of the persons performing the task/activity
2) The effectiveness of the PROCESSES that are to be followed to perform the task/activity.

The contributing factor of each of the above two attribute towards success is different. Please refer to the below table.

Table-A
Attribute DescriptionContributing Factor for success in Manufacturing IndustryContributing Factor for success in Software Development
ABILITY of the person20-30 %70-80 %
Effectiveness of the PROCESSES70-80 %20-30 %

From the above table it is clear that 'ABILITY' attribute contributes more to the success than the 'PROCESS' attribute in a software industry and vice-versa in a manufacturing industry.

I would like to discuss in detail on this:
Pleaser refer to the 'Table-B' which provides a comparison on the way a 'Manufacturing' and 'Software Development Project' operates



Table-B
Item NoManufacturing IndustrySoftware Development
1Operations are identicalOperations are not identical. Operations may be similar across projects but not identical
2Same set of processes for each operationProcesses may be different for different projects, though a few processes may be common across projects
3The variation of the abilities of the worker to perform is minimal i.e. Most of them perform at the same level of effectivenessThe variation of the abilities of the developers to perform is wide i.e. the level of performance is different among the developers

Let me provide more details on the above comparison for each of the Items:

Item No 1 & 2 of Table-B: (PROCESS factor)
In a software industry the operations across the projects may be similar but not identical. You may have the same set of phases i.e. requirement analysis, design, coding, testing and implementation but between projects, the details of each one of them are different.
Of course there may be some similarities.
Hence any activities that you would have implemented to improve the process or solve a problem in one project may not really be valid for other projects and hence not applicable. Also the level of success might be different even if it is applicable. The consistency of success will be not be maintained across projects.

Now let us turn to the scenario in a manufacturing industry which is entirely different. During the OPERATIONS phase a worker performs the same/identical operation again and again, and hence an improvement made in the process is applicable through the operations phase. (I am not mentioning the Development phase as Six-Sigma is generally not applied for this phase)

I had mentioned earlier that PROJECTS produces unique products/services/results, whereas OPERATION produces the same product many times and this is one important reason for the effectiveness of the processes to have a greater impact in a manufacturing industry.
If one could refer to the PMBOK of PMI, the difference between an 'Operation' and a 'Project' can be well understood.

Hence the contributing factor of the 'PROCESS' attribute for the success are different as seen in Table-A

Item No 3: (ABILITY factor)

Now let us discuss about 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 5 years, same skill sets and same kind of training provided, still there will be a huge variation in their performance even when they work on similar kind of activities. For ex: Developer X takes 1 hr to fix a bug where as Developer Y takes 2 hrs to fix a bug. Developer Z may take more hours to fix the same bug. Though all the three possess the same level of skill, education and training such kind of variation is bound to happen in a software project and this is the reason why I say that the success depends on the 'ABILITY' of the individuals working in the project. I hope everyone would have observed this phenomenon.
It is very difficult to bring the 'ABILITY of the individuals' to the same level even if you provide the necessary training. Some amount of variation will always persists with respect to the ABILITIES of the individuals, though the variation can be reduced. I hope those who read this paper would agree to this. And this kind of variations will have a great impact on the success of the project.

Coming to the scenario in a manufacturing industry, the ability of the workers will not really have much impact as it does not involve that much of innovation / mind scratching of their work during the operations phase. ( I would like to emphasis that innovation/ creation of the processes in a manufacturing industry are developed and implemented by a different set of people i.e. the engineers which does not belong to 'operations' phase) The workers need to simply follow the processes strictly. By proper training it is possible to bring the 'ABILITY of the workers' to almost same level, there will only be a slight variation. Hence the 'ABILITY factor of the worker' will have a lesser impact on the success of the project in a manufacturing industry as seen in Table-A

Also the other important difference one can observe is normally in the operations phase of a manufacturing industry, lot of operations are mainly performed by various tools and machines monitored by workers. This is not a case in software development projects where a person has to make use of his ABILITY to complete the task.

Hence from the above I feel that improvement in the ABILITY of the persons working in the project will bring significant benefits in a software project. Hence it is very important for the software industry that while they make investment on process improvements, they should provide more emphasis on improving the abilities of the individuals.

To put it in the right perspective:
Software Development project is 'PERSON' centric whereas the Manufacturing industry is 'PROCESS' centric.

Note:
This article is written by V.Viswanathan working as a 'Quality Analyst' in a reputed software firm in Chennai, India.

Software
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 

» More on Software