By late October, Mr. Srivastava's team was beginning to automate the testing that had historically been done by hand. If a feature had too many bugs, software "gates" rejected it from being used in Longhorn. If engineers had too many outstanding bugs they were tossed in "bug jail" and banned from writing new code. The goal, he says, was to get engineers to "do it right the first time."
Recognizing Mr. Gates's concerns over the impact on programmers, Mr. Srivastava hit on a plan to win their hearts and minds. On Nov. 5, he visited the computer-filled office of Dave Cutler, a revered elder statesman among Windows engineers and a stickler for good code writing. Would he publicly throw his weight behind the new approach? Mr. Srivastava asked.
On Dec. 1, Mr. Srivastava escorted Mr. Cutler to Microsoft's auditorium where the software guru told 1,000 engineers that he had used the tools to build Windows code that was nearly bug-free. That Mr. Cutler -- famous for never attending meetings -- would emerge to back Mr. Allchin's revolution helped persuade some engineers to drop their objections.
I have to say I didn't know there was such a level of dissent about Longhorn, but I see it as something very natural and healthy.
Over anything else, I am glad that Amitabh Srivastava was onboard to help solve this crisis at Microsoft.
With all those press stories reporting the "millions of lines of code" in Windows and the heroic lives of the build team members, I have been convinced for some years that Microsoft was inexorably going to hit a hard boundary. Of course, I am not a genius, so for sure many engineers inside Microsoft knew about the problem better. It is amazing, however, that things got to become that ugly before somebody changed the process.
If you also feel that the WSJ article lacks the technical detail you need, look at the Center for Software Excellence page for an idea of what this people used to streamline the Windows Vista continuous integration process.
By the way, do you remember TracePoint? That was Amitabh old job. I do remember downloading it and testing it against my Visual Basic code of that time. It was a wonderful piece of code, incredibly easy to use and useful for optimizing your code. Never again I saw something like that.
I guess next week I will pay more attention to the code analysis tools in Visual Studio 2005… Yes I hope whatever Microsoft is using will eventually get integrated into Visual Studio Team System. After all, developing a mid-sized system with just thirteen assemblies at the office, has proven a nightmare at times.
UPDATE: After thinking a little bit more about this, I am now convinced that the measure of letting lower level executives take more decisions about products by themselves makes a lot of sense.
This means higher level executives accept some things are not in their radar and they may be wrong, so let the people that are more in contact with product development should have the last word.
In this case, the hard boundary I mentioned, that Windows was getting too difficult to integrate, wasn’t probably in Bill Gates radar.