Reading: Software Engineering Under Deadline Pressure, by Scott H. Costello
An 1984 paper that models the time it takes to complete a project, and show what happens when you pull are up against bad deadlines. The answer will not surprise you!
I love seeing software development modeled as an equation, and this paper gives a great one.
Time = ( work_to_software + work_towards_planning ) / ( productivity_per_person * people )
This list comes with a half dozen caveats, all on how these numbers are not independent.
The fun part is the next section, which goes over the four options to decrease Time by fiddling with each of the variables. Costello argues that the one that is most likely to be carved up with is work_towards_planning, because it the one that is hardest to measure the effects of.
The rest of this short paper is devoted to examining the effects and exploring options to keep “planning work” a high priority, via incentives and keeping those activities (or lack of) highly visible.
The conclusion is ever-green.
Of course, the ultimate solution would be to eliminate deadline pressure altogether. Accurate estimation of the resources required to complete a software project would help in this regard . But better estimates would not eliminate deadline pressure, since the greatest determiner of deadlines has always bee n organizational politics. As Celko [3] noted, the truth is that many project managers are not allowed to estimate a project: Top management simply tells them what they will do and with what they will do it. Other shops are a little more democratic with their non-estimates; the project leader gets to bargain a bit." Deadline pressure is here to stay, and the success of software engineering will depend on strategies that compensate for its presence .
Proper citation: Costello, Scott H. 1984. “Software Engineering Under Deadline Pressure.” ACM Sigsoft Software Engineering Notes, 9:5 October: 15–19.