← Back to context

Comment by hinkley

10 years ago

I think the concept you're trying to described is Reversible Decisions (unfortunately I can't recall who coined that phrase).

The idea is that any decision that is straightforward or easy to change should not be sweated over for any appreciable amount of time, and in fact can be deferred indefinitely (deciding not to decide).

Meanwhile, any decision or indecision that will have long term repercussions should be considered at length and with all due haste.

I mention indecision here deliberately, because things like deciding not to put authentication into your application in version 1 counts as a decision, one with far reaching and usually fairly aggravating (IME at least) long term effects on the project. Others would include thread safety, the ability to cluster or shard your design, multilingual support, audit trails, etc. If you are the only solution in the space then you often have time to correct these mistakes. But if one of your competitors figures these things out before you, you can find yourself in real trouble (one of the aspects of the Innovators Dilemma).