DocumentCode
1886925
Title
Not all programmers are created equal — Redux©
Author
Bryan, G. Edward
Author_Institution
GEB Software Technol., Pacific Palisades, CA, USA
fYear
2012
fDate
3-10 March 2012
Firstpage
1
Lastpage
10
Abstract
Data that measures individual programmer performance was gathered over a 12-year period in a stable work group responsible for developing and supporting a single 4.2-million-line-code operating system including associated program products, compilers, communication systems, and database systems. Analysis shows a wide variation in productivity from best- to poorest-performing individuals. A single programmer out of a workforce of almost 200 did Eight percent of the work. A variation of 200:1 separated the top programmer from the poorest performers. The top 27% of programmers did 78% of the work. This paper updates and comments on the original 1994 paper, answering questions that readers have raised in the intervening years. The prior paper had a wide following: 240,000 IEEE Xplore citations and 8900 web hits. The programming environment was stable and uniform over the time period: education, training, general ability level, work environment, development tools, and methodology were all the same or similar. The development lab was remote from company headquarters and thus largely isolated from outside distractions and influences. Programmers typically were concurrently responsible for both maintenance of existing code and development of new functions, often for the same code module(s). The average productivity of the group is several times higher than industry averages and this fact is demonstrably not caused by excessive documentation or verbose code; both were efficient in comparison to similar systems. The wide variation in productivity is apparently due to individual ability. Training, tools, methodology, and education, while important, cannot make up for individual ability. To get an accurate project plan the extremely wide range of variation in individual productivity must be taken into account. A project can only be on time and on budget if the widely varying abilities of the staff are taken into account. One person, 2 people, or 20 people depending on individua- ability may properly staff a project.
Keywords
DP industry; computer science education; operating systems (computers); productivity; program compilers; programming environments; project management; software maintenance; IEEE Xplore citation; Redux; best- to poorest-performing individual; code maintenance; code module; communication system; compiler; database system; development tool; education; function development; general ability level; line-code operating system; productivity; program product; programmer performance; programming environment; project; training; work environment; work group; Computers; Databases; Educational institutions; Maintenance engineering; Operating systems; Productivity;
fLanguage
English
Publisher
ieee
Conference_Titel
Aerospace Conference, 2012 IEEE
Conference_Location
Big Sky, MT
ISSN
1095-323X
Print_ISBN
978-1-4577-0556-4
Type
conf
DOI
10.1109/AERO.2012.6187328
Filename
6187328
Link To Document