It occurred to me that by keeping launch dates secret, Apple never appears to suck at software estimation. Microsoft gives a date, sails right past it, and everyone is up in arms about it.

A better question is why doesn’t MS keep things secret? Or all software companies, for that matter? I know with sales, everyone wants to know when the next version is out so they can hold off on buying the current one. Or the sales person tries to keep you from buying their competitor’s product because their next version will be much better. But everyone knows there’s no guarantee of that happening, and there’s a potential opportunity cost in waiting. And since the estimates that drive the schedule were done by the wrong people at the wrong time, without being updated,1 you’ll probably be waiting longer than they claim.

I think the best policy would be to launch whenever it’s ready, and everyone who purchased within the last 60 days – or better yet, has a support contract – gets the new version for free.

Of course, this only applies to software. For hardware, you’re forced to apply common sense: do I need this right now? Does it do what need at a fair price? Or you can visit and hope they’re right.

  1. See the Estimation section of Facts and Fallacies of Software Engineering. []