The art of unbiased decision making

In my career I’ve seen so much uninformed or biased decisions that it’s distressing. When I ask developers why they’ve chosen a framework, technology stack you can feel the passion in their answer. Mostly however this passion is fueled, not by cold hard facts but hype. We MUST do something with nodejs, machine learning, cryptocurrency and preferably combined.

My proposal is simple and may come over as trivial. Yet I find few companies that actually follow a proper/formal method for decision taking.

Unbiased decision taking

We have to take decisions on a daily basis. Sometimes we don’t have a lot of time to compare the options, so we do what our intuition tells us to do. Make a subjective call, a quick gut-feeling call. While such decisions are made in a jiffy you’ll seldom go over all the possible options and dig deep in the pro and cons. And granted, not all decisions, like what you’ll eat for lunch call for deep thought.

Other decisions like your technology stack or framework can have a very strong impact on the future of your company and can’t be changed easily.

I therefore call for leaving your emotions at home and follow the consecutive simple recipe.

Find the options to solving the problem. Enumerate the pros/cons for each option. Give each pro/con a score: low, medium, high, critical. Summarize the scores and pick one option. Document your argumentation.

Finding options

Before finding options to your problem you should first try to express the problem in a formal way. Make sure you have agreement on the requirements of the solution. While this sounds simple it may be easier to peek around at what others with the same problem established as a requirement.

Finding the relevant options to a problem is a challenge in creativity and literature review. Chances are you are not the only person/company with that specific problem. While being creative is applauded and may give you an edge on the competition, not reviewing other peoples work is inexcusable. Your solution should be at least as good as the state of the art. Lot’s of creative solutions that are worse than the state of the art fail because of the Dunning-Kruger effect.

Enumerating the pros/cons for each option

Once you have pinpointed the options it is time to enumerate the pros/cons for each option. It is imperative you fight the urge to pick your winner at this point. Your options must be based on facts, not feelings. This is hard work. You may need to read on the experiences of others or better even, talk to someone who has taken this road. They’ll probably be eager to share what went well and what went horrid. Pro/cons must not be synonyms or antonyms of one another.

Give each pro/con a score

Rather than giving a numerical score we’ll give pro/cons a category label. A pro/con is:

trivial: This fact may be true, but is barely relevant.

medium: less than highly important.

high: highly important but not critical.

critical: Without this fact the solution isn’t relevant at all.

What these options mean is something you should agree upon before you start scoring the pro/cons and highly depends on the problem you’re solving. It’s not uncommon for people to be biased and pick absurdly high scores for what they deem the correct option. Therefore it is crucial to stick to a limited set of possible scores. Scores that can be objectively grouped.

Summarize the scores and pick one option

Picking one option should happen based on the scores you setup. The scores you have available must be limited.

To make scoring easier I found it useful to only pick the highest scores e.g. critical and compare those. If you have an equal amount of critical scores you can compare the high scores and so on. Avoid exploitation of the scoring system.

Document your argumentation

The importance of this step cannot be accentuated enough. Documenting your decisions is of great significance because:

New hires can quickly be brought up to speed on the decisions you made.

Management can see you take decisions on a consistent and professional manner.

When after a year or more you need to review a decision you can save a lot of time by not depending on your memory.

The lone decision maker

When deciding on software architecture or any long lasting management decision it’s not uncommon that one person, the manager/the lone software architect, without a doubt with plenty of experience, takes the decisions.

The advantage is that only one person needs to agree and lengthy discussions are avoided. This assumes that this savant knows the pros and cons of every option.

Chances are, however, that the lone decision maker has not seen all the options, has insufficient insight in how deeply pros/cons weigh. Decisions made by someone in an ivory tower are generally never accepted and treated with malcontent.

If the decision maker has any job at all, it is to ask opinions, research the state of the art and informing all those who are affected.

An excuse I hear often is that ‘they won’t understand’. And that may be true, but the alternative, people making a mockery of the decision or even working around it may be far worse.

I’m a strong proponent of the philosophy that ideas that spark from a single individual may be at best a rough diamond. In the internet age, where sharing information is easy, it would be a shame not to let others help refine decision taking and lift the decision into a consistent and professional solution.