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.