Recently, I am thinking quite a bit about engineering strategy,
and as part of that have started re-reading previous resources
on the topic, and looking for new things to read while I refine
my point of view on what makes for good engineering strategy.
The best introduction to my current theory of engineering strategy is
Solving the Engineering Strategy Crisis,
which has both written and video versions.
You can also reading my other strategy writing via the strategy tag.
Let me know what I’m missing from this page!
In addition to my own Staff Engineer
and The Engineering Executive’s Primer,
both of which have chapters on engineering strategy, some interesting books on this topic are:
- Technology Strategy Patterns by Eben Hewitt – a method-focused book
on creating and communicating engineering strategy
- The Value Flywheel Effect by Anderson, McCann, and O’Reilly – an introduction
to Wardley maps via an exploration of Liberty Mutual’s rationale for serverless
- The Phoenix Project by Kim, Behr, and Spafford – a
modern retelling of Goldratt’s The Goal,
which shows how to model and resolve problems using constraint optimization.
Previously, I would not have considered this a strategy book, but as my opinion on what strategy is
evolves (mapping plus guiding policies), I think it demonstrates a useful mapping strategy
- Enterprise Architecture as Strategy
by Jeanne Ross, Peter Weill, and David Robertson — an interesting read from 2006 on
the evolution of software (e.g. IT in that era’s vernacular) maturity within businesses,
and deciding among strategies for coupling and integration across business units
- Architecture Modernization
by Nick Tune with Jean-Georges Perrin – covers much of the same topics as Technology Strategy Patterns
and The Value Flywheel Effect, but often with more recent examples and references given its later publication date
Here are books that tackle strategy more generally (e.g. not engineering strategy):
- Good Strategy, Bad Strategy by
Richard Rumelt – the most helpful strategy book that I have ever read, because it actually provides a usable
definition of strategy
- The Crux by Richard Rumelt – another good book by Richard Rumelt,
this one more oriented on how to create strategies and why strategy creation often fails.
(And less structurally focused on documenting strategies than Good Strategy, Bad Strategy.)
- Thinking in Systems: A Primer by
Donella Meadows – a book on systems thinking, which for a long time was my sole tool for mapping things around me.
This is not a software engineering book, but provides a lens into a useful mapping mechanism that you can apply to
software and software development (Why limiting work-in-progress works is one example of
me using systems thinking to model a software system)
- *How Big Things Get Done by Bent Flyvbjerg and Dan Gardner – a
fascinating look at why some megaprojects fail so resoundingly and why others succeed under budget and under schedule.
Connects to many related topics, such as how benchmarking can help evaluate guiding policies within a strategy
Every discussion of engineering strategy includes a weary remark about how few strategies are
publically document. Acknowledging that concern, some case studies that I’ve found:
- Solving the Engineering Strategy Crisis – is both a blog and a video that includes a short capture of Uber, Stripe and Calm’s engineering strategies
- Magnitudes of exploration documented a public version of Stripe’s Engineering strategy
- The Value Flywheel Effect (linked under “Books” header above) is a good case study of Liberty Mutual’s engineering strategy, and additionally includes case studies for A Cloud Guru, Workgrid, and BBC
- Run less software by Rich Archbold – a fantastic writeup of
a cornerstone of Intercom’s engineering strategy
- How Big Technical Changes Happen at Slack by Adams and Rodgers – this is not
quite Slack’s engineering strategy, but it has many components of their engineering strategy within it
- The difficult teenage years: Setting tech strategy after a launch by Anna Shipman – a look at
FT’s engineering strategy, particularly one that wasn’t really defined until somewhat late in the lifecycle
(which is an extremely common occurence, even if we don’t admit it)
A few more resources that are either case study-ish or engineering-ish, so they don’t
quite fit in the above list, but are nonetheless relevant reads:
- BoringTechnology.club by Dan McKinley – a guiding principle that many engineering strategies include
- GitLab Strategy – ok, it’s actually the GitLab company strategy.
but given they’re a technology company that builds technology for technologists, it’s an interesting read despite being
at a slightly higher altitude than an engineering strategy
- Engineering Strategy is a Fractal by Aleix Morgadas – an
interesting take on the idea of strategy concurrently existing at multiple layers of the organization
- Defining a Tech Strategy
by Sarah Taraporewalla – an interesting template and approach to tech strategy.
I’m not sure if the author had read Technology Strategy Patterns, but many of the ideas from that book show up here as well,
but with different examples and nuance
Engineering principles or values
Many folks view principles or values as the same thing as strategy.
I don’t agree with that myself, but often principles and values represent a component of strategy
for a given company, and consequently are interesting to look at in this context:
Collections of stuff
There are some good resources out that collecting engineering strategy links:
If there’s something important or interesting that’s missing here – let me know!