Software Productivity - Whatever Is It Good For?


"Absolutely nothing!" is Springsteen's answer. But then, the question he asked was about war, not software.

For software productivity, the answer is quite the opposite.  Productivity is good for the important things in life.

The Two Benefits of an Objective, Accurate Measure of Application Productivity

1) A well-designed application productivity metric is the most effective management metric you can have. It enables you to set targets and manage course and speed to the target.

For example, if you have historical productivity data in function points per staff month, you can use the present cumulative cost and time spent on a development project in flight to assess if the budget and schedule will be met. This is an example of a metric that enables you to change course mid stream. Compare it to the usual "rear view" metrics you have that are very good at measuring how badly things went wrong after the fact!

In contrast, productivity helps you prevent bad results. If cost is higher than it should be at a certain point during the course of the project, managers can convey precise information to their teams or outsource partners. The guidance is precise: the exact number of function points per staff month that productivity must improve to meet budget and schedule.

Because function point recounts are virtually cost free with CAST, managers can have an accurate measure of productivity throughout the course of the project. Once productivity improvement targets are set and activities and processes are altered to hit these targets, subsequent measurements can quickly quantify the effectiveness of these improvement efforts.

Data from Capers Jones ("Overview of the United States Software Industry Circa 2009") can be used to initially set productivity rates.

Data from Capers Jones. Software Productivity in 2009 by Application Type, Size, and Industry Sector
Data from Capers Jones. Software Productivity in 2009 by Application Type, Size, and Industry Sector

2) A well-designed productivity metric is the single best indicator of process inefficiency. Because function points enable apples-to-apples comparisons across applications, technology stacks, business divisions, and teams, similarities or differences in productivity along these dimensions become instantly visible. More productive on Corporate Admin applications than Sales applications? Team A much more productive than Team B? How do SOA applications compare with Mainframe applications in terms of enhancement productivity? The productivity metric instantly highlights such discrepancies.

Differences in Productivity
Differences in Productivity

Once identified, the next step is process improvement. Productivity metrics can be applied at different levels of process detail -- to a large process like release management, or to a much more focused aspect of release management -- production readiness. A change in productivity in response to a process change is the best measure of the effectiveness of that process change. This gives managers more information about how to prioritize process improvement efforts.

Keeping track of software productivity puts you back in control.  Enjoy it and use your power wisely!

Filed in: Technical Debt
Load more reviews
Thank you for the review! Your review must be approved first
You've already submitted a review for this item