An Elegant Puzzle: Systems of Engineering Management
Rate it:
Open Preview
Kindle Notes & Highlights
Read between July 26, 2021 - February 17, 2023
4%
Flag icon
Organizational design gets the right people in the right places, empowers them to make decisions, and then holds them accountable for their results.
5%
Flag icon
Organizations
ian yang
.h1
5%
Flag icon
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.
5%
Flag icon
2.1 Sizing teams
ian yang
.h2
5%
Flag icon
the fundamental challenge of organizational design is sizing teams.
5%
Flag icon
Managers should support six to eight engineers
5%
Flag icon
Tech Lead Managers (TLMs). Managers supporting fewer than four engineers tend to function as TLMs, taking on a share of design and implementation work.
ian yang
.c1
5%
Flag icon
it’s a role with limited career opportunities.
ian yang
.c2
5%
Flag icon
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.
6%
Flag icon
Managers-of-managers should support four to six managers
6%
Flag icon
On-call rotations want eight engineers
6%
Flag icon
Small teams (fewer than four members) are not teams
6%
Flag icon
Keep innovation and maintenance together.
6%
Flag icon
Teams should be six to eight during steady state.
6%
Flag icon
To create a new team, grow an existing team to eight to ten, and then bud into two teams of four or five.
6%
Flag icon
Never leave managers supporting more than eig...
This highlight has been truncated due to consecutive passage length restrictions.
6%
Flag icon
2.2 Staying on the path to high-performing teams
ian yang
.h2
7%
Flag icon
2.2.1 Four states of a team
ian yang
.h3
7%
Flag icon
A team is falling behind if each week their backlog is longer than it was the week before.
7%
Flag icon
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.
7%
Flag icon
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:
7%
Flag icon
A team is innovating when their technical debt is sustainably low, morale is high, and the majority of work is satisfying new user needs.
7%
Flag icon
2.2.2 System fixes and tactical support
ian yang
.h3
7%
Flag icon
When the team is falling behind, the system fix is to hire more people until the team moves into treading water.
7%
Flag icon
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).
7%
Flag icon
When the team is repaying debt, the system fix is to add time.
7%
Flag icon
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!
7%
Flag icon
Innovating is a bit different,
ian yang
.c1
8%
Flag icon
In this case, it’s to maintain enough slack in your team’s schedule that the team can build quality into their work,
ian yang
There is not much work or activity.
8%
Flag icon
In this case, it’s to maintain enough slack in your team’s schedule that the team can build quality into their work,
ian yang
.c2
8%
Flag icon
2.2.3 Consolidate your efforts
ian yang
.h3
8%
Flag icon
For each constraint, prioritize one team at a time.
8%
Flag icon
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.
8%
Flag icon
2.2.4 Durable excellence
ian yang
.h3
8%
Flag icon
2.3 A case against top-down global optimization
ian yang
.h2
8%
Flag icon
2.3.1 Team first
ian yang
.h3
8%
Flag icon
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,
8%
Flag icon
The lesson is that you have to account for re-gelling costs after periods of change,
9%
Flag icon
2.3.2 Fixed costs
ian yang
.h3
9%
Flag icon
most teams have high fixed costs and relatively small variable costs:
ian yang
Spliting a team into two doubles the fixed cost.
9%
Flag icon
2.3.3 Slack
ian yang
.h3
9%
Flag icon
you can often slow a team down by shifting resources to it,
9%
Flag icon
The Goal by Eliyahu M. Goldratt10 and Thinking in Systems: A Primer by Donella H. Meadows11 are both phenomenal books on this topic.
ian yang
.rl
9%
Flag icon
2.3.4 Shift scope; rotate
ian yang
.h3
9%
Flag icon
If a team has significant slack, then incrementally move responsibility to them, at which point they’ll start locally optimizing their expanded workload.
9%
Flag icon
do this slowly to maintain slack in the team,
9%
Flag icon
Shifting scope works better than moving people because it avoids re-gelling costs, and it preserves system behavior.
9%
Flag icon
The other approach that I’ve seen work well is to rotate individuals for a fixed period into an area that needs help.
9%
Flag icon
2.4 Productivity in the age of hypergrowth
ian yang
.h2
10%
Flag icon
2.4.1 More engineers, more problems
ian yang
.h3
« Prev 1 3