📝§ Decisions
- Architecture as a set of important decisions—decisions are inherent part of software architecture
- Tracking:
- Maintain a decision todo list—track decisions along with tasks
- Deciding:
- Make decisions at the Last Responsible Moment
- Lightweight RFC-like process
- Have more options to choose from:
- Vanishing Options Test—“You cannot choose any of the current options you’re considering. What else could you do?”
- Execs who weigh more options actually make decisions faster
- Set decision-making rules when team consensus stalls
- Documenting:
- Be wary of wasting time documenting design decisions—not all decisions are worth documenting
- Documenting decisions
- Architecture Decision Record—a format for documenting decision
- Present ADRs as simply “decisions”—this will encourage others to document their decisions as well (architectural or not)