Sometimes a decision absolutely must be made, but we know we don’t have all of the necessary information. Therefore, deferring commitment is not possible, and some decisions aren’t easily reversable. This is where the third option of investing in flexibility comes in.
A prototypical example might be “Should we store data on the file system or in a database?” And the prototypical example might be “Use a data access layer so you can swap storage backends more easily.” With the proper data access layer in place, it becomes less difficult to swap between a filesystem store and a database store (or potentially any other store—S3 anyone?)
If you enjoyed this message, subscribe to The Daily Commit to get future messages to your inbox.