Saturday, August 25, 2007

Death Race

The plot for the future Jason Statham's movie bears the most similarities to the project stage, which, I recently realized, is an unmistakable benefit of the waterfall development. It occurs at the very end of the project and consists of spasmodic attempts to do last-minute (and often the only) QA, bug fixing, deployment and redeployment. Unlike the "Death March", when the bleeding troops more or less steadily approaching a distant milestone, the Race is usually packed within a very tight timeframe, usually hours, when the client is arriving shortly or CEO is about to drop by between golf games. Nobody can stay sane even if they want to. It is too late to do the right things and it is the time for hacking, shortcutting, patching and failure acceptance. It is even too late for a fresh cannon fodder and asking "Didn't I tell you so?" will bring a deserved wrath on your head.

The worst residue of the Death Race (and the Death March) is a wrong idea that it has actually worked, if the project was small enough to be wrestled into place with some degree of success. Good practices and patterns used during the whole project seem to be unnecessary as they weren't needed for the last-second hackings, so often activists are blamed for time-wasting (which led to the Race, of course). Next time the team will try to undertake the larger task with the same approach. Then it would be a good idea to shake the dust off your resume...

2 comments:

Chris Barrow said...

Are you advocating that we should abandon good agile patterns and practices within a development team itself simply because other departments within an organization follow a waterfall approach and continue to be addicted to this spastic and inefficient way of developing software??

Sometimes the conflict between teams which follow agile and the waterfall teams which support a development process, cannot be avoided.

Since a waterfall approach is entrenched within most organizations (and within our educational system as well), and as a consequence, is defended despite its obvious drawbacks, agile teams should not expect anything more from such a mindset.

As agile processes over time, become more accepted within organizations, these "death race" and "death march" scenarios will hopefully become less common. Until that day comes, however, implementing agile practices whenever possible within a development team is still a logical course of action.

Michael Goldobin said...

For a Death Race to become the team killer, the corporate environment should be that of "point finger and blame".
My goal was merely to classify the fact. There are proven techniques to succeed in Death March, but I thank that there is no real way to win a Death Race - without avoiding it.
To be honest, though, I've never participated in the Death Races myself, but some projects were close enough. So I just tried to evaluate a projected possibility..


© 2008-2013 Michael Goldobin. All rights reserved