Personnel Factors

One of the most replicated results in software engineering research is the significant productivity differences among individual software developers. In the first study on the subject, Sackman, Erikson, and Grant found differences of more than 20 to 1 in the time required by different developers to debug the same problem.[1] This was among a group of programmers who each had at least seven years of professional experience.

This basic result demonstrating at least 10 to 1 differences in productivity has been reproduced numerous times, but I think it understates the real productivity differences among practicing programmers. Tom DeMarco and Timothy Lister conducted a coding war game in which 166 programmers were asked to complete the same assignment.[2] They found that the different programmers exhibited differences in productivity of about 5 to 1 on the same small project.

In a study with similar findings, Bill Curtis presented a group of 60 professional programmers with what he characterized as a "simple" debugging task.[3] Curtis observed order of magnitude differences among the programmers who were able to complete the task.

More confirmation for the observation that personnel capabilities vary greatly comes from the Cocomo II estimation model.[4] The Cocomo II model uses numerous factors to adjust a base effort estimate. The effect of each factor has been calibrated using extensive statistical analysis of the Cocomo II project database. Seven of the Cocomo II model's 22 factors are related to personnel.

According to the Cocomo II model, the project team's applications-area experience exerts an influence on the project cost and effort of 1.51. In Cocomo-speak, that means that a project team with the least experience (bottom 15 percent) in an applications area will require 1.51 times as much effort to complete a project as the most experienced team (top 10 percent), all other factors being equal. The team's experience with the technical platform exerts an influence of 1.40, and experience with the programming language and tools exerts an influence of 1.43.

Requirements analyst capability (which refers to how good the analysts are, as opposed to how much experience they have) has an influence of 2.00. Programmer capability has an influence of 1.76. Communications factors (location of personnel and communication support such as e-mail, network, and so on) exert an influence of 1.53. Personnel continuity has an influence of 1.51.

These factors are summarized in Table 15-1.

The seniority-oriented factors alone (applications experience, language experience, and platform experience) exert an influence of 3.02. The seven personnel-oriented factors collectively exert a staggering influence range of 24.6! This simple fact accounts for much of the reason that nonprocess-oriented organizations such as Microsoft, Amazon.com, and other entrepreneurial powerhouses can experience industry-leading productivity while seemingly shortchanging process.

Table 15-1. Personnel influences in the Cocomo II estimation model

COCOMO II FACTOR

COCOMO II NAME

INFLUENCE

Applications experience

APEX

1.51

Communications factors

SITE

1.53

Language and tool experience

LTEX

1.43

Personnel continuity

PCON

1.51

Platform experience

PLEX

1.40

Programmer capability

PCAP

1.76

Analyst capability

ACAP

2.00

Cumulative

 

24.6



Professional Software Development(c) Shorter Schedules, Higher Quality Products, More Successful Projects, [... ]reers
Professional Software Development(c) Shorter Schedules, Higher Quality Products, More Successful Projects, [... ]reers
ISBN: N/A
EAN: N/A
Year: 2005
Pages: 164

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net