Low impact / High reversibility< > >
If the decision's impact is low and you can easily undo it, there is little harm to be done.
You probably shouldn't get hung up on it for too long because discussions might take longer than trying something out.
These decisions usually are good for experimenting.
Run with something for a couple of weeks and see how it goes.
Low impact / Low reversibility< > >
When you make this kind of decision, it makes a part of your system harder to change.
However, since the impact is so low, that might not matter this much.
It might make sense to defer the decision until you have more context.
You should probably at least have some discourse with people about it, but that should be time-boxed.
High impact / High reversibility< > >
Probably try to make this decision as soon as possible.
Given that the impact is high, people might want to have some guidelines on how to proceed.
It also helps to not work in opposite directions.
Should anyone figure out that the decision wasn't optimal, the high reversibility is your friend, and you can easily course correct.
High impact / Low reversibility< > >
Be very careful with this kind of decision.
People will probably want a decision, but given that you have a small margin for error, you need to make sure that you have everything you need to make the call.
At this point, you might want to think about whether you can turn the big decision into smaller ones with better attributes for impact and reversibility.
Defer decisions if possible<
">Incremental development is key.
Because when we deliver software in small increments, the amount of decisions we need to make for each increment is also tiny.
This approach makes it also easier to come up with more easily revertible decisions and fewer ones that need to stay forever.
How do you make decisions?
Tell me on Twitter: @philgiese .