I shared recently a book review with you. It was about the biography of Colonel John Boyd. In case you haven’t heard about him, he was a fighter pilot, an engineer who changed how aircrafts are designed and a military strategist who contributed a lot to the doctrines of modern warfare.
As a military strategist, he was obviously interested in why blitzkrieg was so successful. This interest led him to research earlier German generals and then as he dug deeper and studied the history of warfare back until Sun Tzu and The Art of War.
In this article, I’m not going to go that far. I want to present you four German words with their meaning, four concepts that Boyd found decisive in understanding the German strategy used during the beginning of WWII.
We’ll also start to discuss how they are related to our craft, software development.
Fingerspitzengefühl / Fingertip Feeling
Don’t worry if you find it difficult to read out this word. Fingerspitzengefühl stands for fingertip feeling. In an army, at each level starting from the smallest unit to the largest ones, soldiers and officers must be able to quickly understand what is going on in their respective environments.
They have to implicitly know, even to feel what is happening around them. This deep understanding can only be achieved with the help of extensive training, deliberate practice and battlefield experience.
We all operate within our own OODA loops and it is extremely important that we can observe our surroundings as fast as possible, faster than our enemies or our competitors so that we can react in timely manners and adjust our plans if needed.
If you think about it, this ability to adjust quickly is what is behind agile and the frequent iterations of Scrum. According to one of the founding fathers of Scrum, Jeff Sutherland, a fighter pilot himself, it was the OODA loop that inspired the creation of Scrum.
Einheit / Unity
While it’s important to have a fingertip feeling of your environment, if you want to exploit it on a team or on an organizational level, you need something that is called Einheit in German. The closest word in English is unity.
Let’s get back to the success of blitzkrieg.
In the Wehrmacht, starting from a certain level, every officer graduated from the same system, they had the same military training. Many knew each other very well, but even if it was not the case, they knew exactly what kind of education their subordinates and their superiors received. They knew exactly what they could expect from the others.
Obviously, it’s not possible to replicate this in a business context. You cannot have people coming from the same schools with the same education. Moreover, in a business context, it’s probably not even desirable, a healthy diversity helps to deliver better solutions.
At the same time, having a common vocabulary, having a common understanding of certain areas is necessary so that a team can function on a high level. This unity can be only achieved by time.
Given that the time is not allocated during education - like in the army -, teams have to form their unity in “wartime” while delivering projects, fighting production incidents. It’s immensely destructive to constantly rearrange teams. Rearranging groups in an army is probably still destructive, but they have their common grounds way beyond their units which is not true to modern project teams.
The more you reshuffle, the less people will know each other, the less they will understand what they can expect from others. In fact, the more you toss them around, the less they will understand their environment. Change the setting enough, they will even lose their ability to implicitly understand their surroundings - until they can learn it once again unless they are moved around one more time before they could adapt.
On a team level, they also lose their unity. Building up trust among team members takes time and with each reorganization, the trust levels are pretty much reset to zero.
The more you rearrange teams, the less they will have fingertip control of their environment, the less they will have the implicit understanding of what another will do in critical situations.
Auftragstaktik / Mission Tactics
If an army, an organization wants to exploit the benefits of having a fingertip feeling of their environment and unity in their units, it’s necessary that everyone has a broad understanding of the mission. Everyone should understand what has to be accomplished.
These concepts of the mission or mission tactics are behind the word “auftragstaktik”.
Note that we talk about concepts, we talk about a broad understanding. If you have read Extreme Ownership, you are probably familiar with the concept of decentralized command.
The main idea is that the units are not directed by explicit commands. The leaders share the primary goal that must be achieved, they share their intents and the decision making is pushed down to the lowest level that makes sense. By pushing down decision making in the organization, those will decide who implicitly understand their environment, those who have the fingertip feeling, those who have the unity.
In theory, that’s also what agile aims for. Making the teams understanding their main goals. Making their own decisions instead of micromanaging the teams, in order to achieve their and their organization’s goals.
Hence, understanding the strategic goals and set that on an organizational level is important.
Schwerpunkt / Main Effort
Schwerpunkt is the main effort, the primary focus. It is what the organization wants to achieve at a given point. All the previous items, the fingertip feeling of the environment, unity and understanding the mission should serve the main goal.
They are all paramount parts of successful execution.
Having our primary focus well-defined at every moment is a must. Otherwise, the different units might go into slightly different diretions which would still be valid, right moves. They would still represent a broad understanding of the mission. But together, the different efforts make the organization go thin. If the strategic goal is underpinned with what should be the main focus, what should be the main effort, everyone can act in their own areas in the same direction.
If you think about war, there might be different successful ways to achieve the goal of a campaign, but if those are all tried at the same time, they will likely all fail. But if the leadership defines what should be in the focus of the different units, then all of them can decide based on their knowledge how to support that main focus and unite all their strengths.
If you think about software development, if the business unit defines that the mission is to provide the best software to their clients, the teams might have different ideas. Some will think about solving the incoming incidents the fastest way in the industry, while others will think about various innovative new features. Maybe others will think about the highest possible availability. If the different units go in all these different directions, nothing will be achieved. But if the leadership also define that at first high availability must be achieved, that should be the main effort, all the teams can work in unity towards the main goal.
As a follow to Boyd’s biography, today we discussed his findings on the effectiveness of blitzkrieg and how it relates to software development.
We saw that fingertip feeling, unity, mission tactics and main effort are similarly important parts of the equation that guarantees the flawless and successful execution of a mission.
Later, I’ll examine the above points one by one in detail in regards to software development management practices.