Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Template for documenting Architecture alternatives and decisions [closed]

Tags:

architecture

We are putting a process in place where all architecture changes must be documented.

Are there any standard templates for documenting alternatives and decisions?

like image 564
Shiraz Bhaiji Avatar asked Aug 18 '11 08:08

Shiraz Bhaiji


People also ask

When should I write an architecture decision record?

When should I write an Architecture Decision Record (ADR)? If you have made a significant architectural decision that impacts how engineers write software then write a ADR. ADR's are used to document decisions made related to system design and engineering best practices.

What is ADR architecture decision Record?

An architectural decision record (ADR) is a document that describes a choice the team makes about a significant aspect of the software architecture they're planning to build. Each ADR describes the architectural decision, its context, and its consequences.

Where do you store ADR?

Store your ADRs close to your application code, ideally in the same version control system. As you make changes to your ADR, you can review previous versions from source control as needed. You could also use another medium like a shared Google Doc or an internal wiki.


1 Answers

Depends on how detailed / formal you want to be. In terms of a Decisions Register we'd normally use one doc per area / decision, although recently we've been experimenting with OneNote.

At the very least you want to record (for each option):

  • Option Description
  • Pros and Cons
  • Risks and Issues
  • Assumptions and Constraints
  • Points of Note

A succinct bullet-point list of pros & cons (etc) is usually sufficient - it doesn't need to be a big doc.

For a more in-depth / formal / complex scenario you'd want to go further, this is the format we were using in such cases:

Summary

  • Problem Definition
  • Solution Context
  • Assumptions
  • Constraints

Evaluation Criteria

(This is important as it sets out the criteria you used to score the available options, including weightings etc).

Summary of Recommendations

  • Summary
  • High-Level Comparison Table (This is good for providing an "at a glance" comparison for people who don't want to read a long document; and having a side-by-side comparison is a good idea anyway).

[Option 1…N]

  • Option Description
  • Pros and Cons
  • Risks and Issues
  • Assumptions and Constraints
  • Points of Note

Recommendation

like image 94
Adrian K Avatar answered Nov 03 '22 10:11

Adrian K