Specifically, its key to have assured interoperability between critical platforms and adequate code documentation so that what is developed can be worked on after the people who have developed it are gone.
If you look out at the code base from almost anyone, including old Microsoft code, it is generally easier to start over then to try to figure out what the developers were actually trying to accomplish. Yet, because these things are tied to other systems (which also have this documentation problem) starting over is just as big a nightmare. So there are a lot of software products that companies simply cant afford get rid of despite the fact that they are woefully out of date and increasingly unreliable.
That is not only a problem for IT, but a problem for the vendors who want to sell updated products.
At Microsoft, thanks largely to the EU, that is increasingly not true, which should allow them to better cycle their customer base to newer offerings, and for that customer base to more cost effectively integrate these offerings, not only with Microsoft product but with third party offerings.
Over time, theoretically, the increased ease in which this is done with the Microsoft offerings should favor them competitively and result in the displacement of competing offerings. This would make the EU largely responsible for a Microsoft resurgence. Lets talk about that this week.
One of the interesting conversations I had with the special master who was assigned to the Microsoft EU case was on documentation. He was convinced that Microsoft was purposely not supplying the documentation competitors needed to interoperate with Microsofts platforms. Yet I pointed out that this documentation didnt actually exist and that internal groups inside of Microsoft had been complaining about the same problem for decades.
This problem made the core sales concept that Microsoft products worked better with Microsoft products almost an inside joke. But because developers (and I had this problem myself) dont like to document their work and there was no apparent major drive to do so, the problem wasnt addressed. Im sure management asked for this documentation. But given the choice of getting a product out the door on time and assuring it was adequately documented, the time thing won and the documentation was never created.
The competitors who drove the EU decision were largely attacking Microsoft, not because they really wanted to interoperate with the company, but because they wanted to displace it. I think they thought that there was no way Microsoft could comply and, in their perfect world, Microsoft would either be critically damaged or forced out of a number of European markets.
However, Microsoft chose to do the required documentation. Granted this was after an extended period of time and after a substantial amount of foot dragging. But they not only did the documentation, in engineer fashion, they did it right and may be the only software company that actually documents their code consistently and adequately now.
What is interesting as well is that typically the developer is the one that drives documentation quality, which is why that quality generally sucks.
As long as the product works as advertised, it is only the poor saps who have to implement it that have to deal with documentation quality. And generally, at least when the product is young, they can call up and talk to the people who created it to resolve problems. By the time those developers move on and the lack of documentation truly becomes a problem there is no one around to fix the problem.
However, the EU has put in place a monitoring function which helps assure that documentation is there at the creation of a new product and that basically assures the quality. To avoid fines Microsoft layers on its own quality checks and the end result is what could be the first sustainable quality process that goes beyond the product and focuses on the documentation surrounding the code.
Granted there is some risk that, should the EU stop its role, Microsoft could defocus and reduce the staff of their own quality effort just as firms did with Internal Audit once the government lost interest in that function. But as long as it is in place Microsoft has something that no one else currently has, and that is a quality-assured code documentation function.
What is fascinating about this is that Microsofts competitors have effectively forced Microsoft to improve their quality in one critical area where their own quality also sucks, and that is in product documentation.
You see, this documentation issue isnt just a Microsoft problem. Software engineers see documentation as grunt work and will do almost anything to avoid doing it. This means that often when its being done its done by assistants or junior programmers who dont get much face time with the folks actually doing the code. This generally makes the documentation inadequate and inaccurate, which may be even worse than not having it. Because if you follow the documentation and its wrong youll create problems that youll eventually have to deal with -- and the documentation wont help.
In a way this would be like being in a race and forcing new rules on your competitor which forced them to build a better engine -- but not realizing youll now have to race that better engine and mistakenly assuming you dont need to build one as well. This documentation will allow Microsofts products to actually work better with other Microsofts products and take the humor out of that old internal joke. If competing products dont interoperate competitors now cant point at Microsoft as the problem so effectively because this audited documentation should allow Microsoft to point to the competitor as the cause.
Ironically we saw the potential for this during the Microsoft DOJ trial where Real Networks complained that Microsoft was actively breaking Real Networks product. But an in-depth investigation showed Real Networks own flawed practices as the real problem. And that was with the old lousy documentation.
One of the recurring lessons, when it comes to involving government agencies, is that once involved you have no control over them. This isnt cheap litigation paid for by the government because you arent their client, their citizens are. And the initial lessons from the EU were that Oracle and Google, who played a role in the Microsoft litigation, later were themselves scrutinized by the same agency.
However, in this case, the EU actually stepped in and forced Microsoft to fix something that needed fixing in the industry -- in Microsoft alone -- making the company more competitive, not less, in the area of interoperability and code documentation. While the cost to Microsoft in terms of fines and aggravation was high, as is any learning experience that is resisted by the student, the end result is a much stronger company not a weaker one. This is particularly true when it comes to customer satisfaction and it was those customers that the EU was trying to protect.
At TechEd it was clear that products like Azure, which are the corporate equivalent of the Apple iPad, wouldnt be as popular if it werent for the massive documentation and interoperable fixes that the EU and Microsofts competitors drove. As we watch Oracle struggle to consume Sun, and Google facing trouble in China, we should remember that when using the government, be careful what you wish for. What you get may be something quite different than you expected.