With Exchange 2003 SP2 around the corner (check out the CTP!), the emails have started coming: "When will you ship? I mean the real ship date." Release managers get a ton of them, they are often sent to the internal product's distribution lists, and if you happen to work on a product team and send a mail to another DL about a completely unrelated topic, if someone looks you up and realizes where you work and your product is in the spotlight, you might get a direct mail asking you about it.

They usually are a little more detailed than "When's RTM?". Some variations:
  • "My customer [insert big name] has [insert important reason] and thus they really need to know the exact ship date of [product]."
  • "I see that the public web site says [date that is probably a little vague, like "Q1"]. What is the specific date?"
  • "I realize that dates may change, but my customer really needs to know the exact date so they can plan for their deployment."
Here's the problem: We learned a long time ago that when you tell a customer a specific date, and the date changes, the customer gets upset. Understandably. And it is the nature of the software development beast that you often don't make the exact ship date you'd planned on 18, 12 or even 6 months previous. So we've just stopped publishing those dates.

We always have a target date ourselves, we need it in order to have something to aim for as well as to work backwards and figure out the rest of the schedule ("OK if I need 3 weeks uptime at five nines in MSIT before we can ship, and let's say I have to reset it twice, plus I have to pass the uptime release criteria at our TAP customers, and before that I need X weeks for coding and Y weeks for fixing bugs with an estimated incoming rate of Q and fix rate of R except during December when the fixrate will be 0, and Z weeks for performance and scalability testing...").

Schedules are wicked complex things. We get laughed at a lot for not meeting them, and I don't mean to say that we never deserve the laughter, but I also want to emphasize how incredibly difficult it is to create a realistic schedule for a product that a team of dozens, hundreds or even thousands of people work on and make it actually stick.

And so, we just don't give specific dates if it can be avoided. And in my view, you don't want us to give specific dates either, because you'd just be mad at us if we gave a specific date and then changed it later. So we do the best we can, which is hand out dates that get more and more specific as we get closer (from "By EOY 2005" to "CY 2005" to "1H CY 2005" to "Q1 CY 2005" and only turning to "February 2005" maybe a month or two in advance), and try to be polite when we get request after request asking us for "the real date".

So please, don't get upset when you ask "I see that the web site says Q1, but when's the real date?" and you get "Q1" or "When it's ready" in response. Be thankful that we are going to wait until it's high-quality and ready to ship rather than release it due to external pressures.