It might seem that this question isn’t even worth asking, but what seems simple on the surface quickly grows in complexity.
Wikipedia defines strategy as “a high level plan to achieve one or more goals under conditions of uncertainty” which highlights three of the four key components: a plan, a map, goals, and uncertainty. We’ll touch on each here, and then dive deeper in future posts.
Let’s start in the middle and address the map. While it may not be a part of the outward strategy or mission statement, a map gives us the current lay of the land. What does the playing field look like? Where are the players? Where are we at now? Without a map, we’re simply guessing.
Next, lets talk about goals. In the world of software development, goals tend to fall into two different categories: vision and growth. Vision being what we want the product to be, and growth being the actual and potential returns from that vision. While vision is often exalted as the key to a successful product, it is just one piece of the puzzle.
The plan is how those goals are accomplished. When we know where we are and where we want to be, we can create a plan for how to get there. Depending on the scope of the goals, these plans could be about what products, features, or technology to invest in. Plans can also be incremental, rather than comprehensive, putting yourself in a better position for future plans.
Lastly, uncertainty is the crux of the game. While we typically view maps as static, strategic maps are more fluid. Picture the Painted Table at Dragonstone from Game of Thrones: troops are constantly moving and allegiances are evolving. Each update, new goals and new plans will evolve to win the battles ahead. We can never know exactly what moves will come, especially from those we cannot control, but we can continually drive towards a position that will best prepare for future changes.
Effective strategy comes from monitoring these facets and adjusting to them with regular course corrections. Anything less is practically gambling.