An architecture decision is a software design choice that evaluates:
- a functional requirement (features).
- a non-functional requirement (technologies, methodologies, libraries).
The purpose is to understand the reasons behind the current architecture, so they can be carried-on or re-visited in the future.