Architecture Decision Record

Active theme: Light

← Šablóny záznamov rozhodnutí

Šablóna záznamu rozhodnutia od Jeffa Tyreeho a Arta Akermana

Toto je šablóna opisu architektonického rozhodnutia publikovaná v "Architecture Decisions: Demystifying Architecture" od Jeffa Tyreeho a Arta Akermana, Capital One Financial.

  • Problém: Opíšte problém architektonického návrhu, ktorý riešite, a nenechajte žiadne otázky o tom, prečo ho riešite práve teraz. Podľa minimalistického prístupu riešte a dokumentujte iba problémy, ktoré treba riešiť v rôznych bodoch životného cyklu.

  • Rozhodnutie: Jasne uveďte smerovanie architektúry – teda pozíciu, ktorú ste zvolili.

  • Stav: Stav rozhodnutia, napríklad čakajúce, rozhodnuté alebo schválené.

  • Skupina: Na usporiadanie súboru rozhodnutí môžete použiť jednoduché zoskupenie – napríklad integrácia, prezentácia, dáta a pod. Môžete použiť aj sofistikovanejšiu architektonickú ontológiu, ako je ontológia Johna Kyaruziho a Jana van Katwijka, ktorá zahŕňa abstraktnejšie kategórie ako udalosť, kalendár a miesto. Napríklad pri tejto ontológii by ste rozhodnutia, ktoré sa zaoberajú výskytmi, kde systém vyžaduje informácie, zoskupili pod udalosť.

  • Predpoklady: Jasne opíšte základné predpoklady v prostredí, v ktorom rozhodnutie robíte – náklady, harmonogram, technológia a pod. Všimnite si, že obmedzenia prostredia (ako akceptované technologické štandardy, podniková architektúra, bežne používané vzory a pod.) môžu obmedziť alternatívy, ktoré zvažujete.

  • Obmedzenia: Zachyťte všetky dodatočné obmedzenia prostredia, ktoré môže zvolená alternatíva (rozhodnutie) priniesť.

  • Pozície: Uveďte pozície (životaschopné možnosti alebo alternatívy), ktoré ste zvažovali. Tie si často vyžadujú dlhé vysvetlenia, niekedy dokonca modely a diagramy. Nejde o vyčerpávajúci zoznam. Nechcete však počuť otázku „Premýšľali ste o...?“ počas záverečnej revízie; to vedie k strate dôveryhodnosti a spochybňovaniu iných architektonických rozhodnutí. Táto sekcia tiež pomáha zabezpečiť, že ste si vypočuli názory ostatných; explicitné uvedenie iných názorov pomáha získať ich zástancov pre vaše rozhodnutie.

  • Argument: Načrtnite, prečo ste zvolili pozíciu, vrátane položiek ako náklady na implementáciu, celkové náklady vlastníctva, čas uvedenia na trh a dostupnosť potrebných vývojových zdrojov. Toto je pravdepodobne rovnako dôležité ako samotné rozhodnutie.

  • Implikácie: Rozhodnutie prináša mnoho implikácií, ako naznačuje metamodel REMAP. Rozhodnutie môže napríklad vyvolať potrebu urobiť ďalšie rozhodnutia, vytvoriť nové požiadavky alebo zmeniť existujúce požiadavky; priniesť dodatočné obmedzenia prostredia; vyžadovať opätovné vyjednávanie rozsahu alebo harmonogramu so zákazníkmi; alebo vyžadovať dodatočné školenie personálu. Jasné pochopenie a uvedenie implikácií vášho rozhodnutia môže byť veľmi účinné pri získavaní podpory a vytváraní plánu realizácie architektúry.

  • Súvisiace rozhodnutia: Je zrejmé, že mnohé rozhodnutia spolu súvisia; môžete ich tu uviesť. Zistili sme však, že v praxi sú užitočnejšie matica sledovateľnosti, rozhodovacie stromy alebo metamodely. Metamodely sú užitočné na diagramové zobrazenie zložitých vzťahov (ako sú modely Rose).

  • Súvisiace požiadavky: Rozhodnutia by mali byť riadené podnikaním. Aby ste preukázali zodpovednosť, explicitne priraďte svoje rozhodnutia k cieľom alebo požiadavkám. Tieto súvisiace požiadavky môžete vymenovať tu, ale zistili sme, že je pohodlnejšie odkazovať na maticu sledovateľnosti. Môžete posúdiť prínos každého architektonického rozhodnutia k splneniu každej požiadavky a potom posúdiť, ako dobre je požiadavka splnená naprieč všetkými rozhodnutiami. Ak rozhodnutie neprispieva k splneniu požiadavky, nerobte toto rozhodnutie.

  • Súvisiace artefakty: Uveďte súvisiace architektonické dokumenty, dokumenty návrhu alebo rozsahu, ktoré toto rozhodnutie ovplyvňuje.

  • Súvisiace princípy: Ak má podnik dohodnutý súbor princípov, uistite sa, že rozhodnutie je v súlade s jedným alebo viacerými z nich. To pomáha zabezpečiť zosúladenie naprieč doménami alebo systémami.

  • Poznámky: Keďže proces rozhodovania môže trvať týždne, zistili sme, že je užitočné zachytávať poznámky a problémy, o ktorých tím diskutuje počas procesu socializácie.