Q: How is software created at Microsoft? A: Very slowly (from the horse's mouth)
blogs.msdn.com
blogs.msdn.com
Microsoft works on an industrial division-of-labour principle. It also works on the assumption that bugs ("defects") are enevitable. Indeed, the quantity of known bugs can be used to track the progress of a product. A product with numerous bugs gives a bad reputation and has poor sales. Products with very few bugs are more expensive to produce and users are reluctant to upgrade to subsequent versions. Ignoring the economics, there is a engineering approach to managing emergent complexity.
You'd get most value from this book by comparing it to The Mythical Man Month. There is a strong correlation with the theory in the Mythical Man Month and the observed practice in Microsoft Secrets.
I only bought Microsoft Secrets as a gift for a former manager. However, I subsequently discovered that he was a former Microsoft employee. Sometimes a gift can be too appropriate.
I actually worked in a place that developed software this way. The smallest of projects would take over 8 months. Large projects would take close to 5 years.
Any project that took over 1 year was likely to get canceled. The budget would usually look different the following year, the business priorities would shift or the technology stack would be obsolete.
I was in meetings over 90% of the time. Often meetings had to be scheduled during lunch time since it was the only time everyone was available.
Fun drama like a C++ programmer spending months to get a simple window to appear on screen (e.g. building the Win32 API). Dave Cutler from DEC throwing things.
I love how it's sprinkled with Microspeak as he describes this soul-draining bureaucracy: "cool", "great", "passion", "innovate", "exciting". They're really passionate about meetings, emails, and bigger and bigger documents over at Microsoft.
And on being able to start with a blank page for this spec that he's spending so many hours in meetings and writing emails to put together, rather than having to fill out a form, he says, "I don’t know about you, but I really love this kind of freedom!"
The difference is that Microsoft is able to externalise almost all risk and accountability. The same principles of "defect management" are applied to aerospace hardware and Microsoft software. The only difference is the acceptable threshold for bugs. For the space shuttle, bugs are minimised until the budget is exhausted. For Microsoft, bugs are minimised until it costs less to to say "Oh, heck. Just ship it."