Значительные технические решения должны быть осознанными, прозрачными и записанными, а не приниматься в чьей-то голове и забываться. Хороший процесс выявляет компромиссы, создает согласие и оставляет след, чтобы будущие инженеры поняли почему, а не просто что.
Структура принятия решений
1. FRAME the problem and the constraints (cost, time, team skill, scale)
2. LIST the realistic options — usually 2-4, including "do nothing"
3. EVALUATE each against the constraints and trade-offs
4. DECIDE, and state the reasoning explicitly
5. RECORD it (ADR) and communicate it
6. REVISIT if assumptions change
