Live! from Orlando: 42 Million Lines of Code

42 million lines of code. 200 million installations. 2200 engineers. 10 hours to build clean. Microsoft’s Russ Ryan opened his "What Goes in the Sausage: Lessons from the Factory Floor on How Microsoft Does Software Engineering" session with some impressive stats relating to Visual Studio and the .NET framework. With the sheer volume and complexity of the projects Microsoft tackles, it would seem the software giant would have some interesting words of wisdom (or horror stories) to share and Ryan was kind enough to do it. As customers we know that Microsoft's target dates have been fluid a time or two and some tolerance exists for shipping product with bugs. Yet, Microsoft knows that we know that and was still willing to invite guests into the house with dishes in the sink. First, more on code names. Visual Studio 2002 was code named Las Vegas; VS 2003 : Everett, and VS 2005: Whidbey. Maybe everyone else had heard the story behind the code names, but alas, I don’t get out enough, so I had not. Apparently, originally Visual Studio 2003 was code-named Whidbey (an island 30 miles north of Seattle). When Microsoft realized they would not be able to deliver all the planned functionality in one product release, they decided to relabel the project Everett, a locale half-way to Whidbey. Incidentally, Orcas is another island further north than Whidbey. Next, a few inside details about Microsoft’s development environment: So what are some of the lessons learned? How has Microsoft changed, internally, as a result of lessons learned? With Visual Studio 2005, Microsoft created: Summary: While Jay Schmelzer might have won my arbitrary award for the most personality, Russ Ryan won the prize for sincerity. Even though I walked into the conference room with cold cynicism, thinking that having Microsoft lecture on software engineering would be akin to Jimmy Swaggart leading the sinner's prayer, I bought what he was selling. I came away with the impression that managing a software project is tricky, and managing countless numbers of projects with dependencies is crazy. Microsoft isn't perfect, but they are refining the process as they go. I hope I can say as much for my organization.