Skip to main content

Put uncertainty in a box πŸ“¦

A box full of uncertainty.

I have my own version of the expression “thinking outside the box”. I put stuff that contain too much uncertainty in a box and don’t think about it. πŸ˜‰

I don’t like living with uncertainty. I prefer having control. That can make situations with a lot of uncertainty stressful for me. I naturally strive for replacing uncertainty with certainty. I want to get more information and figure out the answers to all unanswered questions.

Unfortunately, this is often hard. In many cases even impossible. For example, you just cannot know if users will like what you build.

The shape of uncertainty #

If an area feels uncertain, what helps me is to “put the uncertainty in a box”. I take the part that is uncertain, try to limit its scope, and explicitly say that it is not known yet. In some cases I may be able to imagine a possible solution or two. Other times even what problem to solve is uncertain. In any case, I put the uncertain area in a box and decide that I will not try to figure it out in detail until later.

It could also be that I could resolve the uncertainty, but it would take a lot of work and be at the cost of other things that are more important right now.

What I do try to figure out, is the shape of the box. What are the constraints of the “unknownness” of the thing I put into the box? How will the future solution to the problem fit into the bigger picture? This may require some work, but not as much as fully resolve the uncertainty. But if I can find this shape, I can at least take it into account and reduce the risk of nasty surprises. Perhaps it could be thought of as “black box architecture” or a “blind design by contract” strategy.

Example: A partner integration #

An example of this could be that I know I will need to integrate with a partner, but I don’t yet know what that integration will look like or even who the partner will be. I don’t know what protocol or standards will be used. The only thing I know is the kind of data I have and what I want. So I put all of this into a “partner integration” box. I know it is there, and I look at where to put that box in the grander scheme of things. Then I try not to think about it until I have more information.

What kind of uncertainty can you put in a box to reduce stress?