Architecture Decision Record

Active theme: Light

← документи

Кой може да създаде ADR?

Обмислете области като конкретни хора, конкретни роли, конкретни екипи или конкретни отдели; обмислете също дали има хора, роли, екипи или отдели, които могат да възложат ADR, т.е. да поискат такъв, който друг ще напише.

Примерен отговор: Всеки човек в нашата организация, който е прочел страницата README за записа на архитектурно решение, може да предложи ADR, т.е. може да започне да го пише и да го сподели с екипа.

Какво оправдава създаването на ADR?

Обмислете области като начина на работа на екипа във вашата организация, структурата на вашата софтуерна система, координацията между екипите, дългосрочната поддръжка, външните интерфейси, кой искате да се ползва и подобни.

Примерен отговор: Искаме да създадем ADR, когато искаме бъдещите разработчици да разберат „защо“ правим това, което правим.

Какво оправдава несъздаването на ADR?

Обмислете области като решения, които не са свързани с архитектура или са малки, например с минимален риск, самостоятелни или от един разработчик, или вече са напълно покрити другаде, например от стандарти, политики или документация, или са временни, например временни заобикалящи решения, доказателства за концепция или експерименти.

Примерен отговор: Искаме да пропуснем ADR, когато решението е ограничено по обхват, време, риск и разходи или вече е покрито другаде.

Какъв е жизненият цикъл на ADR?

Обмислете области като процеса на създаване, процеса на проучване, процеса на вземане на решение, процеса на реализация и процеса на изтегляне от употреба. Обмислете как да проследявате жизнения цикъл на ADR във времето, например как да преместите ADR от едно състояние в следващото и как да съобщите това на заинтересованите страни.

Примерен отговор: Искаме ADR да има пет етапа от жизнения цикъл: Иницииране → Проучване → Оценяване → Реализиране → Поддържане → Изтегляне от употреба.

Какви са критериите за стъпките от жизнения цикъл на ADR?

Обмислете области като критерии за приемане на ADR, т.е. как да разберете, че е достатъчно добър, за да премине от една стъпка от жизнения цикъл към следващата? Проблемът ясно ли е формулиран? Разгледани ли са алтернативите? Компромисите достатъчно добре ли са разбрани и документирани? Налице ли е целият съответен контекст? Участват ли всички съответни заинтересовани страни? Включена ли е цялата обратна връзка?

Примерен отговор: Искаме по ADR да гласуват заинтересованите страни, когато активният екип е 1) завършил своето проучване, 2) завършил своята оценка, 3) публикувал предложението за ADR на заинтересованите страни с молба за коментари и срок от една седмица, 4) всички коментари на заинтересованите страни са включени и обработени.

Какви роли и отговорности взаимодействат с ADR?

Обмислете роли като предложител, изследовател, оценител, рецензент, одобряващ, поддържащ и подобни. Обмислете отговорности като комуникация със заинтересованите страни, гарантиране на изпълнението на очакванията, споделяне на уебсайта или интранета и периодичен преглед на работата, особено когато настъпят съществени промени.

Примерен отговор: Искаме всеки ADR винаги да има основно лице за контакт, второстепенно лице за контакт и отговорен екип; те отговарят за комуникациите, публикациите, поддръжката, периодичния преглед поне веднъж годишно и евентуалното изтегляне от употреба при нужда.

Как управлението (governance) взаимодейства с ADR?

Обмислете области като начина на работа на вашата организация, всякакви специални нужди от съответствие, например за правни аспекти или аспекти на човешките ресурси, как искате да се справяте с консенсус срещу конфликт срещу ескалация. Има ли области, хора или екипи, които могат да имат по-голямо влияние от други по отношение на ADR, например да могат да го одобрят, да гласуват по него или да му наложат вето?

Примерен отговор: Управлението на ADR е в този приоритетен ред: главният изпълнителен директор, техническият директор, юридическият директор, екипът, който реализира ADR, експертите в екипа, които са най-запознати с AD. Никой друг няма управленска власт, освен ако не е описано в ADR.

Какви принципи взаимодействат с ADR?

Обмислете области като начина на работа на вашата организация, който включва действие бързо срещу действие бавно, консенсус при решенията срещу конфликт при решенията, предпочитания към риск срещу предпочитания към безопасност, публична дискусия срещу частна дискусия и подобни.

Примерен отговор: Използваме лидерските принципи за склонност към действие, несъгласие и ангажираност (disagree-and-commit), 70% оценки са достатъчно добри за лесно обратими и лесно изолируеми решения и публичен начин на работа, с изключение на поверителната информация, както е описано в споразумението за поверителност на нашата организация.