Driving architectural decisions with a simple decentralized framework

Dr Milan Milanović
7 min readDec 20, 2023

In software engineering, the architectural decision-making process is a critical determinant of a system’s success and adaptability. However, the rapidly advancing technological landscape challenges this process, characterized by increasing complexity and a need for agile responsiveness.

Architectural decisions shape our projects, making the technical vision and laying the groundwork for systems’ long-term sustainability and adaptability. Those decisions can be as simple as choosing a code style to more important ones, such as which architectural style we select or which database type. After months of engineering, remembering the rationale behind a decision can be tricky because you need more context that influenced it.

It consists of the following three steps:

  1. Recurring architectural discussions
  2. Request for Comments (RFC) process
  3. Architectural decision records (ADRs) creation
Decentralized architecture decision framework

1. Architectural discussions

When we got the requirements as a team for some of them, if they needed to be more straightforward or could impact important architectural topics in the project, we needed to discuss them first. For this, we can have a weekly or bi-weekly recurring

--

--