How Many Programmers Does It Take To ...
January 29, 2014
How many programmers does it take to maintain an existing code base? I often wonder this and finally broke down and did a little bit of research. It turns out that others have wondered the same thing and some pretty extensive research has been done on it.
Qualifying output of programmers is insanely difficult. So at best, I went into this just looking for a pretty good guide on programmers as a whole.
According to research reported on by Capers Jones -Several metrics are used for maintenance estimation. Two of the more common metrics for maintenance and enhancement estimation include 1) defects repaired per time interval and 2) assignment scopes or quantities of software assigned to one worker.
The defects repaired per time interval metric originated within IBM circa 1960. It was discovered that for fixing customer reported bugs or defects, average values were about eight bugs or defects repaired per staff month. There are reported variances of about 2 to 1 around this average.
The term assignment scope refers to the amount of software one maintenance programmer can keep operational in the
normal course of a year, assuming routine defect repairs and minor updates. Assignment scopes are usually expressed in terms of function points and the observed range is from less than 300 function points to more than 5,000 function points with an average of around 1,000 function points.
Looking at an updated backfire table to convert function points to lines of code, that comes to 50 lines of C++ code per function point on average.
So, on average it takes 1 programmer to maintain 50,000 lines of C++ code per year on average. I'd imagine that programmer quality, original code quality, and other factors could skew this more than 100%- so take it for what it's worth.