Repeatedly shooting your own foot

Why is Microsoft repeatedly and deliberately breaking up with it’s own successes?

Is it not full of clever and technically minded people who understand what constitutes a good software technology? Who are academically trained to build new, using knowledge building components of the past? What am I talking about? Here is a good example for you: COM+

COM was difficult to use and maintain. Then naturally, clever MSFT people released COM+. A next logical step. COM+ was light years ahead of COM. It was and still is very usable. Just what one needs for developing and running non trivial applications on Windows.

But, what happened instead ? Today 99% of IT population knows nothing (or very little) about COM+ ?! Or DTS.
It is taken as a “fact” that C++/COM/WIN32 combo has to be avoided at all costs. Usually this leads to .NET, WCF, etc …
But COM+ is mature, stable and eminently usable. And running inside 99% of PC’s today, for last 10+ years. COM+ is a great success story for component driven development and software made up of components.

So, why is MSFT not making (e.g.) Office based on COM+ ? In that way Office, starting from 5 years ago, could be real client/server system, light years ahead of Office we have today, which dumps hundreds of never used megabytes on each desktop. For hundreds of dollars of course.

But why stop there? Why is MSFT not making everything else based on COM+ , as components ? SourceSafe, Visual Studio, Visio, MS Money, LAN based distributed Flight Simulator, etc …

Unbelievable. MSFT has mature and proven component technology since 10 (!?) years ago which is not in use today. Instead MSFT has spent and is still spending decades and hundreds of millions, for making same old mistakes with some new weakly defined technologies ?

COM+ is far from perfect, but why these repeated break-ups with your own successes ? Why the conceptual canyon between COM+ and WCF?
MSFT today would be much more convincing company, if we would have logical sequence of improvements: COM2, COM3, COM4 …etc ?

I have to ask: is Microsoft marketing driven or engineering driven?

–DBJ