Productivity Gains
through System Dynamics

by Pat Craig

from the Fall 2001 issue
of the Complexity Management Chronicles


In many organizations, a "software crisis" involving cost overruns, late deliveries, and user dissatisfaction, continues unabated. However, the book "Software Project Dynamics - An Integrated Approach," written by Tarek K. Abdel-Hamid and Stuart E. Madnick, offers important insights about solving these problems.

The authors utilized system dynamics, a relatively new field dealing with complex system interactions. As researchers and scholars, the authors engaged in an extensive review of software development literature and conducted 27 focus interviews with software project managers. They then built a system dynamics model of 100 variables affecting software development. Next, they tested their model against a completed software project and found it highly accurate in replicating costs in man-days, work force loading, etc. Using the model, the authors predicted the ramifications of various managerial policies and procedures.

Some of their more important observations and conclusions follow.

A different estimate, i.e. a different project schedule, creates a different project. The schedule has a significant influence on the behavior of the project. For example, developers will work harder if the schedule is tight and will slack off when the schedule is loose.

A more accurate estimate is not always a better one. Due to experience with late deliveries, many development managers add a contingency factor to estimates, padding their original scheduled end date with a few extra weeks or months. The authors discovered that this practice produces more accurate estimates. But, the authors also found that padding dates tends to create more costly projects because the project expands to fill the time available. If you give the developers more time they will take it, whether they need it or not.

Software projects will overrun even a "perfect" schedule estimate. Personnel turnover and staffing wreak havoc with estimates. Furthermore, estimating new projects by comparing them to past ones generates unnecessarily long project schedules. (Past projects could have been plagued with turnover and/or new hires.)

Excessive schedule pressure has a negative impact on productivity. Schedule pressures increase programmers' anxiety levels and anxious programmers tend to make more mistakes. Often the staff will cut corners in response to excessive schedule pressure. Schedule pressure also causes managers to overlap tasks/phases that should be performed in a strict sequential order. For example, overlapping occurs when coding starts before design finishes resulting in more errors.

To meet the deadline, management often hires additional staff. Unfortunately, newly hired employees are less productive and more error-prone than experienced employees. Hiring additional staff causes the project to become compressed in duration and inflated in cost!

Allocating individuals to more than one project increases costs by 22% or more. Individuals must stay informed about the multiple projects to which they are assigned. Consequently, they spend a larger percentage of their day performing communication tasks such as reading emails and attending meetings for those multiple projects. Additionally, that person needs to climb the learning curve on two or more projects. Increased time spent on communication and learning comes at the expense of actually doing their job: developing or testing software.

QA spending can be extreme. The law of diminishing returns holds true when QA spending exceeds 20%-30% of development costs. Given that it is impossible to remove all errors in any sizable program, it makes sense to spend money on QA judiciously. Naturally, required reliability will influence how much should be spent on QA.

In conclusion, we suggest you read this landmark book for other terrific ideas.

©2001 by Complexity Management
Somerville, Massachusetts, in Metropolitan Boston


Complexity Management Chronicles, a newsletter for software quality assurance professionals, is published in print form four times a year. Send your name and snail mail address to the e-mail address below if you would like to be on the mailing list - at no cost to USA mailing addresses.

***********************************************************************

Return to Complexity Management Home
Contact Pat Craig at patcraig@alum.mit.edu .