Friday, September 15, 2006

Are delays in complex software inevitable?

Yesterday's Wall Street Journal featured Verizon's frustrations with Microsoft's IPTV software development progress on its front page. Microsoft's Vista operating system has been delayed again and again. Same with Office.

Apparently the 24,000 software engineers at Microsoft can't code. (Only kidding!)

Delays are not just a Microsoft problem. I've worked at four different companies who developed enterprise software and we almost never hit our original target dates, using whatever methodology. Large-scale software development has been unpredictable since the days of punched cards and Fortran.

Agile software development methodologies and Web 2.0 tools and methods can help improve matters, but software delivery dates will remain uncertain.

So let's look beyond technology to a significant part of Microsoft's problem with product delays: marketing. In short: their urge to preannounce ship dates for products.

Google doesn't do that. They don't announce products at all. Google's products appear on the internet and seep into usage, in beta. At some other point they become "released" and then they start marketing, at some level.

Apple doesn't preannounce either. They keep their products secret (to an extreme) until they are ready. Then Steve Jobs convenes a summit meeting and unveils products that will ship within a month at most.

So why does Microsoft insist on preannouncing? They benefited from this tactic in the 1990's, scaring off competitors and causing users to hold off making competing purchases.

But their software is more complicated now, many competitors have fallen by the wayside and their users don't care as much about the precise date of the next release.

So, memo to Microsoft: stop forecasting ship dates. Their marketers will hate it, as it makes it more difficult to plan their huge launch events. But if they don't have to explain why Vista 2010 is late four or five separate times, they'll find it's worth it.