I'm not sure what drives some companies to want to show their hand early, while others play them close to the vest. Especially in the field of computer hardware and software.
I've read dozens of articles comparing the marketing philosophies of companies like Apple, Microsoft, Sony, Nintendo and Samsung. But the one in this list in a unique situation is Microsoft. They earn a major portion of their revenue from enterprise business sales and subscriptions. Enterprise customers, unlike consumers, live on quarterly and annual budget cycles.
When Sony or Nintendo announces a major product is "coming soon" in the consumer market space, it doesn't have the same effect on their market as what happens when Microsoft announces a new version of Windows is coming in six months. Enterprise customers hear that and do the following: Hold off on buying and upgrading. Even if the pricing is tweaked to offer a "free jump" to the new version when buying the current version within X months of the release, that's not the real challenge. The real challenge is dealing with another round of planning, preparation, testing, and deploying. Then there's the user learning curve issue and training. Even when many organizations opt out of training budget, they have to contend with the communications and hand-holding aspects. Intranet posts, e-mails, meetings, meetings and more meetings. It all adds up to pain.
Sure, it's not always practical to suddenly announce a major new release of Windows or Office, when enterprise customers, partners, OEMs, and developers need lead-time to get familiar with the new versions. But there needs to be a better/happier medium than announcing a new release coming "next year". Practical or not, my gut feeling is somewhere between three (3) and four (4) months is about right. Thoughts?