How to Fail at Software Development |
||||||||
8. Is the whole thing over- or under-designed? |
||||||||
| Score from 0 to 10 | ||||||||
| This question deals with the quantity of the specification. There is another question later that grades its quality. Score 0 if the design is complete but only includes the things that are absolutely necessary. If the design is too largeif it contains things that are not part of the actual systemthe score value can go up to 10, depending on how much over the top the design goes. An unnecessary feature can take as much time to program as one that is central and important to the system. If half, or more, of the stuff specified is unneeded whistles and bells, score 10. Doubling the amount of work by doubling the requirements actually triples the amount of work to be done because it doubles the amount of time that allows changes to come in. If the design doesn’t cover the whole project, then score a value up to 10. This sort of design is going to require constant modificationit’s like opening the door to a stampede of changes because it simply can’t go the distance as it is. This invitation to random changes and branches will run through the life of the project. If half of the design is missing, score 10. It is a rare project that survives being under-designed. Chapter 13 of How to Fail at Software Development explains the results of including everything in the first version. |
||||||||