The role of an engineering executive often comes with the unspoken expectation of formulating an engineering strategy. This task can feel daunting, especially when the concept itself seems nebulous. This guide provides a comprehensive framework for understanding, crafting, and implementing a successful engineering strategy, drawing on real-world examples and best practices.
Understanding the Essence of Engineering Strategy
Before diving into the specifics, it’s crucial to define what an engineering strategy actually is. Richard Rumelt’s Good Strategy, Bad Strategy offers a practical definition: a strategy comprises a diagnosis, guiding policies, and coherent actions.
Diagnosis: A clear articulation of the challenges the engineering organization faces. This involves identifying root causes and understanding the current state of affairs. For example, a diagnosis might identify low developer productivity due to inefficient tooling as a key challenge.
Guiding Policies: The approaches and principles that will guide the organization in addressing the diagnosed challenges. These policies often involve trade-offs. For example, a guiding policy might prioritize investing in automated testing over manual testing to improve long-term efficiency.
Coherent Actions: Specific steps and initiatives aligned with the guiding policies to tackle the identified challenges. These actions are the practical manifestation of the strategy. For example, a coherent action might be to allocate resources to develop a new automated testing framework.
A common pitfall is mistaking a vision for a strategy. A vision describes a desired future state, while a strategy outlines the path to get there, acknowledging current realities and constraints.
The Engineering Strategy Development Process
Creating an effective engineering strategy requires a structured approach. The following steps offer a roadmap for engineering executives:
Lead the Charge: Own the strategy creation process. Your unique perspective as the engineering leader is essential.
Identify Stakeholders: Determine key individuals within and outside engineering who need to be aligned with the strategy. This might include the executive team, product leadership, and senior engineers.
Form a Working Group: Select a smaller group of stakeholders for early feedback and collaboration. This group will provide valuable input throughout the process.
Diagnose the Challenges: Analyze existing data, including roadmaps, financial plans, developer surveys, and performance metrics. Gather insights from 1:1s and team meetings to understand the current challenges and their root causes. Validate your diagnosis with the working group.
Establish Guiding Policies: Based on the diagnosis, formulate guiding policies that address the identified challenges. Seek feedback from the working group and, ideally, external engineering executives for an objective perspective.
Socialize the Draft: Share the diagnosis and guiding policies with the broader stakeholder group. This step helps build consensus and gather further feedback.
Define Coherent Actions: Develop specific actions that directly address the guiding policies and the diagnosed challenges. Iterate with the working group to refine these actions.
Address Potential Concerns: Proactively engage with individuals who might disagree with the strategy. Listen to their feedback and address their concerns where appropriate.
Communicate and Gather Feedback: Present the strategy to the entire engineering organization, explaining the rationale and answering questions. Establish a short feedback period.
Finalize and Review: Incorporate relevant feedback and finalize the strategy. Announce the finalized strategy and schedule a review after a couple of months to assess its impact.
Navigating the Absence of Broader Company Strategies
Often, engineering strategies are developed in the absence of documented business or product strategies. While this presents a challenge, it’s essential to understand the implicit strategies of other functions to effectively align your engineering strategy.
Engage with relevant executives to understand their priorities, challenges, and approaches. Document these implicit strategies to inform your own thinking. Focus on key questions like cash-flow targets, investment thesis, user needs, competitive threats, and current pain points.
Structuring Guiding Policies for Maximum Impact
Guiding policies are the core of your engineering strategy. Focusing on the following three key questions can help ensure clarity and effectiveness:
Resource Allocation: How will resources be allocated across different priorities? Clearly define the rationale behind the allocation and connect it to the diagnosis. For example, allocate a specific percentage of engineering capacity to platform improvements, justifying the investment by linking it to improved developer productivity and reduced technical debt.
Fundamental Rules: What are the non-negotiable rules that all teams must follow? Explain the reasons behind these rules to foster understanding and compliance. For example, mandate the use of a specific programming language for all backend services to simplify tooling and improve code maintainability.
Decision-Making Process: How are decisions made within engineering? Clearly define the levels of autonomy and the escalation paths for different types of decisions. This empowers teams while ensuring alignment with the overall strategy. For example, empower teams to choose their own testing frameworks within a predefined set of approved options, with an escalation path for proposing new frameworks.
Ensuring Guiding Policies Maintain the Right Altitude
Guiding policies should provide direction without being overly restrictive. To achieve this balance, consider the following criteria:
Applicability: Can the policy be applied to real-world scenarios and trade-offs? Avoid vague or impractical policies.
Enforceability: Will the policy be enforced consistently? Unenforced policies erode trust and undermine the strategy.
Leverage: Does the policy create compounding or multiplicative impact? Focus on policies that significantly improve efficiency or unlock new capabilities.
Defining Coherent Actions
Coherent actions translate guiding policies into concrete steps. These actions typically fall into three categories:
Enforcements: Actions that ensure adherence to the defined rules and policies. This might involve establishing review processes or implementing automated checks.
Escalations: Clear processes for challenging policies or raising concerns. A well-defined escalation path encourages constructive feedback and prevents bottlenecks.
Transitions: Steps to move from the current state to the desired state, such as resource shifts, team reorganizations, or technology migrations.
Addressing Concerns about Top-Down Strategy
Some might argue that a top-down strategy stifles autonomy. However, strategy, by its nature, requires a degree of top-down direction to ensure alignment and leverage. The key is to strike a balance between providing direction and empowering teams.
Concerns about top-down strategy often stem from a lack of transparency or inclusivity in the strategy development process. By involving stakeholders, addressing concerns proactively, and clearly explaining the rationale behind the strategy, you can mitigate these concerns and build buy-in.
Starting Simple and Iterating
Developing an engineering strategy doesn’t have to be an overwhelming undertaking. Start by documenting your existing implicit strategies. This creates a foundation for discussion and continuous improvement. Don’t aim for perfection from the outset; iterate and refine your strategy over time. The most important thing is to start.
FAQ
Q: How often should the engineering strategy be reviewed and updated?
A: Ideally, the engineering strategy should be reviewed at least annually, or more frequently if significant changes occur in the business or technology landscape.
Q: What if there’s resistance to the strategy from certain teams or individuals?
A: Engage with those expressing resistance, understand their concerns, and address them where possible. Clearly communicate the rationale behind the strategy and the benefits it aims to achieve.
Q: How can we measure the success of the engineering strategy?
A: Define key performance indicators (KPIs) aligned with the goals of the strategy. Track these KPIs regularly to assess the impact of the strategy and identify areas for improvement. Examples of KPIs might include developer productivity metrics, cycle time, or the number of production incidents.
We encourage you to share your thoughts and experiences with implementing engineering strategies. What challenges have you encountered, and what solutions have you found effective? Let’s learn from each other and build better engineering organizations.