4 Effective Leadership Styles in Software Development
What should be the qualities of the best leader for the software team: strong decisive knowledgeable or quiet supportive cooperative? Best leaders have two main concerns - people and getting things done (Blake and Mouton’s Managerial Grid). Both concerns have cumulative effect - high concern for people makes them motivated and therefore more productive, high concern for production creates sense of achievement and makes people more satisfied at work.
However, there is no one leadership style that suits all situations, projects and individuals. There are 4 main leadership styles (based on The Hersey and Blanchard model and Vroom and Yetton’s Normative Model), which could be effectively used in software development: The Commander, The Coach, The Supporter and Self-Organization.
1. The Commander
In tough times people need a strong leader - the person who can take responsibility and make decisions, the person who could motivate and inspire, the person who could move against winds and resistance.
Commanders are needed
- in crisis, when bold, quick and direct decisions should be made. The project is doomed, customers are leaving or there is fire in the building.
- when changes are necessary and there is strong resistance and barriers to make them. The leader creates a vision, finds a way to accomplish it and leads a change. The company moves to the new market or adopts new approaches as Agile.
- when people lack commitment, faith in company and willingness to work, because of previous failures, degrading environment or unpopular management. The leader can wake them up, inspire and move forward.
Commanders make and influence most decisions. The downside of this leadership style is that leader can slide to autocratic methods, demotivate and annoy people. Often decisions are not optimal - they don’t take in consideration all available information, options and perspectives. This style is effective in short-term, in long-term it could be dangerous for people and projects.
Skills and traits of Commanders are very important as they are the main factor of success. The Commander should be energetic, confident, decisive. Also as Commanders make most decisions they should be knowledgeable, forward-thinking and broad-minded.
2. The Coach
The Coach is experienced, knowledgeable and supportive person, who is needed when team lacks focus, expertise and understanding what should be done and how.
Coaches are concerned about growing people, creating enabling and trusting environment. This leader makes decisions collectively with a team. The Coach explains rationale behind decisions, listens and provides feedback. He encourages personal growth, builds long-term capabilities and prepares team and individuals for independent work.
This style has high relationship focus. The downside of this style could be micro-management and low concern for productivity.
Important qualities for Coaches: knowledgeable, empathetic and cooperative.
3. The Supporter
Supporters are needed to help teams, remove barriers and coordinate activities. The Supporter is an ego-less quiet leader and facilitator. Supporter makes joint decision with the team as equals, delegating majority of decisions to the team. In addition, this leader concerns about creation of harmony and balance between team members.
Important qualities for The Supporter: good communicator and facilitator, socially skilled and diplomatic
4. Self Organization
A cohesive, motivated and confident Team doesn’t need formal leaders. The team makes most decisions, while every member could step in and become leader in specific areas and situations. People are highly capable, committed and self-driven. The team should have diverse and independently thinking team members to prevent groupthink (see Wisdom of Crowds).
It is most preferable and most difficult to achieve style. Usually the team transcends through previous steps and becomes truly self-organized team after experiencing victories and failures, growing and gaining experience together. The Team have shared purpose, principles and values. Team members trust, support and respect each other. Almost everything is possible for such team.
Teams and leaders use these 4 styles depending on a situation and specific people. The best leaders guide their team and people through these stages to the point when formal leaders are no longer needed - self-organizing team. It is possible that a self-organizing team will need a strong leader in tough time, a coach when moving to the new domain or a supporter to resolve external problems. However, the team, which experienced flow, independence and self-organization will strive to get back to this state again.
- Commitment - are people ready, motivated and willing to accomplish goals?
- Competence and clarity of direction: do people know what to do and how to do it?
- Cooperation and cohesiveness: can team effectively work together, make decisions and avoid conflicts? The larger group need more coordination.
- Resources and support: does team have necessary tools, money, people, etc? Do they face serious barriers and require support?
- External coordination: does team need to collaborate with other groups?
- Leader - last, but not least: does leader have necessary authority, knowledge and experience?
All these styles could be effectively used in software development. But at the end, the most important factor of success is people. The style should match people commitment and capabilities. It is mistake to command skilled and confident team and it is mistake to give reins to unmotivated and inexperienced people. Leadership style is one of the secret ingredients of the Software Creation Mystery - it could bring great success or miserable failure on the same project with the same people.