Professional Documents
Culture Documents
The Microsoft Software Development Process
The Microsoft Software Development Process
Development Process
Scott Guthrie
Program Manager
Microsoft Corporation
“Natural” Phases of a
Software Project
v Enthusiasm
v Disillusionment
v Panic
v Search for the Guilty
v Punishment of the Innocent
v Praise and Honors for Non-Participants
Successful Projects
Dev PM Tester
Dev PM Tester
Designing the Product
Product Design
v Thoroughly understand your customers
À How do they work? What do they really do?
À Visit, observe, listen & meticulously document
v Questions to consider:
À How do we make a feature usable/simple?
À How do we make a feature visible?
À How do we integrate other parts of a product?
v Questions to consider:
À How factorable is the feature?
À Can the feature be delivered in stages?
À What dependencies does it have?
À What other features are dependent on it?
À How many developer weeks are required?
Scheduling the Product
Scheduling/Planning
v Schedules are done after the initial design
document is ready for review
v Coding Standards
À What dialect of Hungarian do you use?
v Code Reviews
À Every line of code should be peer reviewed
v Localization Guidelines
À If you plan ahead it is money in the bank…
First Implementation Steps
v Define overall code-base structure:
À Specify directory hierarchy (headers, libs, etc.)
À Setup Makefile and build environment
À Come up with common Macros and Ifdefs