Patrick, I could not agree more with your editorial this month. Based on what I hear when I leave my cave is that Microsoft just doesn’t get it. Because of politics (no, not the Bush/Obama kind) and an old-school marketing and sales plan, Microsoft has also forced its own development teams to pump out new versions of SQL Server and other serious platform engines on a ever-shortening cycle. The same is true for Visual Studio and the languages teams whose development cycles seem to be totally consumed trying to get the Entity Framework working. This means the teams place less emphasis on fixing existing long-term bugs and making development of existing architectures easier. Over and over again we hear that “Microsoft knows what’s best for developers”.
Don’t get me started on the way loyal Microsoft developers were treated when Microsoft abandoned Visual Basic 6.0. That arrogance nearly emptied the good-will bank for many developers as they were forced to learn a new language or find a new career. This unfortunate decision is still hurting Microsoft as it planted the seed of doubt. Will Microsoft drop its latest two-year-old innovation because it wants to sell me something new? Perhaps. Perhaps it also makes sense to stop work on the Entity Framework now before developers have invested too heavily?
Now-a-days I spend much of my time writing, teaching and mentoring so my point of view is colored by my readers and customers—the ones that come to me and ask “Why can’t this be easier?” or “Why won’t this work?”. For the most part, the problems they face stem from the churn. That is, since Microsoft can’t seem to settle on a technology for more than a few years, by the time my customers have retooled, retrained, recoded and implemented it, (as you said) Microsoft has dropped support for it or literally broken it by incorporating another “improvement”.
As an author, I have given up on writing books on Microsoft technology as the shelf-life is so short. In the past we could depend on books being relevant for 2-3 years. Now, if we’re lucky we’ll get 18 months of sales. Even Microsoft can’t keep up. Just look at the documentation that ships with the latest technology—the help topics are often computer-generated with meaningless comments and no examples. It’s sad that developers (and I) have to resort to Google to find out how the new “improvements” work.
IMHO, I think that Microsoft should rethink its sales and marketing strategies. They should come to the realization that SQL Server and Exchange and their other IT engines are not consumer products that need to be redesigned and reshaped every two years so they can be repackaged and resold. They need to reorganize the tools division so it does not feel the financial pressure to keep reinventing newer and newer products but refocus on making sure the products they do offer are bug free, well documented and actually help developers build and test existing architectures. These engines and tools should not be seen as consumer products like Xbox consoles and games or even the Windows OS, but tools to help developers make the consumer products Microsoft and their customers build the best they can be.