Sometimes it’s okay to delay creating a strategy, for a strategy to have gaps, or for it to not go too far into the future. This may seem surprising, but sometimes there are much more pressing needs…such as the need to survive.
Over the last few months I’ve come across one or two organisations whose lack of technology investment has been deeply apparent. You will probably recognise some of the symptoms: frequent service outages, firefighting being the norm, not knowing which code is live, developing in the live environment (the only environment) and so on.
In these situations people often talk about the need to put in place a strategy to provide future direction. I would disagree. You need to rescue the situation first and foremost. You need to get the basics right: stabilise the services; ensure you can fail over services in a controlled manner; ensure you have a controlled way to release code; and so on. That usually takes a long time, and unless you can afford a parallel operation of modernisation that should be the sole focus of almost everyone.
You do need to be careful you don’t close off future options. When you put something in place you need to know you’re not creating more problems for later. But that doesn’t mean you need a clear long term strategy immediately—by the time you reach a stable environment the world will likely have changed again, and you’ll have a learned a lot, so that later date will be a good time firm up the longer strategy.
In short, if your boat is sinking you need all hands to the pump; worry about the navigation once you’re stable.