How do you choose which qualities are needed to run an effective software development team?

Is it strong, decisive and knowledgeable or maybe it’s quiet, supportive and cooperative? The best leaders out there have two main concerns — people and getting things done. Both of these have a cumulative effect: a high concern for people motivates leaders to become more productive and a high concern for production gives them a sense of achievement and ultimately makes them happier at work.

Well the fact remains that there is no one ideal leadership style that is universal to suit all situations at all times. What we do know is that there just happens to be four main leadership styles which could be effectively used in software development:

  1. The Commander
  2. The Coach
  3. The Supporter
  4. Self-Organization

1. The Commander

Tough times requires strong leadership. This leader must take responsibility make the hard decisions. This person must motivate and inspire the team against current obstacles and further resistance heading their way.

The commander steps in here to handle a crisis situation when bold, quick and direct decisions need to be made. The project appears doomed, customers are leaving or the buildings on fire.

These commanders are needed when changes are necessary, and they can see strong resistance and barriers. These leaders create a vision and find a way to accomplish it in order to see positive changes made. This could be moving to agile or changing up the original feature set.

Commanders are useful when people lack commitment to the project, faith in the business and are unwilling to work due to previous failures or a degrading environment or unpopular management. This leader can sound the wake-up call to the team and inspire them to move forward.

They will make and influence most decisions quickly. There is a downside to this leadership style though. This leader can slide over a bit to an autocratic method of leadership and end up demotivating the team or just annoy them. Often times the decisions are not always optimal as they couldn’t take in all the information available, options and perspectives. This style only works best in the short-term as it can be a problem in the long term for people and projects both.

The strength in this style is in the skills needed to succeed. The commander is energetic, confident, decisive, and to make the best decision possible, they also need to be knowledgeable, forward thinking and broad-minded.

2. The Coach

This leadership style shows us an experienced, knowledgeable and supportive person. This leader is needed when the team begins to lack focus, expertise and an understanding of what should be done and how.

Coaches are concerned with ensuring their teams grow and as such will create an enabling and trusted environment. This type of leader will make decisions with the team collectively. The coach will explain their rationale behind the decision made, will listen as well as provide feedback. The coach encourages team and individual growth by building long-term capabilities in order to prepare the team and individuals for independent work.

The coach’s style is high on relationship focus. The downside on this could be micro-management and less of a concern for productivity.

Qualities that are great for a coach style of leadership include being knowledgeable, empathetic and cooperative.

3. The Supporter

This next style of leadership is the one to help teams remove barriers and coordinate activities. This leader runs ego-less and quietly leads and facilitates. Supporters decision making is made jointly with the team as equals. In fact, supporters tend to delegate the majority of the decisions to the team. This leader does concern themselves with ensuring there is harmony and balance between team members.

Strong skills shown by supporters include being a great communicator and facilitator, as well as being socially skilled and diplomatic.

4. Self-Organization

Sometimes as it turns out, a team doesn’t always need a formal leader. The team themselves make most of the decisions, while each member can step in and become a leader in specific situations or when called upon for a specific area of knowledge.

These team individuals are highly capable, committed and self-driven. It is important that these teams maintain diverse and independent thinking team members to prevent groupthink.

While this is an excellent style to achieve, it is one of the most difficult styles to realize. The team would need to encounter many highs and lows, victories and failures over a period of time to have developed the cohesiveness needed to form the shared purpose, principles and values needed. These team members trust, support and respect each other. For this style of team, almost anything is possible.

Choosing the right style

No one style is ever in play permanently. Teams and leaders will use these four styles contingent on the scenario and specific people involved. Leaders will guide their team and people through these stages and hopefully hit the spot where formal leadership is no longer required, and a self-organizing team is created. It is normal for a self-organizing team to to need a formal leader (commander) on occasion for tough times, a coach when moving to a new domain, or maybe even a supporter to resolve external problems. If the team itself is running smoothly then they will return to self-organization over time once again.


· Commitment — is your team ready, motivated and eager to hit the goals set?
· Do your people know what to do and how to do it?
· Can your team effectively work together, make decisions and avoid conflict on their own?
· Does the team have the necessary tools, budget, people etc.? Are they facing any barriers or require support?
· Does the team need to collab with other teams or groups?
· Does the leader have the authority, knowledge and experience to do fill the role?

Final Thoughts

Each of these styles can easily be used in software development. In the end though, the most important factor is the success of the people. This should show in their commitment and capabilities. A highly skilled and confident team does not need a commander just as an unmotivated team with inexperienced people need a supporter or to be left on their own.

It is a secret sauce of leadership that works independently for each project and team dynamic individually.

More About Us —

Band of Coders Show is a podcast dedicated to helping software developers problem-solve their biggest leadership challenges. We talk leadership, productivity, team building, effectiveness, and much more.