Interesting Statistics – Part 2
I’ve been considering adding a feature to Codelyzer to assist with calculating function points (FP) in RPG programs, and as part of that I’ve been reading “Applied Software Measurement, Global Analysis of Productivity and Quality” by Capers Jones. As always, Mr. Jones writes very clearly and provides a great deal of interesting and to the point information.
Much of the statistical reporting and analysis in the book is based on the function point unit of measure. (For those of you not familiar with function points, I will write an explanation of them in the near future.) Calculating the number of function points in an RPG program has a number of aspects to it, however, there is a shortcut method called “backfiring” that has been widely used for years, though it has a large margin of error. Backfiring is a statistical derivation from empirical evidence that approximates the function point count by a simple ratio applied to the lines of code count (LOC). Each language has its own ratio. I have seen backfiring estimates for RPG range from 80 LOC per function point to 120 LOC.
“RPG”, of course, covers a lot of territory, from RPG I to RPG/Free, but to keep it simple let’s say we have a ratio of 100 RPG LOC to one function point. A large RPG application may have 1,000,000 LOC which would translate to 10,000 function points. With that in mind here is a table of various facts I have extracted from this book for business applications with data for systems sized at 1,000 and 10,000 function points:
| Measurement | 1,000FP | 10,000FP |
| Probability of project cancellation to create new software or enhancements | 17% | 45% |
| Average software life expectancy in years | 6 | 11 |
| Average rate of annual enhancements (measure in FP) | 6.5% | 7.0% |
| Average development cost per FP | $570 | $2012 |
| Potential defects per FP | 5 | 6 |
| Defect removal efficiency before delivery | 85% | 81% |
| Delivered defects per FP | 0.75 | 1.14 |
| Average number of delivered defects | 750 | 11,400 |
| Average number high severity defects delivered | 140 | 3078 |
| Best in class productivity – FP/staff-month | 50 | 15 |
I should point out that these figures are for “MIS” systems, as defined by the author; other system types measured are Web, Commercial, Military, etc.