This is a very old post from my blog; so old that it was originally hosted on LiveJournal. The page has been preserved in case its content is of any interest, but formatting errors are likely and the page's original comments have been lost. Please go back to the homepage to see the current contents of this site.
I’m not sure how other companies approach milestone releases. I get the impression from various bits of software that I use that the big open-source projects tend to have a series of alpha, beta and release candidate releases during the months leasing up to a release, complete with feature freezes, code freezes and all sorts of other measures to keep things under control.
Where’s this going? Ah yes, here.
The project on which I work has just brought in three extra developers (to add to the original one, me). All four of us are, of course, working on code we didn’t write or don’t have a lot of experience with. A lot of us have worked both of the last two weekends. The old bug tracking system (the rant-inspiring paper folder) has been abandoned, simply because there are so many bugs that we barely have time to fix, let alone write down.
My software, by which I mean the software I inherited from someone with a very tenuous grasp of how to code properly, is currently on build 504. There’s not yet been a build that has stood unchanged for more than a day, so turning one of these builds into even an alpha release, is a far-off goal.
The Bug Tracker Version 2 (whiteboard) currently shows 5 “show-stopper” bugs, and three more that are merely critical.
Now it turns out that the customers are visiting on Wednesday, and guess what they’re expecting? Version 1.0. So, whatever mess we have at the end of tomorrow… I get to mark it as 1.0, and watch a tiny part of my soul die.