Based on research across technology organizations, three distinct approaches have emerged for managing architecture decision-making, each with documented successes and failures:
Stripe's approach:
- Architecture decisions are made by the implementing team
- A group of senior engineers (Staff+) provides feedback and guidance
- No formal approval is required, but teams are expected to incorporate feedback
- Escalations go to engineering leadership only for disagreements on critical decisions
Netflix's "Freedom and Responsibility":
- Engineers make decisions within their sphere of responsibility
- Context is shared broadly through documentation and RFCs
- "Keeper test" ensures high-performing individuals drive decisions
- Strong emphasis on documentation to enable distributed decision-making
Amazon's "Two-Pizza Team" model:
- Each service team owns their architecture decisions
- "Well-Architected Framework" provides consistent evaluation criteria
Google's approach uses Technical Lead Networks:
- Technical Leads (TLs) in each area coordinate architecture decisions
- Area-specific expertise concentrated in dedicated roles
- Regular "Architecture Review Committee" for company-wide decisions
- Strong emphasis on written design documents and peer review
Microsoft's historical model (pre-cloud transformation):
- Central architecture board approves all significant decisions
- Detailed architecture standards and governance processes
- Technology choices limited to approved stack
- Strong emphasis on consistency and risk management
Traditional enterprise approach seen at companies like IBM, Oracle:
- Enterprise architects define technology standards
- Project approval gates require architecture compliance
- Centralized technology evaluation and vendor management
- Risk mitigation prioritized over speed
Michael Nygard's pattern, widely adopted across industry:
- Lightweight documentation of architecture decisions
- Captures context, options considered, and rationale
- Immutable record enabling future teams to understand reasoning
- Successfully implemented at ThoughtWorks, Spotify, and numerous startups
The "Architectural Decision Authority" pattern:
- Clearly defined decision rights at different organizational levels
- Escalation paths for cross-cutting concerns
- Balance between autonomy and coordination
- Specific implementation guidance for different organization sizes