If you are like me you believed since early days in your life, that the military is the example for command and control. I personally have never experienced the military by myself, but frequently I heard phrases like “We are not as strict with our command and control as the military”. Only recently after hearing from Don Reinertsen and Mark Horstman about their experiences in the military did I come to question my understanding.
“No plan survives contact with the enemy” – from Helmuth von Moltke the Elder
So in my head I had this organization where everything is well planned and if anything I would have associated it with the “waterfall” mentality more than an “agile” mentality. But let’s look a bit closer. In any real combat situation the enemy will behave differently to what you expect and it is very unreasonable to account for all possible details in the field. The above quote from von Moltke the Elder demonstrates that. So clearly the planning in detail and then just executing the plan approach will not work in such cases. So how does the military then operate?
The military makes sure that the soldiers understand what the goal of the mission is. Planning is being done on a high level (which mountain to take or what strategic points to take) which then breaks down into more detailed plans and not just for one scenario.
When practicing some variables get changed so that the soldiers learn to improvise and re-plan as more information about the situation becomes available. Does this sound familiar? It sounds exactly like the behavior of an Agile team (with the difference that Agile teams don’t get the chance to practice their projects many times before doing it for real).
What this allows is a high-speed decision while still adhering to a high-level plan. It is possible because the organization is aligned on the goals and high-level plan. Imagine if soldiers always had to wait in the field until the “project plan” is updated before they can proceed with changes to the plan. That would take way too long, so they are empowered to change as required within certain well-known parameters. By pushing decisions down to the lowest level the speed of decisions improves. And with clear parameters of what they can and cannot decide the risk of these decision is adjustable. When the lower level decisions aggregate to changes to the overall plan, then there are people at this level who can make those decisions as well (the product owners and release train engineers I guess). I certainly think differently about the military now after hearing stories and examples that show how inherently agile they have to be. It makes for a good organizational example of combining high-level plans and goals with agility and how to achieve positive results.
Here is a slide from Don’s talk with a few additional points: