Making decisions can be difficult; here are my models for making them.
Imagine you need to choose between different vendors for an Anti-Virus. Looking at alternative vendor websites makes it hard to compare solutions. It’s easy to make a choice that doesn’t satisfy all the requirements. Having a scorecard that compares all the solutions makes it easier and reduces mistakes.
|Criteria||AV X||AV Y|
Scorecards are a tool I first learned about from a recruiting book and have repurposed for engineering.
Radar Charts are a great way to compare the attributes of different solutions. As software engineers, we need to remind ourselves that there are no silver bullets. Radar charts make this obvious.
For example, imagine you need to choose between different software architectures. Their “ilities” should be considered—scalability, observability, changeability, reversibility, and so on.
List the “ilities” that are important to you and graph them for each alternative.
Costs for being wrong
Keep in mind the cost (usually money and time), risk, long-term consequences, and reversibility of the decision.
If these aren’t severe and you are OK with the consequences, don’t waste time making the decision. Just make it and move on.
I’ve seen too many people anguish over choices that they could have made in a few minutes.