How to Iterate Business Strategy with Git
Strategy, like a software product, can be iterated. You can refine it over and over again until just right.
Constant iteration is a powerful technique. You make something. Then you try and make it better. You test it. If successful, rinse and repeat. If not, throw away what didn't work and try again. And do this over and over again until perfection.
Nerds use iteration to develop rock solid software products. But how many of them use it to develop rock solid business strategies?
Strategy is a different beast than software. They're even more dynamic. More difficult to conceptualize. And the kicker is that - if we over articulate - the strategy itself becomes rigid and ineffective.
So they often elude us entirely. Perhaps a your team has a vision, and maybe even a general plan to fulfill that vision - but for the most part, the concept of strategy may be an after thought. Something that happens on the fly. To figure it out would require working in past tense - because in the moment - it could be changing every day. And nobody on the team can really put their finger on what it is, specifically.
And that's okay. Strategy will naturally emanate from a strong vision. And for your new startup, that may be all that is needed. These organic, on-the-fly strategies can probably work for even the most successful startups; even the ones earning over a million in revenue. But I contest that your startup can do even better; that the successful startups can evolve into successful companies - by leveraging intelligent, conscious strategy.
Find the strategy
The first key is to recognize that there is indeed a strategy in motion. Whether it's articulated or not. We all use strategies. Your life consists of a network of strategies. You have one for food. For transportation. For entertainment. Take hygiene for example … you brush your teeth and you shower every day right? Maybe you put on deodorant too. These are all components of your hygiene strategy. You execute on this strategy every day. You've unconsciously iterated to the point that it's working for you (hopefully).
Now take this same paradigm and have a good look at a specific area of your business. . Maybe you look at your accounting. What's going on there? What procedures, if any, are contributing to success; ensuring your team gets paid on time and that all the money is accounted for. This is your current strategy. Now how can it be improved?
Strategy iteration
Strategies work best when designed for a specific purpose. They are like gears in a machine. And you can't iterate a strategy if you don't know what it is. So until you have identified and defined a strategy - even if it's just a few bullet points on a notepad - you cannot iterate. Without a clearly defined strategy, results are temporary; improvements are luck.
The art of iterating strategy
Developing a strategy is like taming a wild animal. You can pin it down for a while, tell it what to do, but before long it's going to be running wild again. So the best technique I have found for iterating strategy is to take snapshots at specific points in time; to freeze the moment - figure out what to improve - then let it run free - and then freeze the moment again at a later date so you can compare the results ... and initiate the cycle again.
To elaborate in more detail: take a 'snapshot' of your strategy; the beast in its current form. You do this by identifying and defining all of the processes and procedures (or lack thereof) that make it what it is. Then you make a copy. And you create a new layer; 'painting over the snapshot' - to more accurately define an even better strategy than the one you already have. And then you test it: by ensuring that strategy is executed over time.
Stated more practically: write down your current strategy. Assess what it is, why it works, and what needs to be improved. Talk about it with staff & co-founders. Get feedback. And implement ideas. Make a revision and write down something better. Then you let the beast go. You let the refined strategy execute. Later, you come back to compare results. And do it all over again.
Iterating business strategy with Git
Obviously Git can facilitate this process. Create a new repository for a specific business strategy. Your first commit will include all files related to it. At a bare minimum, it needs to contain a text document that describes in words what the strategy is supposed to do, how you currently have it implemented, how you want it implemented - and what the current results are. Later, you will evaluate this snapshot - and use new information, experience, and results to create an updated strategy - and commit again. Repeating this cycle on a frequent basis, each time comparing the results; discussing what worked; what did not; implementing new ideas and making a better business strategy over time.
Strategy snapshots
I fear that over zealous founders have a tendency to constantly rewrite or change active strategies that could dramatically impact the business - on a whim. Decisions that could override what previously made the company successful to that point. And without any formal process for saving snapshots of what the strategy looks like at a particular point in time - the past will be irrelevant; nothing more than vague memories and numbers on a spreadsheet.
Nobody would let this happen to the company's flagship software product. So why the complacency when they hack up any other part of the business?
On the flip-side, there are founders who are too timid to try anything new. They are petrified of making a mistake; unwilling to tweak core business strategies for fear of irreversible consequences.
Using Git; a version control paradigm - it is possible to systematically archive a conceptual snapshot of the business and its strategies. To solidify and protect what is already working - and to set a foundation for constant and never ending improvement.
One strategy to rule them all?
Just as in life, you don't need a single document or 'master strategy' to run your business on. A clear vision is all that is needed. But for lasting competitive advantage: strategies are the tool. Understanding the network of strategies that make up your business is vital. Isolate, iterate, and optimize each core strategy to perform better - and scale your business on an ever strengthening foundation.
Endless iteration is the secret to building amazing software. And also, perhaps, the secret to building amazing companies.