Last updated: January 29, 2026

Introduction

So, what is architecture?

What is Architecture?

Good Architecture

So, what is good architecture? It is difficult to put simply, but it is easy to define what properties it ought to exhibit.

  • Responds well to change — i.e. it is easy to change, adapt, add and remove things.
  • Favors reducing complexity — the structure and components are easy to tell apart.
  • Scales well with of number of supported targets, active and dormant projects, etc.

You will know that you have a poor architecture if it takes forever to add or change anything. There can be multiple reasons for this, and we will get to that in later chapters.

Foundation

As with anything in software development, a good architecture is driven by good inputs for it — user needs and requirements, as well as a solid solution architecture is exceedingly important in order to derive a good architecture.

Design Principles

Adopting design principles is a good way of provide guidance on design.

I find these to be the most important ones that should always be followed.

  • Single Responsibility Principle
  • Open/Closed Principle
  • Dependency Inversion Principle

Most modern architectures are built around the Dependency Inversion Principle. That is, not a mere guiding principle, but the core foundation of the architecture itself. We will see why that is in a later chapter.

Architect Role

  • A servant leader that provides vision, guidance and direction to teams.
  • Engages with teams in mentoring, coaching and consultancy as needed.

Overview

Note from Author

Make an entity diagram of how roles and functions relate to each other.

Postulates

Note from Author

Define: It is always faster to use an abstraction than a concretion.

Summary

  • Architecture is not design — it is an input for design.
  • Architecture is a living and on-going direction — not a static drawing.