Architectural Decision Records (ADR) with dotnet-adr

Use Architectural Decision Records (ADR) in your solution with this simple but powerful dotnet tool

Christopher Laine
IT Dead Inside
Published in
5 min readAug 9, 2021

--

Photo by Sigmund on Unsplash

Has this ever happened to you?

You open up an app’s source code, ready to do some dev work, and you’re immediately thrown off by some of the choices previous developers used to build the app? You aren’t sure why they chose to use this or that dependency injection framework. You can’t work out why the app is using a specific type of retry logic, or why they decided on Angular instead of React?

Sure, we all have. Thing is, when we build an app from the start, we often make decisions which to us seem obvious (we were part of the decision-making, after all), but to someone coming along later, those decisions are not only NOT self-evident, but as the app grows and more and more decisions are made in the building of it, they can become downright confusing.

There are lots of ways we can let people know why we decided this over that when building an app, but a lot of them involve:

  1. A ridiculous amount of documentation, much of which will never be read nor maintained.
  2. Many diagrams which may not be easy to update or even difficult to embed somewhere sensible in our app.

--

--