Software Architect

Prefer principles, axioms and analogies to opinion and taste

Book: 97 Things Every Software Architect Should Know
Publisher: O’Reilly Media
Author: Richard Monson-Haefel
97 Things Every Software Architect Should Know – 59/97

'Coz sharing is caring

When creating your architecture you should explicitly use principles, axioms and analogies to guide the creation. This gives the architecture a number of benefits that are not present if you simply create by implicitly leveraging your experience, opinions and tastes.

Documenting your architecture will be easier. You can start by describing the principles that were followed. This is much easier than trying to communicate your opinions and experience. The principles will then provide a convenient handle for those tasked with understanding and implementing the architecture. It will also be invaluable for subsequent or inexperienced architects who need to work with the architecture.

An architecture with clear principles is an architecture that frees its architect from reviewing everything and being everywhere. It gives architects greater leverage and influence. You will not need to be an omniscient workaholic to ensure that others can consistently:

  • implement and adapt the architecture;
  • extend the architecture into related domains;
  • re-implement the architecture using newer technologies;
  • work out the detailed edge cases.

Disagreements about opinion and taste invariably turn into political arguments in which authority is used to win. However, disagreements where the foundation principles are clear provide a way for more reasoned discussion to occur without issues being personalised. It also allows the disagreements to be resolved without reference to the architect at all.

Principles and axioms also give an architecture consistency throughout its implementation and across time. Consistency is often a problem, especially in large systems that span multiple technologies and will exist for many years. Clear architectural principles allow those unfamiliar with a particular technology or component to reason about and more readily understand the unfamiliar technology.

'Coz sharing is caring

By Swatantra Kumar

Swatantra is an Open Source evangelist, a technologist and researcher. Professionally, he does software development, software architecture, server administration and project management. When he's not writing software, he enjoys building web entities and servers, reading about and working with new technologies, and trying to get his friends to make the move to open source software. He's written, co-written and published many articles in international journals, on various domains/topics including Open Source, Networks, Computer Organization, Mobile Technologies, and Business Intelligence. He made a proposal for an information management system at University level during graduation days.

One reply on “Prefer principles, axioms and analogies to opinion and taste”

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.