More on this book
Community
Kindle Notes & Highlights
by
Will Larson
Read between
July 26, 2021 - February 17, 2023
Organizational design gets the right people in the right places, empowers them to make decisions, and then holds them accountable for their results.
When I have a problem that I want to solve quickly and cheaply, I start thinking about process design. A problem I want to solve permanently and we have time to go slow? That’s a good time to evolve your culture. However, if process is too weak a force, and culture too slow, then organizational design lives between those two.
the fundamental challenge of organizational design is sizing teams.
Managers should support six to eight engineers
Coaches. Managers supporting more than eight or nine engineers typically act as coaches and safety nets for problems. They are too busy to actively invest in their team or their team’s area of responsibility.
Managers-of-managers should support four to six managers
On-call rotations want eight engineers
Small teams (fewer than four members) are not teams
Keep innovation and maintenance together.
Teams should be six to eight during steady state.
To create a new team, grow an existing team to eight to ten, and then bud into two teams of four or five.
Never leave managers supporting more than eig...
This highlight has been truncated due to consecutive passage length restrictions.
A team is falling behind if each week their backlog is longer than it was the week before.
A team is treading water if they’re able to get their critical work done, but are not able to start paying down technical debt or begin major new projects.
A team is repaying debt when they’re able to start paying down technical debt, and are beginning to benefit from the debt repayment snowball:
A team is innovating when their technical debt is sustainably low, morale is high, and the majority of work is satisfying new user needs.
When the team is falling behind, the system fix is to hire more people until the team moves into treading water.
When the team is treading water, the system fix is to consolidate the team’s efforts to finish more things, and to reduce concurrent work until they’re able to begin repaying debt (e.g., limit work in progress).
When the team is repaying debt, the system fix is to add time.
Especially for a team that started out falling behind and is now repaying debt, your stakeholders are probably antsy waiting for the team to start delivering new stuff, and your obligation is to prevent that impatience from causing a backslide!
For each constraint, prioritize one team at a time.
Adding new individuals to a team disrupts that team’s gelling process, so I’ve found it much easier to have rapid growth periods for any given team, followed by consolidation/gelling periods during which the team gels. The organization will never stop growing, but each team will.
Fundamentally, I believe that sustained productivity comes from high-performing teams, and that disassembling a high-performing team leads to a significant loss of productivity,
The lesson is that you have to account for re-gelling costs after periods of change,
you can often slow a team down by shifting resources to it,
If a team has significant slack, then incrementally move responsibility to them, at which point they’ll start locally optimizing their expanded workload.
do this slowly to maintain slack in the team,
Shifting scope works better than moving people because it avoids re-gelling costs, and it preserves system behavior.
The other approach that I’ve seen work well is to rotate individuals for a fixed period into an area that needs help.