Skip to main content

How to take effective architecture decisions

·3 mins·
Christophe Le Douarec
Author
Christophe Le Douarec
Experienced software leader with a strong background in embedded products, organizational improvement, and R&D leadership aligned with business goals.
Table of Contents
Architecture knowledge management - This article is part of a series.
Part 3: This Article

In software architecture, every choice matters, but some decisions shape the system more than others. These are called architecture decisions (ADs), and they define how your system will meet its most important requirements.

Taking the right decision isn’t about guessing or following the loudest voice in the room. It’s about analyzing options, weighing facts, and being free from bias.

What is an AD ?
#

An architecture decision is a software design choice that addresses a list of significant requirements (ASRs).

It may be a system-wide decision or a local decision, so the people involved may be different, but the way the decision is made is the same. The role of architects in an organization is a complex topic I’ll explore later, yet it’s crucial that anyone on the engineering teams feels empowered to propose ideas and take part in shaping these decisions.

How to take an AD ?
#

Architecting is much more than decomposition.
Decomposition is easy, integration is difficult.

A decision must be taken based on facts and start from problem. In order to avoid any bias, it is important to follow a strict methodology.

architecture decision process
Architecture decision process

During the analysis stage, all solutions, even the stupid ones, must be analyzed.

During the decision step, it is important to search consent rather than consensus which means that we do not try to get everyone to agree but try to have no one against the decision.

In general, a meeting is suitable, but being a synchronous format, it’s usually preferable to use an asynchronous approach if you can keep responses timely.

Tip

Limit the number of participants to only those who are truly necessary. This makes discussions smoother, more effective, and faster, regardless of the communication mode.

Before closing this article, I’d like to highlight the final step of the process, which is crucial but often overlooked. Monitoring the outcome allows you to address any unexpected effects and contributes to a culture of continuous improvement. This monitoring should include clearly defined metrics to measure success. It’s therefore wise to establish these metrics, set the monitoring period at the time of the decision, and plan the review in advance.

In the next article, we’ll look at how to ensure this decision is properly tracked.

How to craft an effective ADR

·7 mins
Architecture decisions don’t live in meetings, they live in ADRs. Let’s look at how to craft clear, useful records that stand the test of time. What is an ADR ? # An ADR is a document that captures an important architecture decision (AD) made along with its context and consequences. An ADR is the key element of an architecture knowledge management system.
Architecture knowledge management - This article is part of a series.
Part 3: This Article

Related