3 Step Decision Framework to Pick Best Tech Solutions
Back around 2012 when I started working, I looked up to seasoned developers with awe.
They had tons of ideas on how to fix or implement things.
The one spoke about the pros of his solution.
The other one insisted that her's is better.
I started to pick up ideas and developing views of my own.
But still, for years I went on mostly trusting my gut and trying to pick between multiple options without a clear guidance.
It all changed in late 2019 with a 5 minutes presentation at a MeetUp in Tel Aviv.
Sefi Eini & Yariv Gdidi presented a framework they used to solve a production issue with Redis.
Multiple ideas were proposed: refactoring, additional technologies, key optimization, compression.
The framework (template at the end) helped them pick a solution that involved a few lines of code, had low risk and ended up saving money as well.
Fast forward to December 2022, I've been using this framework ever since for:
- Bug fixes
- Design decisions
- Personal projects
- Infra improvements
- Roadmap prioritizations for my team
Let's break it down
The process consists of 3 steps:
- Gather options
- Add objective rating
- Plot and Decide
1. Gather options
First you want to collect ideas.
Best is to involve other people. (I wrote here about whom to involve for best outcomes).
It brings together different:
- perspectives
- experiences
- approaches
2. Add objective rating
We want to judge the options by 3 aspects
- Cost
- Impact
- Rist
1. Cost
- How fast can we test this option?
- How long will it take to develop and release it?
- How long until this change will reach customers and start creating value?
2. Impact
- How much of the problem is it actually going to solve?
- Is is a patch or a long term solution?
- Are there other added benefits?
3. Risk
- What are the risk factors?
- Is it going to create other problems down the line?
How to rate
Start with a subjective rating.
Option #1 costs 7, has an impact of 6 and has medium risk.
Then start comparing items against each.
Does option #6 really cost 8? Is it more than #1?
Continue until you reach an objective ranking of all proposed options.
3. Plot and Decide
When you plot the options, the picture becomes much more clear.
- Y-Axis: Impact from low to high
- X-Axis: Cost from high to low
- Low left quadrant: Expensive low impact solution (avoid)
- Top right quadrant: Impactful cheap solutions
Aim to choose between cheap and impactful - ideally with littler risk.
Next steps?
Is there an issue you're trying to solve and don't know yet which road to take?
- Gather options
- Add objective rating
- Plot and Decide
P.S. Here's a template - just copy it and you're good to go.
That's it for today