“The Birches” by littleclyde

Depth-First Decision-Making

Advantages of going deep when making a big decision

Published in
3 min readFeb 21, 2020

--

Some decisions are big. They take time to work through and analyse. And are potentially risky to make.

Recently my team started looking into whether it is a good time to replace our home-built, custom Kubernetes cluster with a more managed setup. Our cluster was built in a time where the now popular solutions (EKS, GKE, …) did not yet exist. So it was time for a look around the current landscape.

As you can imagine, this is by no means an easy decision — or a quick one. It might affect every single one of our applications, as well as every team. The effort to migrate might be months. We need to do our due diligence to have confidence in the decision.

How do we best go about analysing the solutions and making a good decision?

If we would know all the players in the market, as well as all the benefits and downsides for each of them, the decision would be easy. We could use a straightforward decision tree, traverse it down and be done with it.

Most decisions do not work this way though. You either have to make it with incomplete information, or you have to first acquire enough information to reach a certain level of confidence.

In this case, you can still use a tree to help, but it is not a decision tree. You want an Exploration Tree.

Exploration trees are incomplete. A big part of your work is to fill in the gaps and remove options that are unsuitable.

In our case, we tried to find all potential cluster management tools (add branches to the tree), rule out the unsuitable ones (remove branches), and find out attributes about them (to help make a decision).

Now let us clarify one last goal of the decision-making process: To come to a decision quickly. Yes, you want to make a good decision that is not gonna bite you in a few months. But you also do not want to take years exploring.

Back in our exploration tree, you want to remove branches from the tree — as close to the root as possible. If you can avoid to explore certain avenues, it will save you time and effort.

This is where the concept of depth-first decision-making comes in. You can rule out 50–80% of providers by going deep into a couple of solutions that are high potential. In contrast, breadth-first is more thorough, but will be a costly exercise and the decision will take forever. For example, analysing the features of every single cluster management provider is a waste of time.

Depth-first gives you a way to rule out some avenues (branches) without having to look at the whole tree in detail.

Interested to learn more about Redbubble and how we work? Read up on our Medium Publication or go straight to our Careers Page.

--

--

Writing about Leadership and Personal Development. Director of Engineering @ Redbubble.