Drafting Strategy

How to craft useful engineering strategies

by Will Larson

Good decisions are the core of creating software, and strategy is the art of reproducibly making good decisions. Drafting Strategy explains how you can improve your organization’s decision making both as an engineer or as an executive, grounding the approach in concrete examples from real companies.

Contents

Preface

Introduction

Introduction

Is engineering strategy useful?

Who gets to do strategy?

When to write strategy, and how much?

Steps

Steps to build an engineering strategy.

Exploring

Diagnosis

Refining

Setting policy

Operations

Making engineering strategies more readable

Bridging theory and practice in engineering strategy.

Refinement

Introduction to refinement tools

Strategy testing: avoid the waterfall strategy trap with iterative refinement.

Using systems modeling to refine strategy.

Refining strategy with Wardley Mapping.

Strategies

Introduction to case studies

Uber's service migration strategy circa 2014.

Service onboarding model for Uber (2014).

Wardley mapping the service orchestration ecosystem (2014).

How should you adopt LLMs?

Modeling impact of LLMs on Developer Experience.

Wardley mapping the LLM ecosystem.

Modeling driving onboarding.

Navigating Private Equity ownership.

Eng org seniority-mix model.

How should we control access to user data?

Should we decompose our monolith?

"We're a product engineering company!" — Engineering strategy at Calm.

How to resource Engineering-driven projects at Calm? (2020)

How should Stripe deprecate APIs? (~2016)

Systems model of API deprecation

Why did Stripe build Sorbet? (~2017)

How to integrate Stripe's acquisition of Index? (2018)

Going Forward

Is this strategy any good?

How to get better at strategy?

Appendix

Strategy resources