Bets

May 09, 2022

I have often chosen a solution that looked great on paper, only to continue facing the same problem year after year. Thinking in Bets makes a convincing case that everything is actually a bet. This post looks at one example and how we can discover more information to make better bets.

Background

There are two teams: Saturn and Neptune. Each maintains their own backlog and makes their own decisions about what to ship next. Saturn has a service that costs a lot to maintain. Neptune owns the service’s biggest consumer.

Architecture

The service fails 1% of the time, resulting in a consistent 2-5 issues/month. Saturn believes a different implementation can eliminate consistent failures. Reducing the failure rate would have a noticeable impact on users and on-call engineers.

Options

Saturn comes up with two possible approaches.

Creating a new API for the service is most appealing. Work can be minimal by supporting only part of the previous API. However, failures will not be reduced until Neptune updates its integration. This is the collaboration option.

Saturn can also choose to go solo. A new implementation can be swapped in, fully supporting the existing API. It does not require anything of Neptune.

Saturn feels confident it’s a lot more work to go solo.

Options by Total Effort

Choosing

Collaborating looks like the overwhelmingly better option on paper. It is about 1/3 the total effort of going solo. One could stop here, pick collaboration and charge forward. That’s not the whole story.

To get a more realistic picture of how these options compare, Neptune’s view of the work is important. Here are four reasonable scenarios to consider.

Estimated Probability by Scenario

The closer to 1, the better the collaboration option becomes.

Collaboration is a clear winner if it already aligns with Neptune’s top priority. Collaborating is also a good bet if someone on the team is passionate about getting this done.

If integrating with Saturn’s new API only aligns with one of Neptune’s stretch goals, that’s a bit more concerning. It may make sense to choose this, but re-evaluate a bit sooner than normal. The odds could also make this bet too uncomfortable, pushing Saturn to go solo.

Finally there may not be any interest in this project. Neptune may have deprecated this tool and not want to spend any more effort on it. If Saturn thinks there is no real chance, they may want to start on the solo option right away.

One way we can get more consistent results is through making better bets. Viewing decisions as bets are likely to result in better bets.


Profile picture

Written by @sghill, who works on build, automated change, and continuous integration systems.