3 ms·
Everything is different today, yet nothing is. A quote from the report: The methods of scheduling used were fatally flawed. A schedule should be considered a t
by jasim 8y ago
Everything is different today, yet nothing is. A quote from the report:
The methods of scheduling used were fatally flawed. A schedule should be considered a tool used to predict a ship date, it should not be considered a contract by development. Because there was so much pressure to meet the schedule, development got into a mode which Chris Mason refers to as "infinite defects".
Developers get credit every time they can check a feature off, so they are more inclined to mark off their current feature and go on even though it really is not done. There was a prevailing attitude of the "testers will find it" when thinking about potential bugs in code being developed. In many cases they did find it, and that is what caused our stabilization phase to grow from the expected 3 months (which is a pretty random number anyway), to 13 months.
Because every task was cut to the bare minimum, performance work that should have been done was neglected until the very end of the project, reducing what we could do in a reasonable amount of time.
- spolsky 8y agoA member of that team told me that for much of the project the implementation of the function to calculate the height of a line of text, which is a very complication operation involving fonts, sub- and super-scripts, etc., was implemented as "return 12;" (that was the entire body of the function) and it was marked as "DONE". With a bug of course but we can fix the bugs later
- dehrmann 8y ago> Calculat[ing] the height of a line of text...is a very complicat[ed] operation. So true. And width, and how many characters fit on a line. The list goes on.