Skip to content

Instantly share code, notes, and snippets.

@lethain
Created May 23, 2025 04:02
Show Gist options
  • Save lethain/d61bb97f137e976ebe0de86bbb85b0ff to your computer and use it in GitHub Desktop.
Save lethain/d61bb97f137e976ebe0de86bbb85b0ff to your computer and use it in GitHub Desktop.

Exploration: Engineering Architecture Decision-Making Frameworks

Industry Patterns and Precedents

Based on research across technology organizations, three distinct approaches have emerged for managing architecture decision-making, each with documented successes and failures:

1. Advisory Architecture Process (Stripe/Netflix Model)

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

2. Federated Architecture Councils (Amazon/Google Model)

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

3. Centralized Architecture Authority (Traditional Enterprise)

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

Framework References from Established Strategy Resources

Architecture Decision Records (ADRs)

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

Technology Strategy Patterns (Eben Hewitt)

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment