2 minute read / Oct 1, 2020 /
The 4 States of an Engineering Team
I’ve been steadily progressing through the excellent books in the Stripe Press catalog. First, I read High Growth Handbook. Most recently, I read An Elegant Puzzle: Systems of Engineering Management by Will Larson. It’s the best book I’ve read on engineering management.
Will has worked at Digg, Uber, Stripe, and is now at Calm and has seen many engineering teams endure and thrive through hypergrowth. The book abstracts out the wisdom of those times into theory abstracted from experience, not just hypothetical ideas. Will extends the concepts of systems thinking into engineering management.
The 4 states of an engineering team is a mental model that resonated with me, and I think it provides a framework for leadership teams and boards to understand the state of a developer team.
The four states are:
Falling Behind - every week, the team’s backlog deepens. The list of bugs and feature requests outstrips the team’s ability to offset them with releases. It’s time to recruit engineers to add throughput to the team. Morale is low.
Treading Water - the team sustains a good pace, but can’t embark on new projects or reduce technical debt. The solution is to reduce concurrent work (called Work in Progress in systems theory), so drive faster throughput by focusing on team projects rather than individual work.
Repaying Debt - to pay down debt, the team needs more time to invest in reducing the debt.
Innovating - craft enough slack in the system to enable the team to transition to this phase, invest in good quality code.
The state of an eng team can be opaque from the outside, and this framework illuminates the status in a simple way. It’s just one example of why An Elegant Puzzle is such a great book.
But there’s much more. Recently, many startups have tried to measure engineering throughput. Will uses systems thinking to measure productivity by looking at the engineering pipeline of pull requests, ready commits, deployed commits as a funnel with code review rates, deploy rates, and defect rates, amongst other figures.
Team reorganization is a prickly topic but the book illustrates how to handle it with aplomb, step-by-step.
If you manage engineering teams or are a startup leadership member, I highly recommend reading Will Larson’s book. The mental models and frameworks are broadly applicable and useful.