Countdown to release, according to Microsoft

Chart showing the stages in the software relea...
Image via Wikipedia

A while ago, I pointed out a Microsoft development team that was doing a great job of giving us glimpses inside the sausage factory.  In that instance, the Windows Home Server team was showing us how bugs are managed late in the release cycle.

Now, Microsoft is opening up again - on a larger scale this time.  A blogger on the Windows 7 team  has written a really informative post on the process the Win 7 team expects to use to move from Beta to General Availability.

If you ship commercial software, you need to understand the terms used in this article.  You also need to make sure your developers and your boss understand them.  These milestones are the dates that drive your release, and it's critical that everyone in your company shares an understanding of what these milestones mean.

If you develop in-house software, you may not use these terms, but you should still understand the concepts.  The same idea applies to size: smaller projects will have fewer public milestones.

Once you've decided on how you're going to define these milestones for your organization, keep track of projected and actual dates for a couple of releases.  Now, as you plan future releases, you've got some valuable data to help you: all things being equal, you'd expect to spend similar amounts of time in each stage of the release for similarly-sized features.  Use these ratios as a sanity check against your project plan; if your ratios are way off, you'd better be able to explain why.

Note that if you change the meaning of these terms every time you use them, they instantly become useless for estimates and measurements, and quickly become useless as a means of communication, so pick a quantifiable definition you like, and stick to it!

Reblog this post [with Zemanta]