The Economics of Software Product Development

The Economics of Software Product Development

Download PDF

What actions can I take that will have an immediate and lasting positive impact on my development project(s)?

There are also some strategic (longer term) capital investments we can make and some process improvement policies we can adopt that will have a large impact on reducing cycle time, cutting costs, and increasing quality on future projects. The benefits of these actions can be quantified through the notion of process productivity.

Process Productivity

Process productivity (Productivity Index or PI), as developed by QSM, represents the level of an organization’s software development efficiency applied to a particular application domain. The PI is derived from the constant of proportionality in a metric that relates three of the four key management measures: size, effort (peak staff or cost), and cycle time (schedule). PI is also closely coupled with product reliability (the fourth key management measure).A lower PI, given constant size and cycle time, significantly increases the required peak staff. QSM’s 4000+ project database shows that product reliability is a monotonically decreasing function of staff size; therefore, a lower PI, given constant size and cycle time, significantly increases the number of defects that must be found and fixed in the resulting product.

Tactical Action

Short term, we can influence cost and quality by how we staff projects. The key is to employ small teams taking a little bit longer to produce a much higher quality product at much less cost. The graph (below) shows the dynamics of this relationship. MTTD stands for Mean Time to Defect at the point in the development process where full functionality exists with 95% of the total defects discovered.

The Economics of Software Product Production

 

Strategic Action

Long term, we must invest in a process improvement program.  We need to measure the current state of our process, determine its weaknesses, and invest in methods, tools, and training designed to correct those weaknesses.  We need to re-measure the process regularly to determine the direction and magnitude of progress.  Measuring the PI on each completed project and plotting the results as a function of elapsed calendar time is a good way to quantify direction and magnitude.

Low PI values generally are associated with poor project management, poor working environments, poor processes (task flow, methods, tools, skills/expertise), high requirements volatility, high product complexity, severe product and project constraints, and/or high required reliability.  Improving these attributes improves process productivity.

Static (or worse yet, declining) process productivity perpetuates the dilemma that results in trading cost and quality for schedule.  Instead of robbing Peter to pay Paul, we must improve process productivity in order to reduce cycle time and reduce cost and improve quality.