While on irc over the weekend (avoiding writing code for uni), a friend pointed me to this WSJ article
about Microsoft, testing and software quality. (Here's google's Cache of the article
in case you're not a subscriber).
I was struck by the implied cowboy attitude that existed within Microsoft. I know that their software is buggy --- as far as I'm aware there is no bug-free software, but surely a company as well-established in the software-engineering game as they are would be able to at least build
their software on a nightly basis?
...with 4,000 engineers writing code each day, testing the build became a Sisyphean task. When a bug popped up, trouble-shooters would often have to manually search through thousands of lines of code to find the problem.
...Microsoft would have to throw out years of computer code in Longhorn and start out with a fresh base. It would set up computers to automatically reject bug-laden code...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."
You've got to be kidding -- where was the quality control before this point? Something I've always been very conscious of here at Sun is that our code review and integration processes are heavy in order to prevent messes such as what Microsoft came up against in Longhorn. And despite the desire to have free and easy commit privileges to our source trees (for me ON and the SAN gates), I really
do not want to be in a position where I get blacklisted by the gatekeepers and test staff because my code has to be backed out. That would actually make me unemployable!
Finally, there's this quote from Mr Gates himself:
Hours after showing off Windows Vista to software makers this month, Mr. Gates in an interview noted how Microsoft's Office group is now using some of Mr. Srivastava's tools to improve its code. "It's amazing the invention those guys have brought forward," he said. "I wish we'd done it earlier."
You know, Bill, the software industry would probably be in a much better and more innovative shape right now if you'd driven software quality requirements into everybody that Microsoft hired.
Welcome to the new, unit-tested and nightly-built world. We've been waiting a long time for this!