Wednesday, March 21, 2007

Jerry Landsbaum's Metrics - Measuring and Motivating Maintenance Programmers

Jerry Landsbaum wrote the book of his life in 1991/2. It reported on about 6 years of work at Monsanto - where they took a 'backwater' - the CIS maintenance programming area where new work was 'frozen' - and not only kept it viable, but got their management to appreciate them and their efforts.

Quote (p58, Section 3.3: What we Accomplished)

If we had no improvement in productivity, and had simply experienced the increases in salaries over that period, the cost to support a module in the fifth year would have been $1,232.

If we multiply this by the number of modules supported in Year 5, the budget would have been $11,400,000. This amount less the actual budget of $3,200,000 is a saving to Monsanto of $8,200,000. This alone proved our worth to our management, but we went further.

As a result of giving the staff greatly increased accountability, they generated over $600,000 in savings due to various projects they initiated.


CIS evaporated when Monsanto was taken over.
Jerry retired then and pursued his love of Jazz Music before passing away in 1999.

Jerry's work life started as a Mechanical Engineer for a railroad company - he knew what it took to deliver safe, sound, reliable and cost-efficient systems. He understood that Quality is a mindset, that it pervades every activity and comes before anything else. There's no point in building something if it's not going to stand up! There's no point in writing programs if they don't produce correct results. There's no point in offering business systems if they're not available when they're needed...

Jerry defined a set of metrics, in business terms, they provided to their management in their annual report. Excerpts follow.




Section 3.3 "What we Accomplished"



PATHVU Software Complexity Scores


Average Score
ComplexArchitectureMaintainNo PgmsAverage Lines of Code
Year 51049315735211372
Year 6969214544821465
Percent change-7.6%-1%-7.6%27.00%6.80%
MSA adds761091454561190
New programs76501005151500
Deletes10
AOB Year 51901272351743,418
AOB Year 6158971911983.25
Percent change-17.00%-24.00%-19.00%14.00%-5.00%



CIS Statistics


Basic Statistics

Year 4Year 5Year 6
Programmer-Analysts (P-A)353131
Management665
Secretarial322
Total staff size443938
Expenses, w/o 0/H(2), $MM/year(3)$3.80$3.50$3.20
Overhead, $MM/yearNA$1.80$0.80
Total expenses$3.80$5.30$4.00
Number of modules supported8,950(4)9,2509,775
Number of programs supported4,3004,9504,950
MM lines of code5.45.45.75
$MM of inventory @ $25$135$135$144
Average lines per module(5)604584590
Programs moved to production4,4005,5256,760
Compiles/year, batch40,00030,16325,342
Compiles/program/year, batch9.36.15.1
Batch processings/year45,00043,76359,864
Abends/year, batch(6)2,4001,7151,971
Contractors/professionals(7)0.40.40.2
Systems supported10610090
Jobs supported2,1002,2501,825
On-line programs1,0001,2001,255
Transactions/year (MM)39.64546.5
Repairs (emergency)1,4001,000977
Enhancements1,0651,000732
Consultations8,10011,40010,377
Staff utilization percent64.90%73.80%69.70%



2 w/o 0/H = without Overhead (the cost of upper management, flowed to all appropriate departments below).
3 MM = Million.
4 1 stack of paper 67 feet high, stretches out to 25 miles.
5 Modules = programs + .JCL files + data files.
6 Abend = abnormal program termination (did not run right)
7 Professionals = Programmer-Analysts + Managers.
8 P/A = Programmer-Analyst.





Quality Indicators
Year 4Year 5Year 6
Abends/batch production run0.0530.0390.033
Abends/month/production module0.0230.0150.017
Abends/month/programmer-analyst5.74.65.3
PATHVU maintainability scoreNA157145




Productivity Indicators
Year 4Year 5Year 6
Modules supported/staff member203237257
Batch processings/P-A(8)128614121931
Transactions/year (MM)/P-A1.131.451.5
Repairs (emergency)/P-A403232
Enhancements/P-A30.432.323.6
Consultations/professional198308288
Production moves/module0.50.60.7
Programs to production/month/P-A10.514.918.2
Compiles per P-A, batch1,150973817
Compiles/program moved, batch9.15.53.7
Maintenance cost/year/module$425$378$327
$MM inventory/professional$3.3$3.6$4.0



Basics - Percentage Changes
Year4/Year5Year5/Year6Year4/Year6
Programmer-Analysts (P-A)-11.40%0.00%11.4%
Management0-16.7-16.7
Secretarial-33.3033.3
Total staff size-11.40-2.6-13.6
Expenses, w/o 0/H, $MM/year-7..9-8.6-15.8
Overhead, $MM/yearNA~-44.4NA
Total expensesNA-24.5NA
Number of modules supported3.45.79.2
Number of programs supported15.1015.1
MM lines of code06.56.5
$MM of inventory @ 82506.76.7
verage lines per module-3.3-1.0-2.3
Programs moved to production25.622.453.6
Compiles/year, batch-24.6-16.0-36.6
Compiles/program/year, batch-34.4-16.4-45.2
Batch processings/year-2.736.833
Abends/year, batch-28.514.9-17.9
Contractors/professionals0-50.0-50.0
Systems supported-5.7-9.0-14.2
Jobs supported7-18.9-13.1
On-line programs204.625.5
Transactions/year (MM)13.63.317.4
Repairs (emergency)-28.6-2.3-30.2
Enhancements-6.1-26.8-31.3
Consultations40.7-9.028.1
Staff utilization percent13.7-5.67.4



Quality Indicators - Percentage Changes
Year4/Year5Year5/Year6Year4/Year6
Abends/batch production run-26.4-15.437.7
Abends/month/production module-34.813.3-26.1
Abends/month/programmer-analyst-19.315.2-7.0
PATHVU maintainability scoreNA-7.6NA
Modules supported/staff member16.78.426.6
Batch processings/P-A9.836.850.2
Transactions/year (MM)/P-A28.33.432.7
Repairs (emergency)/P-A-20.00-20.0
Enhancements/P-A6.3-26.9-22.4
Consultations/professional55.6-6.545.5
Production moves/module2016.740
Programs to production/month/P-A41.922.173.3
Compiles per P/A, batch-15.4-16.0-29.0
Compiles/program moved, batch-40.032.759.3
Maintenance cost/year/module-11.113.523.1
$MM inventory/professional9.111.121.2


CIS Annual Report


II. MANAGEMENT SUMMARY



A. Organization Profile and Metrics



StaffMonthly average
Managers6.25
Professionals33.50
Secretaries2.25
Co-ops4.75
Contractors12.00
Per Diem1.00
Total59.75




Staff movementfor the year
Promotions, In4
Promotions, Out1
New Hires5
Lateral, Out10
Lateral, In4
Terminations3
Co-op Terms10
Charge-out Rate96.60%


B. Business Profile and Metrics



Quantity
Major Business Groups Supported65
Systems100
Jobs2,250
Programs4,950
All Modules9,250
Lines of Code5,400,000
Replacement Cost$135,000,000
On-line Transactions45,000,000
Asset Dollar Responsibility$26,000,000,000


C. Business Results and Metrics



Number of OccurrencesMan-daysDollars
Emergency Calls1,000600$270,000
Consultations11,000800$370,000
Miscellaneous items2001,050$560,000
Enhancements1,0004,200$2,000,000
Totals13,2006,650$3,200,000
CISS-initiated Cost Savings33$570,000





No comments: