How code is developed at MS

Moishe Lettvin used to work at Mighty Microsoft at the time when the approximately-fifteen-choise logout/shutdown/sleep/hibernate/etc behemoth i mentioned last week.  In amazing synchronicity with Joel’s article on the shutdown menu, Moishe goes and publishes a write-up on how things are developed at Microsoft.  It’s an interesting read (do check out the comments too!) and i really hope that they aren’t fully that bad, and i do understand that things are complex in an environment as complicated as the Windows Vista development.

Takeaway points: If you just keep “managing” bits and pieces of a project around, you will never get anything done.  At least not anything good.  The good parts get “lost in management” or in fear that your updates will break the fragile dependency chain to some other piece of code you didn’t even know had a dependency chain.

Bob Cringely (also known to be easily critical about Microsoft) once wrote: “Microsoft has spent five years and $5 billion NOT shipping Windows Vista.” (recommended read too — Bob has a sharp tongue).  Given the perspective of Lettvin’s article, i can seriously relate to that.

So was there a point with this posting? Not sure, but the links should keep you amused for a while.  And in addition to a wish for simpler, clearer software, there certainly is a wish for a simpler, clearer way to create software.  Cue of Conway’s Law:

“Any piece of software reflects the organizational structure that produced it.”

I do hope believe the company i now work for knows better.  M. Lettvin now works at Google.

Post a Comment