2 Fundamental ↑
No. 8 — Simplify and Generalize
Part of the key to any successful software development effort is to achieve an appropriate degree of generalization in the design.
As a developer considers different expectations and desires for the software’s behavior, the potential complexity of the software starts to escalate rapidly.
To counteract this growing complexity, the developer must look for similar patterns in these expectations, and then generalize the software around these patterns, rather than trying to instantiate every possible variation in users’ desires and expectations.
Words from Others on this Topic
Next: Decomposition