SCIENCE
Turn Up the Schedule Pressure, Improve the Quality, Says O.R. Study
LINTHICUM, MD -- In an effort to improve product quality and discourage ill-conceived short cuts, a researcher recommends that already stressed software developers set tighter deadlines, according to a study published in a journal of the Institute for Operations Research and the Management Sciences (INFORMS®). The study, "The Effects of Time Pressure on Quality in Software Development: An Agency Model," by Robert D. Austin of the Harvard Business School, appears in the current issue of Information Systems Research, an INFORMS publication.
It models the behavior of software developers as they weigh concerns about product quality against concerns about damaging their careers by missing deadlines.
A Shortcut that Shut the Plant
Developers' efforts to satisfy clients by bringing a project in on time can lead to last minute shortcuts with disastrous effects, says Prof. Austin.
He cites a manufacturing company where developers were working toward a deadline for installing software in a new plant. They realized that the software would be critical to plant operations and that failures would be expensive. But when the team ran late on the project, they chose a shortcut they knew would eventually crash the system, but after their role became less obvious. They met their deadline - and a few months later, the software failed exactly as anticipated. The resulting unplanned shutdown was more expensive than a delay in installation would have been.
Biting the Bullet
Developers who care about quality but fear the career impact of missing individual task deadlines usually try to reduce this risk via their deadline setting policies, says the author. A common method involves adding slack to best estimates when setting deadlines to alleviate time pressures believed to encourage shortcuts. The author argues against this practice and instead offers three observations:
1. Adding slack does not always preserve quality; therefore systematically adding slack is an incomplete policy for minimizing costs;
2. Managers minimize costs by adopting policies that separate estimates of completion dates from deadlines; and
3. Contrary to casual intuition, shortcut-taking can be eliminated by setting deadlines aggressively, thereby maintaining or even increasing the time pressures under which developers work.
The benefit of separately setting deadlines and estimating task duration, says Prof. Austin is 1. improving planning with accurate estimates of task duration and 2. motivating developers by setting deadlines that force them to stay focused. The author used game theory and an approach called an agency framework to model the problem. Agency situations arise whenever one person relies on another to do a job. The issue is one of control, because the developer or worker - in effect an agent - acts in ways that are not observable to the manager.
The author relied on a game set-up to identify the situations in which it is not to the agent's advantage to take short cuts. The analysis yields a counter-intuitive message for management: choose deadline-setting policies so that unachievable deadlines are more, not less likely. The rationale for this policy is that if missed deadlines are common then there is little stigma associated with missing deadlines and less incentive to take quality damaging shortcuts. Rules of Thumb
As a rule of thumb, he suggests:
1. Add slack systematically to raw estimates to get corrected estimates that will be used in planning.
2. Subtract time systematically from best estimates to arrive at deadlines that will serve as behavioral objectives for developers. Organizations can (and do) accomplish this separation of planning estimates and deadlines by the way they frame deadline-setting policies, for example depicting deadlines as stretch goals that few developers regularly meet.
Paradoxically, says the author, software developers that habitually miss deadlines may produce better long-term results than their apparently better managed counterparts that rarely miss deadlines.