You Need the Right Map to Know 
Where You're Going With Process Improvement


Doug Putnam
QSM Vice President

The Issue

Over the last 5 years the Software Engineering Institute (SEI) has focused attention on improving the process by which software is created. But how rapidly is development productivity really increasing?

Every week a trade publication showcases new tools or revolutionary methods that are supposedly a quantum leap forward for software developers. The early adopters of these technologies assume the latest map is accurate, and off they go. The proposed benefits rarely live up to expectations, but over time the technology is assimilated and some benefit is derived. The commercial managers who fund software process improvement want a return on their investment. At QSM we have found that most organizations have no base line for comparison and no methods for determining their ROI. (No wonder they have trouble getting development budgets approved!) In this piece we concentrate on showing the average rates of improvement in software development over the last 20 years.

Our Method

Using the QSM database of over 4,000 completed projects, we extract all the business systems completed between 1976 and 1996, then sort the projects into four 5-year time periods spanning 20 years. Each time period roughly corresponds to a hardware-software generation. For each time period we calculate the average Productivity Index (using QSM's software equation relating size, time and effort) and the average SLOC (Source Lines of Code) per person month. We plot these vs. calendar time to show the average rate of improvement. Then we use our SLIM (Software Life-cycle Model) forecasting algorithms to quantify the benefits of a typical project with the average process characteristics in each of the 4 hardware-software time zones.

The Results

Average Productivity Index vs. Time

Our data show a regular increase in the Productivity Index (PI) over the 20-year period. The average PI for the 1976-80 time period was 12.6. Twenty years later the average improves to 16.9. The PI actually represents an exponential scale. One PI increase realizes about 10% schedule reduction, 25-30% effort and cost reduction and 20-25% defect reduction.

Average SLOC/PM Over Time

For our calculation we use all the effort expended from requirements through delivery to the customer, plus all the new and modified software in the release. Average productivity increases from 616 to 1369 over the 20-year period. The average rate of increase is almost 50 SLOC/PM per year.

Process Improvement Benefits

To quantify the benefits of a typical project we use our SLIM forecasting algorithms with the average PI for the time period and a typical size of 80,000 new and modified lines of code. The graph shows the time, effort and staffing savings for our typical project. Over the 4 time periods the schedule has been reduced by 32%, effort by 76% and staff by 60%. Or, in annual terms: schedule has come down about 1.5%, effort 3.8% and staffing 3%. These improvement rates are similar to what is experienced in other design-intensive enterprises.

Additional Functionality Built With the Same Time and Effort

Instead of taking benefits in terms of schedule and cost reduction, we can think in terms of additional functionality that could be delivered if we kept the team size fixed at 15 people and the time period at 25 months. This chart shows that such an organization could deliver 80,000 ESLOC in the late 1970's. This would increase to 220,000 new and modified lines of code in the early 1990's -- a 175% increase, or about 9% per year.

Process Improvement Strategies

This analysis shows we are making real headway. But if you don't know where you are, or how you got there, then any map will do. So, drive a stake in the ground, start to measure, and get your process improvement plan in motion. Soon you will be able to quantify the improvements in your company. This will help you build the business case for process improvement, free up capital, and accelerate your improvement efforts.