How Microsoft Builds Software

How does Microsoft develop software? This is a first attempt at pulling the public resources together. There is an excellent paper called "How Microsoft Builds Software" by Cusumano and Selby, though it requires a paid account on the ACM portal. Resources based on the article are provided below in PowerPoint and Acrobat formats.

The best public resources on the topic may be the Release Team's Weblog by Chris Dias and ScottGu's Weblog by Scott Guthrie. Chris is the Group Program Manager for the Developer Division Release Team and he does an excellent job of defining specific terms. Scott's blog explains how the process is used with "real-world" references to the ongoing Whidbey cycle. Rounding out the collection is Corporate Vice-President S. "Soma" Somasegar's weblog. It's great to see a VP excited about C++/CLI, VB's My namespace, and Edit and Continue in C#.

On to the resources. They begin with overview documents and proceed roughly through Microsoft's production cycle. If you have additional resource, comment!


Summary of "How Microsoft Builds Software" (PowerPoint Overview) - San Diego State University

Summary of "How Microsoft Builds Software" (Acrobat PDF) - University of Maryland

Transparency and Community Feedback - Soma
"The ongoing two-way dialog and feedback is an absolutely critical part of ensuring that we together build the right product for our customers."

Design Change Requests (DCR) - Dias

Testing - Guthrie

Bug Tracking - Guthrie 

The Release Manager - KC Lemson, Exchange Server

Ship Room (Video) - Mike McKay, Visual Studio
As Release Manager, Mike's role is to drive the ship room for the next version of Visual Studio. He talks about what he and his team does to get Visual Studio to get to Zero Bug Bounce (ZBB).

Tell Mode and Ask Mode - Whidbey Product Team.

Product Metrics and Release Criteria - Dias
"Product Metrics / Release Criteria are a main guiding principle in assuring we are shipping the right quality product."

Ship Room - Dias 

"Going Dark" - Dias
A technique for approaching ZBB.

Zero Bug Bounce (ZBB), Security Push, Tell Mode, and Ask Mode (Guthrie) [Summarised by Benjamin Mitchell]
Scott writes about stabilizing code, regression testing and triage.

ZBB (Dias)

ZBB - Eric Lippert, VSTO Frameworks dev team

Security Development Lifecycyle - Soma 

Security Push - Dias 

Dogfooding, Showstoppers, and the Endgame - Guthrie 

Exit Criteria (Video) - Mike McKay
Exit criteria are the shipping rules that a team sets for itself. For instance, one of the rules is "we won't ship with a known security issue."

The War Room and War Team - Paul Thurrot

Media Verification - Dias 


No Comments