Software development that’s done under pressure often turns into a train wreck. Managers pressure project leads and developers for aggressive estimates. Project leads and developers comply. The earliest that a task can possibly be completed magically turns into a commitment. Anything that looks remotely like slack gets taken out of the plan. Long hours ensue. And the slightest hiccup—there is always a hiccup—can throw everything into chaos.
The effect can be hard to describe to people who haven’t experienced a thrashing project. Everything seems to be under control, and then, suddenly, it’s not. Things that shouldn’t get gridlocked get gridlocked, and the gridlock spreads.
A good illustration of this comes to us from the Mathematical Society of Traffic Flow. Tom Vanerbilt, author of Traffic: Why We Drive the Way We Do (and What It Says About Us) uses this video in his talks. (No cars were harmed in the film that follows.)
Watch it again. Can you point to any one cause for the stopped traffic? I’ve watched this video several dozen times, and the best I can say is that I see people trying to adjust. The problem always seems to be upstream of wherever I’m about to place the blame.
Now in place of cars, think of little boxes on a Microsoft Project PERT chart, with dependent tasks lined up tightly behind them. (Tom explains that the spacing between cars is minimal according to traffic engineers; what looks like slack in the video isn’t.) Now imagine people doing their best to push their tasks forward, with little room for error. Even if nothing goes wrong, things won’t run as smoothly as the project plan seems to promise. And something will go wrong.
Imagine also a manager confidently claiming that if the team would only drive faster, all lost time could be made up for.
One way out is to allow for some slack in the schedule, because things will go faster when you do. There’s more reasoning behind this in Tom DeMarco’s Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency, which is a good book to have read when you next find yourself managing under time pressure.