It’s the day before the release. All us developers are working like crazy to get everything done in time for the release tomorrow. We have hit several problems. We are having cross-browser compatibility problems. We are having trouble with a bit of Ajax. The test team have found a bizarre edge-case bug that only a tester would find. The afternoon is fast becoming evening. The rest of the office is going home. We are getting frustrated and tired. Eventually we have to tell the PM that we aren’t going to make it.
The PM manages to postpone the release by three days. Phew! This will give us time to actually put in some solid fixes, rather than band aiding and hacking our way out of a corner. As news of the release being postponed spreads around the company, the BA pricks up his ears – ah, wait a minute! If we are postponing by three days, why not postpone by a week, that way we can get in another couple of tasks. As developers, our hearts sink- just when we thought we would have some decent time to focus, the goal posts have moved. We would rather get this out the door first then concentrate on those new features, we protest. No, but this will save on a test cycle, replies the BA. We’d be crazy to release this stuff then go round the whole cycle again.
Needless to say, we went round another kind of cycle, that of trying to do too much in too little time, attention dispersed and shortcuts taken, bugs created and a business thinking that it might be a good time to outsource the web team.
Well, crazy it might appear to some to release stuff in small bits and do lots and lots of cycles, but it certainly preserves my sanity!