Very interesting blog post by a developer at Microsoft (http://blogs.msdn.com/e7/archive/2008/10/15/engineering-7-a-view-from-the-bottom.aspx). He describes what it’s been like working at Microsoft, comparing the Vista days to the current “Windows 7” days.
What it boils down to is that Microsoft has switched from a Feature-driven development strategy to a Date-driven strategy. It should come as no great surprise that the Feature-driven strategy is responsible for the ridiculously extended timeframes that Microsoft has become infamous for. Feature-driven is also, in effect, anti-agile.
They’ve been driven to this point by their competition. Apple’s OS/X development has always been date driven. They’re a marketing company who lives and dies by software version churn. And feature-driven can’t be effectively planned. Apple delivers new features every 12-18 months, while publicly laughing at the “it’ll be great, just wait and see!” rhetoric from Microsoft. The marketing failure of Vista drove the spike through their feature-driven heart.
This can definitely be taken as a huge boost for the Agile approach.
Just as an aside, most Linux distributions are also date-driven. Ubuntu, the most popular Linux distribution, by far, has taken it to the extreme point. It releases every 6 months. Feature doesn’t make it by the testing/documentation cut-off? You’ll see it six months after the next release.