How Microsoft builds software

Michael A. Cusumano, Richard W. Selby · Communications of the ACM · 1997

Microsoft Corp. has probably tackled more PC software projects than any other company in the industry. Microsoft Corp.'s philosophy for product development has been to cultivate its roots as a highly flexible, entrepreneurial company and not to adopt too many of the structured software-engineering practices commonly promoted by such organizations as the Software Engineering Institute and the International Standards Organization. Microsoft Corp. has tried to scale up a loosely structured small-team style of product development. The objective is to get many small parallel teams or individual programmers to work together as a single relatively large team in order to build large products relatively quickly while still allowing individual programmers and teams freedom to evolve their designs and operate nearly autonomously. This article summarizes how Microsoft Corp. uses various techniques and melds them into an overall approach that balances flexibility and structure in software product development. The authors label Microsoft Corp.'s style of product development, the synch-and-stabilize approach.

Read the paper · More papers on PaperTik