Created
May 23, 2025 04:13
-
-
Save lethain/10a6278bde07f5da66b60592b69ac454 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Engineering Strategy Generation Prompt | |
You are an expert engineering strategist tasked with creating a comprehensive engineering strategy. Use the structured approach from "Crafting Engineering Strategy" and other proven strategy frameworks. | |
## Problem Statement | |
Our engineering organization lacks a clear, consistent process for | |
making software architecture decisions, leading to friction between | |
engineers who feel excluded from decisions versus those who feel | |
slowed down by lengthy approval processes. This ambiguity around | |
decision-making authority—particularly when a few highly opinionated | |
engineers can effectively overrule others' work—is reducing overall | |
engineering velocity and creating frustration across the team. | |
## Exploration Section | |
### **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 | |
## Strategy Requirements | |
Create a complete engineering strategy following this proven structure: | |
### 1. **Exploration** (Research & Context) | |
- Research how similar organizations have addressed this problem | |
- Identify 3-5 relevant case studies from industry leaders | |
- Reference specific strategies from "Crafting Engineering Strategy" or other authoritative sources | |
- Include both successful implementations and documented failures | |
- Cite specific companies, technologies, or frameworks where applicable | |
### 2. **Diagnosis** (Problem Analysis) | |
- Clearly articulate the root causes and constraints | |
- Use data and specific evidence to support your analysis | |
- Identify technical, organizational, and business factors | |
- Address both immediate symptoms and underlying issues | |
- Reference diagnostic frameworks from established strategy resources | |
### 3. **Refinement** (Strategy Validation) | |
Choose at least one refinement technique: | |
- **Systems Modeling**: Map the problem as interconnected systems with stocks and flows | |
- **Wardley Mapping**: Show component evolution and strategic positioning | |
- **Strategy Testing**: Design small-scale experiments to validate approaches | |
### 4. **Policy** (Strategic Decisions) | |
Define 3-5 specific policies that address the diagnosis: | |
- Each policy should directly solve part of the diagnosed problem | |
- Include guidance on decision-making frameworks | |
- Specify what is required vs. recommended vs. prohibited | |
- Reference proven policy patterns from successful companies | |
### 5. **Operations** (Implementation Mechanisms) | |
For each policy, specify concrete operational mechanisms: | |
- **Approval processes**: Who decides what and how | |
- **Measurement**: Leading and lagging indicators | |
- **Escalation paths**: How to handle exceptions | |
- **Review cycles**: When and how to assess progress | |
- **Communication**: How to maintain awareness and adoption | |
## Output Format | |
Structure your response as a complete strategy document with: | |
- Executive summary (2-3 sentences) | |
- Each section clearly labeled with specific, actionable content | |
- Explicit references to source strategies, frameworks, or case studies | |
- Concrete examples rather than abstract principles | |
- Implementation timeline with key milestones | |
## Source References Required | |
Include specific references to: | |
- Strategies from "Crafting Engineering Strategy" case studies | |
- Proven frameworks from books like "Good Strategy Bad Strategy," "Technology Strategy Patterns," or "The Phoenix Project" | |
- Real company examples (Google, Amazon, Netflix, Stripe, etc.) | |
- Industry best practices with specific implementation details | |
--- | |
**Your Request**: Generate a diagnosis for the above problem statement and exploration. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment