Characteristics of an Architectural Decision

Important

In the absence of an architect, developers will make decisions themselves. An architect is needed to solve the most important problems — there are others who can handle the rest.

Which database to use?
Where to deploy the application?
Which unit testing framework to choose?
Which IDE to use?
Technical

An architect should focus on technical challenges — even though they occasionally need to dip into other domains. But those other domains have their own experts.

Decisive

It must be clear what decision is made and why. Saying “If we use X, we gain performance but increase maintenance cost; if we use Y, we lose performance but reduce maintenance cost” — is not a decision. It’s unclear what to do with that.

Objective

A decision should be based on facts, not personal opinions — no matter how much experience you have.

Clear

A decision should contain zero fluff and minimal text, while clearly conveying the meaning. Otherwise, it’s hard to understand and even harder to work with. Consider using the SIRI technique.