Development Study: Haste Makes Waste
By: Linda Hayes
One of the supposed truisms of software development is that out of three attributes -- fast, good and cheap -- you can pick only two. Turns out the data from a recent research project says otherwise. Spending more money makes little difference in speed and actually reduces quality.
Quantitative Software Management (QSM) maintains the most comprehensive database of software development project metrics that I know of, including over 7,200 projects spanning almost 30 years. Its data comes from its own projects as well as the repository of an estimation product called SLIM. These projects are 58% IT projects (finance, human resources, etc.), 28% engineering (scientific, process control, etc.) and 14% real-time embedded systems (firmware, hardware controllers, etc.).
Although I haven't used it yet, SLIM first came to my attention when a customer told me in total amazement that her planned six-month project was projected to be three months late by the SLIM model. Her management dismissed this projection, of course, but she quietly kept track of the project anyway ... only to discover it accurately predicted the final delivery within a two-day margin! Accurate estimating is one of a Holy Grail of software development, and what I like about the SLIM approach is that it's based on experience, not theory.
Anyway, QSM recently repeated a study it did in 1996 to measure the effect of adding resources to compress a delivery schedule. This is a common reaction to being in a hurry or panicking over delays: Think fast and good but not cheap.
It studied small teams (five or fewer resources) and large teams (20 or more resources) developing between 10,000 and 200,000 lines of code and took a number of measurements including lines of code developed, schedule progress and defect creation. What it found wasn't a surprise, because the results simply confirmed the 1996 findings, but they should surprise you.
The difference between a large team (29 resources) and a small one (2.5) developing 40,000 lines of code was only about 12 calendar days earlier delivery! It took 191 person-months of resources for the large team and only 40 person-months for the small team. The difference at $12,000 per person month was $1.8 million. Now of course that results in a business decision: If 12 days of product availability is worth more than $1.8 million, it may be worth the investment. But it is worth doing the math.
One reason for the nonlinear productivity was explained by the fact that large teams produced more than six times as many defects as small ones, which took additional time to discover, fix and retest. So adding 11.6 times as many resources produced an increase of six times as many defects ....
... to read more articles, visit http://sqa.fyicenter.com/art/