The Opus Development Postmortem is 47 pages long, and should be mandatory reading for all project managers.
- WinWord dreamed up in August 1984
- Prototype demoed in September 1985
- Real work begins in November 1985
- Windows 1.0 ships in November 1985
- Windows 2.0 ships in November 1987
- WinWord ships November 1989
Small Notes and Select Quotes
Management of the development team, from within and from above has been one of the major failures of this project.
- There's a difference between the design and the specification.
- There was no formal schedule, just a list of tasks.
- They used Excel Model, and then Block Model. I don't know what those are.
- Bug convergence didn't start to happen until they started code reviews.
A schedule is a tool to predict a ship date, not a contract by development.
- During the first few years, they always estimated they were 1 year away from shipping.
- During the last 2 years, they always estimated they were 3 months away from shipping.
The idea that schedule is God leads to infinite defects.
- Dependencies on other teams were a constant mess. Joel Spolsky once said that the Excel team were so intent at killing their dependencies that they had their own C++ compiler.
- Finally, a point for the static type argument: The say that the compiler should be more stringent about implicit casts and other type problems. (But the dynamic type argument would say that these should be part of a unit test.)