Fixing delivery: a guide for engineering managers
Tyler Cipriani Posted

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.

The purpose of SaaS is selling out
Tyler Cipriani Posted

The purpose of a system is what it does.

–Stafford Beer, What is Cybernetics

MyFitnessPal’s announcement to the “community”

Yet another Software as a Service (SaaS) is hawking my own data back to me.

The nutrition tracker MyFitnessPal announced it’ll now cost $80/yr to scan barcodes—a service powered by a database crowdsourced from its dumb users (like me!).

But it’s ok—this is yet another software as a service (SaaS) company fulfilling its ultimate purpose: selling out its users.

The purpose of a system is what it does

So what does a SaaS company do? The typical lifecycle seems to be:

  • Build a software product
  • Attract new users and collect their data
  • Sell the software to BigCompany™
  • Destroy the product
  • Sellout users
  • Repeat.

Management cyberneticist and author Stafford Beer coined the phrase, “The purpose of a system is what it does” (POSIWID) to describe a system that may be at odds with its stated purpose.

A SaaS company is a system built to extract and sell user data.

The lifecycle of SaaS

This is as natural as a lion taking down an antelope: no malice, just the way things are. And there is a lot of value created along the way:

  • Users get to use a product while it exists
  • Employees of the SaaS get paid and gain experience

But that’s the deal: the only things that outlive the SaaS are the wealth created from the sale of user data and the user data itself.

Community is how they get you

It is beyond the scope of anyone’s imagination to create a community.

– Jane Jacobs, The Death and Life of Great America Cities

For a SaaS to harvest my data, it has to convince me I’m part of a community.

Weather Underground did this well.

The Weather Underground attracted a devoted group of nerds (like me!) to its “Personal Weather Station” (PWS) network.

We bought our own weather stations and supplied the Weather Underground with data for free.

And later, the SaaS model did what it always does. Weather Underground sold to IBM and announced that to “enhance the relationship” with its users: you had to buy your own data back from them.

Now I am among the ham nerds sending data to the Citizen Weather Observer Program (CWOP) ¯\_(ツ)_/¯.

Software as a Service as a lifestyle business

Instead of being widely shared, the pattern languages which determine how a town gets made become specialized and private.

– Christopher Alexander, The Timeless Way of Building

Maybe I’m näivé, but I believe many SaaS founders and employees enjoy solving problems for their users. And maybe they believe scaling up (by selling out) will ultimately help users.

But we could change this.

Instead of selling out their users, SaaS companies could opt to become lifestyle businesses.

We could celebrate companies who avoid endless scaling and instead focus on keeping their products working and their users happy.

Examples I can think of SaaS companies who care about their users:

  1. Pinboard
  2. NewsBlur
  3. Tarsnap
  4. Mullvad

Plenty of folk dream of opening a little bookstore or a quaint coffee shop—the kind with a lazy cat. Why not a cozy website? Seems viable. It could even have a lazy cat.

Aug 2022
S M T W T F S