Werkproduct

Architectuurbeslissingen (ADRs)

Architecture Decisions (ADRs)

Bewaar de rationale achter een significante keuze zodat die later gevalideerd, herzien of vervangen kan worden.

Alpha: Architectuurbeslissingen Solution Architectuur
01

Beschrijving

Een architectuurbeslissing is een onderbouwde keuze waarmee invulling wordt gegeven aan een architectuurbepalende eis: een eis die een aantoonbare invloed heeft op de structuur, samenhang of kwaliteit van de solution. Niet iedere ontwerp- of technische keuze is daarom een architectuurbeslissing. Alleen keuzes die de architectuur daadwerkelijk richting geven of de toekomstige onderhoudbaarheid, flexibiliteit, veiligheid of andere kwaliteitsaspecten beïnvloeden, worden als architectuurbeslissing vastgelegd.

Architectuurbeslissingen vormen gezamenlijk het besluitvormingslog van de solution. Zij leggen niet alleen vast welke keuze is gemaakt, maar vooral waarom deze keuze is gemaakt, welke alternatieven zijn overwogen en welke consequenties daarbij zijn geaccepteerd. Hierdoor blijven de gemaakte afwegingen ook na afloop van het project herleidbaar en kunnen toekomstige wijzigingen beter worden beoordeeld.

De architectuurbeslissing vormt de schakel tussen de Architectuurbepalende Eisen en het Architectuurmodel. De Architectuurbepalende Eisen beschrijven waarom een beslissing noodzakelijk is. De architectuurbeslissing legt vast welke oplossing is gekozen en waarom deze de voorkeur heeft boven de alternatieven. Het Architectuurmodel laat vervolgens zien hoe deze keuze in de architectuur is uitgewerkt. Waar het Architectuurmodel de structuur van de solution beschrijft, legt de architectuurbeslissing de onderliggende afwegingen vast.

Een architectuurbeslissing geeft antwoord op de vragen: welke keuze is gemaakt, welke alternatieven zijn overwogen, waarom is voor deze oplossing gekozen en welke gevolgen heeft deze keuze voor de architectuur van de solution?

Elke architectuurbeslissing beschrijft precies één architectuurkeuze. Een verzameling van dergelijke beslissingen vormt samen het volledige besluitvormingslog van de solution.

Het werkproduct is bedoeld voor de architectuureigenaar, het deliveryteam, de Enterprise Architect, reviewers, toekomstige beheerders en de Architectuursturing.

Sjabloon
architecture-decisions.docx
Sjabloon voor Architectuurbeslissingen (ADRs)
⬇ Download DOCX
02

Detailniveaus

  1. Lichtgewicht (één zin) Voldoende

    "Gegeven ⟨situatie⟩ en ⟨knelpunt⟩ kiezen we voor ⟨optie⟩ om ⟨kwaliteit⟩ te bereiken, met als geaccepteerd nadeel ⟨nadeel⟩." Geschikt voor de meeste dagelijkse, herkenbare keuzes — de "paved road"-beslissingen.

  2. Volledig

    Context, alle overwogen opties met hun voor- en nadelen, de afweging en het vervolgplan. Reserveer dit voor beslissingen waar het optieveld écht openstaat, de impact groot is, of waar Architectuursturing een expliciet oordeel moet vellen — de "off-road"-gevallen.

    Iedere architectuurbeslissing bevat ten minste de volgende onderdelen:

    • de context en de aanleiding van de beslissing;
    • de architectuurbepalende eis waarop de beslissing betrekking heeft;
    • de overwogen alternatieven;
    • de gekozen oplossing en de onderbouwing daarvan;
    • de verwachte gevolgen, inclusief de geaccepteerde nadelen en risico's;
    • de status van de beslissing, bijvoorbeeld voorgesteld, vastgesteld of vervangen.

    Hierdoor ontstaat een volledig en herleidbaar overzicht van de gemaakte afweging.

03

Bronnen

Open practice. Deze practices zijn open voor bijdragen van de community. Open een GitHub-issue om een verbetering aan een bestaande practice voor te stellen, een nieuwe practice te introduceren of een sjabloon bij te dragen — issues zijn het startpunt voor elke wijziging.