Someone sent me a great quote the other day from Douglas Adams:
“I love deadlines. I especially
like the whooshing sound they
make as they go flying by.”
It brought back distant memories of a gigantic waterfall project that I survived. I think the word survived is appropriate in this case because we labored on it for over 3 years before we ever released code to production, which by that time was somewhere between 12-18 months later than our original deadline (I blame my fuzzy memory on the excessive overtime that overshadowed that part of my life). As with any good old fashioned waterfall project, the first in a long series of missed deadlines was arbitrarily generated by the business and the project was both time-boxed and feature-boxed (at least in the sense that the amount of work rarely went down).
There were many months of intense overtime, implicit threats of being fired, low morale, and constant bickering with users over whether or not a newly requested feature (or as they liked to refer to it…bug) was explicitly or implicitly included in the 500 page functional specifications. I have clear memories of pondering whether I should keep the % complete cell in the project status worksheet at 90% complete for yet another week or move it up by 1% to delay the inevitable ‘Come to Jesus’ meeting for just a little bit longer just in case a miracle happened. The strange thing is that the project was still considered tremendously successful despite all the waterfall-induced deadline madness. Ah the good old days…
A few years ago, our IT department adopted an agile approach. I’m not saying that things are perfect. We definitely had speed bumps and hurdles during the transition period and still have occasional perception problems to deal with when a team’s velocity dips too low for too long, but it just isn’t’ the same. I rarely notice any users yelling at project managers or any developers working for over 40 hours or talk of an impending deadline that everyone is worried about missing. Teams actually seem to be able to release code at the promised time.
All of this makes me feel like a rite of passage is slowly fading away and 10 years from now young developers will roll their eyes whenever I reminisce about the ‘old waterfall days’. I will say, ‘Why…back in MY DAY…we didn’t have these sissy, daily stand-up meetings…We waited until the executives were good and ornery and before we bothered scheduling a status meeting…’
By the way, there is an excellent podcast on dotnetrocks about agile methodologies. It is a live panel discussion from last year’s Tech Ed in Barcelona with Roy Osherove, Seven Forte, and Kate Gregory.
Popularity: 4% [?]