Humans, by and large, feel good when they set small goals and meet them regularly.

– Camille Fournier, The Manager’s Path

Shipping motivates software teams.

So it’s understandable for a team’s morale to suffer when delivery drags.

Getting the team pushing software they’re proud of is the only cure. It might be a slog to get there, but it’s possible if the team works together and the manager recognizes the unique role they play.

🛠️ Managers get to make system fixes

As a manager, your obligation is to identify the correct system solution

– Will Larson, An Elegant Puzzle

In his book An Elegant Puzzle: Systems of Engineering Management, Will Larson distinguishes between system fixes vs. tactical support for engineering teams.

An Elegant Puzzle by Will Larson

System fixes are large-scale interventions: hiring, changing the team’s goals, and changing deadlines.

And, typically, engineering managers are the only people empowered to employ system fixes.

In contrast, tactical support is a smaller-scale intervention like changing code review guidelines.

The real job of an engineering manager is to identify the correct system fix and keep the faith of the team.

⛔ Limit work in progress

The system fix for a code delivery problem is simple (but not easy): do fewer projects.

If you’re unable to drop your existing projects, you artificially do fewer projects—you limit your work in progress.

The menu of system fixes Larson offers are:

  • Add people
  • Limit work in progress
  • Add time
  • Make sure there’s slack in the schedule

Limiting parallel work gets people working together on what’s essential.

🤦 Don’t mistake people for “resources”

Oversimplifying outrageously, we state Brooks’s Law: Adding manpower to a late software project makes it later.

– Fred Brooks, The Mythical Man-Month

The primary objection to limiting work in progress is Brooks’s Law—adding people slows down projects.

And although managers may odiously refer to people as “resources,” people are not interchangeable. It takes time for a new person to become productive on a new project.

The Mythical Man Month by Fred P. Brooks, Jr.

But system fixes are long-term.

This isn’t the way to quickly deliver on a late project or instantly gel your team and boost morale. Most of these interventions will be disruptive and painful in the short term.

And your team needs to have trust to implement them.

That’s why it’s so essential, tactically, to keep the faith of your team. As a manager, you must collaborate with your team to identify crucial work.

You should provide tactical support for your team’s ideas while you let the system fix work its magic.

Thanks to Brennen Bearnes for reading an early draft of this post and making it marginally less awful.