Should you do it now or should you do it later? Strike while the iron’s hot or wait and see? In the context of development, this isn’t always an easy decision. You may not have the bandwidth or resources to finish that uber-feature right now when you have customers breathing down your neck about bugs that really should be classified as feature requests. You can opt to develop a solution that is tactical and not strategic; deferring those strategic decisions until some later time is a perfectly valid and meaningful form of planning. The biggest issue with deferring a decision is that circumstances can take the momentum away from you, and dictate any future path that you can take.
A deferred decision can be thought of as product debt; we’re going to do it this way, because we haven’t decided what the right way to go about this is; later on you must spend the time to unpick and examine that decision. For instance; do we tie ourselves to AWS or Azure; that’s a decision that can easily be deferred; it doesn’t matter at all when you’re in startup mode. It only matters when Azure gets too expensive or the company that purchased you has standardised on AWS. If you were clever about it and decided on Kubernetes or some other kind of container orchestration as your deployment model; it actually doesn’t matter that its AWS or Azure; and never did. You were probably always cloud agnostic, all you need to do is to change the pointers from AWS to Azure.
Ultimately, the skill is is bound up in knowing what you can defer and what you can’t. There are some decisions that will make navigating to your strategic goal harder; those are the ones that need your time; the other ones, they don’t matter; they’re not that important and you can always change your mind about it. If you’re navigating towards a minimum viable product, then you will defer a lot of decisions and rigntly so. All you have to understand is that those things can’t be put off forever, there will be pain when you make a decision one way or another. Don’t be put off by that; after all life is a series of changes; don’t resist; that only creates sorrow 1.
It sounds like something Lao Tzu would say… ↩︎