You might like to take a read of this interesting story about how Microsoft Windows Vista was a restart of their "Longhorn" technology. I had wondered why it was that Microsoft was taking so long to get a new version. I knew instinctively from their delay that they had finally lost the plot and forgotten how to deliver.
Until I'd read that, what I did know was that Microsoft was killing itself from the inside out. They were admitting to themselves that the way they were pumping out software was not a solid way of doing it. Haphazardly throwing code around with giant merges on occasion to produce their new version. Sound familiar? It should, that's what Linux does.
But it sounds like they're trying to correct their ways. They want a "Lego block" approach to building their software. This is the opposite of their "integrate everything with everything Microsoft" approach. It also sounds like they're using testing to ensure that committed code actually works.
I wonder when they'll realise that you need to write the tests first?
What's disheartening is that to get unit testing in to Microsoft, they had to go on a holy crusade. One quote that particularly erks me is when an engineer asked what the value of the new approach was. Instead of being told "Testing reduces the likelihood of bugs being released" he was attacked by a /senior/ engineer saying "Is your code perfect? Shut up".
This is pathetic, honestly. Nobody writes perfect code. No body can write tests to prove you have perfect code. It's simply not possible. This kind of slander and attack is counter productive and frankly, very childish.
In our software projects, we always write tests first, but we are constantly aware of the short comings of our testing plan. Some areas of our code we don't test because it would cost us too much to do so - we leave those areas to human eyes. Some areas of our code we cannot fully cover because the variety of inputs is so great - we focus those areas to known existing requirements.
But in the end, your code is only as good as your testing. If your testing is a "once over" by the developer, then you're code is only as good as an inverse proportion of your coding ego. If you write tests, then your code is as good as your paranoia. If you pair program and write tests, then your code is as good as two people plus two sets of paranoia. This is usually enough to get a high quality result. Most of the rest gets picked up by quality assurance testing. Unfortunately, bugs will still get through to your customers no matter how hard you try.
So, to the senior Microsoft engineer who told one his juniors to "Shut up" because he couldn't write perfect code - go look in the mirror some time.