Topic: programmer productivity

topics > computer science > programming > Group: software engineering

software maintenance
testing and evaluating user interfaces

command language
experimental results on programming
interactive response time
programming environment
software management
software metrics
team programming


Programmer productivity varies widely across projects, tools, and individuals. Interactive programming and high-level programming (e.g., scripting) increase productivity. Small modules and incremental changes help. Memory and time constraints decrease productivity. (cbb 4/98)
Subtopic: programmer variation up

Quote: software tools and processes often have 10x less influence than project size, developer capability and experience [»gravTL5_2001]
Quote: normalize for developer differences by comparing developers with similar number of changes, whether or not they use a software tool or process; e.g., select from thousands of modification request records
Quote: choice of tester was a larger factor in test effectiveness than was the choice of test technique [»lautL6_1989]
Quote: up to 20x differences in programming time for experienced graduate students [»precL10_1999]
Quote: operator interaction software changed 150K times by 549 programmers; top 50 programmers made majority of changes, top 2 made 7% of changes [»eickSG4_2002]
Quote: while top 1% of developers contributed 90% of added lines, only 3 core developers in top 15 problem reporters; system testing by Apache users [»mockA7_2002]
Quote: up to 30x performance ratio between the median programs of the upper and lower half
Quote: wide variation in team productivity; 50x range [»potoTE10_1999]
Quote: individual differences have a greater effect on performance than Java vs. C/C++
Quote: experienced programmers vary by an order of magnitude for most performance variables [»sackH_1970]
Quote: statistics over a 12-year period show a 200:1 variation between the top programmer and the poorest programmers [»bryaGE_1994]
Quote: the process has little effect on software inspections; most variation due to the reviewers, the code size, and its functionality [»portA11_1997]
Quote: in all studies of programming, individual differences in performance overshadow computer system differences [»weinGM1_1974]
Quote: while a quick reading of Sackman's paper gives 28:1 programmer variability the true figure is more 5:1 [»dickTE7_1981]
Quote: Sackman's programmer productivity experiment found 25:1 variation between best and worst programmer and 5:1 typical variation [»fairRE_1985]
Quote: Strachey's first program was 20 pages long; after fixing a couple of errors, it ran to completion and played "God Save the King" [»campB4_1980]

Subtopic: programming level up

Quote: raising the level of programming should be the single most important goal of a language. It has a large effect on productivity
Quote: ABC programs are a quarter or a fifth the length of Pascal/C programs; e.g., FOR line IN document: PUT max{longest; #line} IN longest; faster development [»pembS1_1987]
Quote: scripting languages can develop gluing applications 5 to 10 times faster than a system programming language [»oustJK3_1998]
Quote: despite primitive on-line computers and Forth's oddness, Forth can be more productive than fully supported mainframes [»rathED_1996]
Quote: 2-3x shorter programs for scripting languages such as Perl; more comments [»precL10_2000]
Quote: programmers 2-3x faster with script languages [»precL10_2000]

Subtopic: effect of programming language up

Quote: Autocode reduced programming and testing time by up to a factor of one hundred
Quote: no difference in productivity for procedural vs. object-oriented development
Quote: except for Rexx and Tcl, all programming languages had very fast and very slow programs [»precL10_2000]
Quote: compiled languages most memory-efficient while Java least memory-efficient; script languages overlap the worst half of the compiled languages [»precL10_2000]
Quote: the primary purpose of a programming language is to help the programmer [»hoarCA_1974]

Subtopic: development environment up

Quote: Multics development dramatically improved once development moved to Multics (after four years) [»corbFJ_1979]

Subtopic: rapid development up

Quote: more than 75% of all changes to software took a day or less to make; large changes were infrequent [»weisDM2_1985]
Quote: synchronize and stabilize -- evolve designs interactively with frequent synchronization and periodic stabilization [»cusuMA10_1999]
Quote: synchronize and stabilize works well for rapid, flexible software development; interviews at Netscape and Microsoft [»cusuMA10_1999]
Quote: given the same time budget, novice StreamBit users (sketching) produced 2.5x faster cipher code than experienced C coders; competitive implementations of DES and Serpent [»solaA6_2005]
Quote: a sketch is a partial specification of an implementation; rapid evaluation of sophisticated implementation ideas; easier to write, no low-level details, rejects buggy sketches [»solaA6_2005]

Subtopic: deadlines up

Quote: business deadlines strongly influence overall productivity; large versions under deadline more productive than incremental versions [»potoTE10_1999]

Subtopic: pair programming up

Quote: two programmers completed tasks 40% faster than one programmer; better algorithms and code [»willL7_2000]

Subtopic: maintenance, development, porting up

Quote: porting is significantly faster than new development
Quote: bug fixes were 50% more difficult than new code, structure improvements, or code inspection suggestions [»atkiDL7_2002]
Quote: bug fixes are 26% more difficult than new functionality of similar size [»gravTL5_2001]

Subtopic: QA vs. development up

Quote: Microsoft probably has one to two testers for every developer in the company

Subtopic: parallel vs. sequential development up

Quote: programmers were more efficient maintaining three COBOL programs simultaneously than three programs one at a time [»grigPF3_1972]

Subtopic: automation up

Quote: bound the variabilities to minimize production costs and automate software generation [»coplJ11_1998]

Subtopic: code decay up

Quote: statistically significant evidence for code decay; a change requires 20% more effort than a similar change a year before [»gravTL5_2001]

Subtopic: testing productivity up

Quote: test programmer productivity with the Coding War Games; work in pairs from same specification, exchange programs for testing after desk-check and compilation [»demaT5_1989]
Quote: programmers who did not use large modules had 38% fewer defects and were nearly twice as likely to pass the acid test [»demaT5_1989]
Quote: estimate effect of using a tool by recording tool usage, comparing it to change history, analyzing similar developers and modifications with a change effort estimation algorithm [»atkiDL7_2002]

Subtopic: effect of size up

Quote: programming effort proportional to log of size
Quote: the developer and type of change effected effort, but size of change did not; small changes such as MRs are more uniform in size than releases or features [»atkiDL7_2002]

Subtopic: software vs. hardware costs up

Quote: programming and debugging costs exceeded computer costs; led to FORTRAN, Speedcoding, floating point hardware, and index registers [»backJ_1980]

Subtopic: editing productivity up

Quote: Version Editor users were 40% more productive than text editor users on files with version markup via preprocessor directives; big effort saving [»atkiDL7_2002]

Subtopic: specification productivity up

Quote: 17 man-months to write requirements for a working A-7 flight program with tight memory and time constraints [»heniKL1_1980]

Subtopic: hypertext productivity up

Quote: ZOG networks are time consuming to create; about five frames/hour

Subtopic: statistics up

Quote: a large programming group may produce instructions at 3 per man day with many errors; why so low? [»bateD_1976]
Quote: the average designer of very large, real-time software produces 3 to 5 KLOCs a year
Quote: a Cleanroom project developed 107 KLOCs in 3 increments; 50 people, 2.6 errors/KLOC and 486 LOC/developer/month [»lingRC5_1993]
Quote: 1000 UNIX systems even though it was developed by two people in an attic in a year [»kernBW1_1979]
QuoteRef: bakeFT12_1973 ;;61 chief programmer team--information system for NY times 83000 lines of language source in 11 man-years (over 2 years) first error after running two years, had only 11 errors all told
QuoteRef: bakeFT_1972 ;;342 NY Times system 83k lines 21 errors found in acceptance testing and 25 errors found during operation took 125 man-months

Related Topics up

Group: software maintenance   (14 topics, 368 quotes)
Group: testing and evaluating user interfaces   (9 topics, 262 quotes)

Topic: command language (23 items)
Topic: efficiency (96 items)
Topic: experimental results on programming (75 items)
Topic: interactive response time (32 items)
Topic: programmers (15 items)
Topic: programming environment (46 items)
Topic: software management (28 items)
Topic: software metrics (32 items)
Topic: team programming
(7 items)

Updated barberCB 11/04
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.