2024-01-15

Make great decisions quickly

While at Shopify I did some engineering management training, and one of the things we spent time on was making great decisions quickly. This post will outline that framework. At the end, I’ll share a bit more about what a great decision is, and why it’s hard to make one.

I’ve used this framework to drive decisions with engineering teams, in solo work, during tech design discussions, and even in personal situations with my partner and family.

In each case, it’s amazing how much this system helps.

Steps

  1. Use a whiteboard, physical or digital
  2. Time box
  3. Brainstorm
  4. Meta Questions
  5. Make your decision

0. Use a whiteboard

If you are making a decision with a friend(s), use a whiteboard. Having your ideas concretely written down is powerful and makes weighing your options much easier. Something about working remotely seems to make people hesitant to do this. Lean into digital whiteboards. You only need one person taking notes on the whiteboard.

1. Time box

Pick a reasonable amount of time to make the decision. Try and choose a smaller amount of time to force you to prioritize and identify risks. I’ve used this framework to make a decision within a single meeting with co-workers, or even taking up to a week to decide. As a rule of thumb, the harder something is to reverse, the more time you should spend on it.

2. Brainstorm

Brainstorm options, ideas and context for your situation. Create some sticky notes and throw them on your whiteboard. Involve others to help get the whole picture and check your biases.

3. Meta Questions

Decide on what you should be optimizing for? For example: Developer Experience, User experience, cost, learning etc. Throw the different things you optimizing for up onto a whiteboard, and prioritize them from most to least important.

4. Make your decision

Run your options brainstormed against your top few meta questions. If in step 3 you decided it was most important to build this as fast as possible, while keeping a high bar for user experience, which option maximizes those?

What’s a great decision?

A great decision isn’t about the outcome. Some things are outside of your control. A great decision is about the process of making that decision. It’s about how the decision was made, and how it was executed.

It’s hard to make a great decision. Engineers have a tendency to bike shed, or over think a situation resulting in no decision being made. We have our own internal biases and blind spots. Communicating why a decision was made can be a struggle in itself.

We used this framework when deciding to rebuild shopify.com/flow. I’ve used it when building out connectors for flow. Both of these meant interacting with groups of people and stakeholders spread far across the company. I’ve also used it to help decide on home renovation projects and to help my brother choose a career.

Trying to make a big decision without a framework can feel like trying to balance wriggly puppies on a scale. They don’t sit still, and if they do, it’s only for a short period before the start to wriggle again… I hope this framework helps you make great decisions quickly.

Untitled