Mini ADR Board: An Agile Approach to Architectural Decision-Making

Mini ADR Board: An Agile Approach to Architectural Decision-Making

Architectural Decision Records (ADRs) are an important tool for documenting significant architectural decisions and capturing the trade-offs involved while we are designing our solutions. However, there is a challenge: We need to ensure these decisions are peer-reviewed and unbiased without slowing down the design process with a heavyweight approval mechanism.

In this blog, I'll introduce a concept, Mini ADR board, developed to address this very challenge.

The Importance of ADRs

ADRs are used for documenting the trade-offs in architectural decisions. They offer a structured format to detail the context, the options considered, and the reasoning behind the chosen approach. The practice ensures transparency, accountability and employee empowerment, and standardize knowledge sharing across the organization. However, there's a rule: we don't create an ADR document for every decision. We create them for architecturally significant decisions. And because of the complexity of architectural decisions, it's crucial that peer reviews should be there for ADRs to ensure the decisions are right and align with organizational goals and dynamics.

The Challenge With Traditional Approval Processes

Throughout my career, I’ve observed that in many cases, ADRs go into approval processes that generally involve many stakeholders. I’ve also noticed that this can lead to delays and it reduces agility. While it's important to have many different perspectives, involving too many people can also slow down agile decision making and the technical design's progress. This becomes even more problematic in fast paced environments where time to market is crucial.

Introducing the Mini ADR Board

To address these challenges, I developed the concept of the Mini ADR Board. This board aims to keep the peer review process in the picture, while also ensuring agility in decision-making. The name has "mini" in it, because it is not like a traditional "board", like ARBs. The Mini ADR Board consists of only the Solution Architect, the Application Architect, and one or more Subject Matter Experts (SMEs) only if required to evaluate the decision. A board is a board at the end, and although it is small, you still need to facilitate it. Therefore, to keep our agility at optimum levels, this board should only be formed in specific situations to avoid unnecessary meetings and scheduling conflicts.

Key Scenarios for Forming the Mini ADR Board

The Mini ADR Board meeting is conducted under specific conditions to ensure its efficient and its existence is justified in the long run.

  1. Independent Decisions by the Application Architect: This is the situation when the Application Architect makes an architecturally significant decision in the absence of the Solution Architect. This can occur after the solution architecture is finalized, and the Application Architect, while working on individual application LLDs (Low Level Design), finds a limitation that requires changing the solution architecture or superseding an initial ADR that was emitted and approved during the solution architecture design time.
  2. SME Opinion Is Required: When an SME opinion is necessary, a formal Mini ADR Board meeting is scheduled to incorporate their expertise into the decision-making process, even if the ADR was written by both Application and Solution Architect.
  3. Solution Architect's ADR: When the Solution Architect writes the ADR alone, a peer review will be required from the Application Architect.

As you can see, when the Solution Architect and Application Architect collaboratively design and reach a decision, a Mini ADR board is not necessary unless an SME opinion is required. This approach shifts approvals even further to the left.

Ensuring Agility and Quality

The primary goal of the Mini ADR Board is to keep the number of stakeholders at a minimum, ensuring agile decision making while maintaining high-quality designs. The final design will still go to a comprehensive ARB (Architecture Review Board) review, providing an additional layer of validation and ensuring any improper ADRs are identified and addressed before the design hits implementation.

Conclusion

By keeping our ADR approval process lean and focused, we can improve the quality of ADRs while meeting the fast-paced needs of today’s software development environment. I encourage you to adopt the Mini ADR Board approach in your organization and experience the benefits of agile and high-quality architectural decision-making.

要查看或添加评论,请登录

Murat Balkan的更多文章

社区洞察

其他会员也浏览了