Military movies showcase soldiers that fear their superiors more than any enemy they face. Dissent among the ranks is ruthlessly quelled, and any act of insubordination is promptly and severely punished. This compels them to blindly follow orders, regardless of any detrimental effects such orders may have on the person.
Managers in software engineering apply this approach, having learned it from the military or from growing up in an authoritarian household. This management style demotivates many software development teams. It is impractical to micromanage every developer due to time constraints. Lackluster leadership is not better at inspiring peak performance. The modern military cultivates a culture of mutual trust from the top down and bottom up. Commanders empower their subordinates to execute decision-making with a similar goal. Team leaders in software engineering should consider taking a leaf out of the modern military's handbook.
Why are there no results without leadership?
Most developers frequently work alone typing away at their computers. The unspoken heroes are often those that manage software development projects. These people are charged with keeping the team on track, facilitating communication, and resolving disputes.
Every software developer relies on their team lead to define the project's priorities, making this leadership role vital. The team lead is responsible for finding the quickest way to get the project back on track in the event something goes awry. A development team can generate excellent software with exceptional teamwork, even with a few bad apples among them. This is less likely to happen if the team has poor leadership.
Military command principles and impact on software developers
There are several management principles employed by the military that can be applied in the software development process. These include:
Intent as a vital part of mission command
Following their defeat by Napoleon's French forces in 1806, the Prussian generals embarked on an in-depth review effort to get to the root of their loss. They found out that Napoleon communicated his intentions and rationale to his troops, and tolerated junior officers taking initiative.
The Prussians updated their long-held doctrine of strict obedience to orders. If a soldier deemed the execution of an order impossible, they were allowed to act in line with its intention.
Similarly, software developers only sometimes need to follow the stipulated path to achieve the intended results. Depending on the situation, they may be better suited to improvise. A team must lead to grant them the leeway to venture off the beaten path.
Operational intent increased the US military's efficiency
According to an article on the US Army website, in 2012, the US military established the inclusion of commander's intent as one of the key principles to implement for the success of mission command. This introduced mutual trust as a vital part of ensuring mission success.
Leaders placed greater trust in their subordinates to act within operational intent when faced with changing circumstances. This played a part in the US ranking as the most powerful military globally, according to the latest findings by World Report.
Management by not just commanding but also showing intent
The brass is usually far removed from any physical battleground. They may not be best placed to make decisions on the fly, especially in the face of asymmetric threats their soldiers face.
The same goes for software product development. Managers oftentimes possess the least information on the situation their subordinates are in. It is more efficient to empower their developers to make decisions within the scope of the intent behind the project.
Command and intent to decentralize decision power
The reason for communicating intent to subordinates is to encourage sharing leadership responsibilities. Good commanders delegate responsibility and authority to others that are better placed to make such calls. This is possible when the soldier and commander share a common goal.
Mission command in the face of adversity
Sharing the command intent manifests itself when things go awry on the battlefield. As the famous quote goes, "No plan survives contact with the enemy." Soldiers can easily improvise in the face of adversity to meet their objectives if they have the mission goal in mind.
How to implement this?
Often delegate duties to each of your developers. A common temptation is to micromanage them to ensure they adhere to the project's goals. The best solution we found at TigerTeamX is to accompany each task with a "What", and more importantly, a "Why".
The "What" pertains to the specific task they should undertake, as well as the expected deliverables. The "Why" attempts to describe the reason behind undertaking that task, and why the expected results provide value to the organization and the client.
How to incorporate this as a team lead?
Ensure you write a "Why" for each task
Developers are far more likely to take pride in their work if they understand the value their work brings to the organization. This also enhances their esprit de corps and overall job satisfaction.
Communicate well-defined goals to ensure homogenous results
We at TigerTeamX found that a clearly defined intent and end goal lead to fairly similar results, regardless of the developer undertaking the task. The goal is that every team member, given the same task, delivers homogenous results.
Communicate the "What" behind each task
You'll have developers on your team that work best with minimal supervision, while others may need more guidance. The latter may need a more specific rundown of what you expect them to do to achieve their goals. It is important to package it as a suggestion rather than a direct order. Independent developers require much fewer suggestions on how to do their work.
Distinguish between different types of developers
Identify those under your wing that require more guidance than their independent counterparts. It might be counterintuitive to micromanage such developers. Instead, offer suggestions and let them choose the best course of action with the end goal in mind.
Regard your developers as your children
This means motivating your developers. They are likely to write better code faster, push fewer errors, and voluntarily work longer hours when motivated. To achieve this, take an interest in their lives, and care about their work-life balance, and their software development career growth.
Do not mistake motivation for remuneration. Money attracts and retains employees but is seldom a great motivator. Employees want to feel happy about their jobs.
How to incorporate this as a developer?
You may have little power as a developer to change the workplace culture. Depending on your work environment, you could pass up some suggestions for improving your working conditions.
Open up to your team lead
You can shoot your team lead a few ideas on improving your workplace culture so long as they are receptive. You could ping them this article and let them know what's working for others in the space.
Dealing with an aloof team lead
You could try politely floating the idea of the mission command style of management. Make sure to ask their thoughts on whether it would work. You may suggest it as something they could consider implementing, as it may improve the productivity of various software development phases. Be careful with your delivery, lest it comes across as critical of their management style.
Modern militaries are embracing communicating mission intent and end goals to their junior officers. The goal is to decentralize decision-making, so soldiers can improvise solutions if things come up unexpectedly. Here at TigerTeamX, we've tried and tested this approach in the software development process, bringing about increased productivity.
Speaking of software development, read our most recent piece to find out why the IT sector is the greatest to work in and why there are so many great employment possibilities in it. Find the truth and consider all the options. Interested? Follow the link to the article: Why IT Is The Best Sector to Work In