croft@csusac.csus.edu (Steve Croft) (04/20/91)
amolitor@eagle.wesleyan.edu writes: >Software development cycles should not proceed as: add every concievable >feature, then tune. Something more like: get something minimally useful, >tune, then see if something more is needed. If not, STOP. If more >features are needed, add them, and re-tune. Software development consists of determining your needs and programming a complete solution for it. If you only take into consideration a minimal set of requirements at first, then you may be doomed when you try to add items later and find basic design conflicts. There are multiple examples of software which started out as small, simple designs which grew very complex when it was decided that "features are needed, add them, and re-tune". Let me just state again that if your analysis determines a set of features are needed, you better take them all into consideration during your design phase. You don't have to implement all the features, but you better consider them in your design... Steve Croft stevec@water.ca.gov (a more reliable email address than above)
xtdn@levels.sait.edu.au (04/21/91)
amolitor@eagle.wesleyan.edu writes: >Software development cycles should not proceed as: add every concievable >feature, then tune. Something more like: get something minimally useful, >tune, then see if something more is needed. croft@csusac.csus.edu (Steve Croft) writes: > Software development consists of determining your needs and programming > a complete solution for it. If you only take into consideration a minimal > set of requirements at first, then you may be doomed when you try to > add items later and find basic design conflicts. This man speaks wisely. The best intentions will not guarantee that your software will scale well, feature wise, unless you plan for those features. I have seen too many programs ruined by adding features beyond the initial design. (If you are now nodding your head, ask yourself: Does Unix suffer this problem?) Unfortunately it is not always possible to accurately predict what future features will be required. I think it follows from this that adding features might make a re-design necessary. My opinion: For a quality product, rewrite; don't patch. In the words of a wise man: "All programs start perfectly. From there they can only go downhill." David Newall, 16:32:56.04, Tuesday, 1991 Phone: +61 8 344 2008 "Life is uncertain: Eat dessert first" E-mail: xtdn@lux.sait.edu.au