Group: software maintenance
Group: testing and evaluating user interfaces
Topic: command language
Topic: efficiency
Topic: experimental results on programming
Topic: interactive response time
Topic: programmers
Topic: programming environment
Topic: software management
Topic: software metrics
Topic: team programming
| |
Summary
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
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
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
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
Quote: Multics development dramatically improved once development moved to Multics (after four years) [»corbFJ_1979]
| Subtopic: rapid development
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
Quote: business deadlines strongly influence overall productivity; large versions under deadline more productive than incremental versions [»potoTE10_1999]
| Subtopic: pair programming
Quote: two programmers completed tasks 40% faster than one programmer; better algorithms and code [»willL7_2000]
| Subtopic: maintenance, development, porting
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
Quote: Microsoft probably has one to two testers for every developer in the company
| Subtopic: parallel vs. sequential development
Quote: programmers were more efficient maintaining three COBOL programs simultaneously than three programs one at a time [»grigPF3_1972]
| Subtopic: automation
Quote: bound the variabilities to minimize production costs and automate software generation [»coplJ11_1998]
| Subtopic: code decay
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
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
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
Quote: programming and debugging costs exceeded computer costs; led to FORTRAN, Speedcoding, floating point hardware, and index registers [»backJ_1980]
| Subtopic: editing productivity
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
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
Quote: ZOG networks are time consuming to create; about five frames/hour
| Subtopic: statistics
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
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)
|