Minimalistic Architecture Principles

As with most things a good place to start is with principles. There are many good references to principles on the interweb and these are just the ones I have developed which I try and use to provide guidance and consistency when doing IT architecture.

This is in no way a complete or exhaustive list of principles and it does not include rationale or detail on each principle but is rather a starting point, and as the name suggests minimalistic high level guiding principles.

Lets start by discussing at a high level what principles are:

Principles are fundamental statements, which express a belief about the future and / or future direction. They articulate the organisation’s vision and are the cornerstone for managing change. Principles provide an agreed reference or policy to be used for evaluation of alternatives and decisions.

The principles are equal in a sense that they all have to be taken into account for any decision, but their importance may vary on the particular decision to be taken.

Now with that out of the way, to the minimalist architecture principles-

General Architecture Principles

•  Components should be loosely coupled.
•  Good solutions should be re-used, not invented.
•  There shall be a single source of truth.
•  Re-use before buy, buy before build.
•  All solutions will be architectured for change.
•  All solutions should be exposed to other solutions.
•  Only vendor supported solutions will be deployed.
•  Only enough information will be provided to make informed decisions.
•  Application will be designed for reuse.
•  Information is an asset that has value and should be managed accordingly.
•  Information is protected from unauthorized use and disclosure.
•  Systems should allow information exchange encapsulating both business rules and data.
•  Services should have clearly defined boundaries.
•  Architecture and systems should be kept as simple as possible.
•  Good enough architecture is always better than perfection.
•  Functionality and business logic should be applied as early as possible.
•  Principles are not universal truths

These are the generic principles I try and use in my work when making decisions, however if a decision can be reasonably made by someone with a more narrow scope of responsibility, defer the decision to that person or group.

Leave a Reply