Laws of Software Engineering · Principle
Principle
Conceptual Integrity
A system designed by one mind, or by a few minds in close agreement, will be easier to use and understand than one designed by committee.
How to use it. For any system, name the person or small group whose taste decides what is in and what is out. Make their authority explicit. Disagreements go to them, and they decide quickly. Coherence comes from who has the final word.
How it gets misused. Used to justify autocratic design. Conceptual integrity is about the coherence of what gets built. It does not mean silencing contributors. The architect has to listen carefully and then decide. Skip either step and integrity degrades.
Related
- Pattern The Surgical Team A small team of high-talent specialists, organised around a chief programmer, outperforms a larger mixed team on coherent work.
-
Principle SOLID Five rules for designing object-oriented code: each class does one thing, code should be open to extension but closed to modification, subclasses should be substitutable, interfaces should be small, and code should depend on abstractions rather than specifics.
- Principle Ubiquitous Language The people who build the software and the people who use it must use the same words to mean the same things. The vocabulary is the design.
Clusters
- The Brooks cluster - One author whose work shapes most of the field.
- The Code Design cluster - How to write code that survives change.