Leadership in software development
/I was recently reading an interesting post about various kinds of leadership styles in the business world. The author tried to distill the styles into the following:
Autocratic Leadership - my word is only word good or bad style of a leader
Authoritative Leadership - follow me (better version of the autocratic if the leader has a clear vision)
Pacesetting Leadership - driven leader who sets a high standard and pushes people towards that standard.
Democratic Leadership - consensus driven
Coach-Style Leadership - a style that focuses on mentoring the team towards perfection
Affiliative Leadership - people and their needs first approach towards work
Laissez-Faire Leadership - hands off, I trust you to do the job style
Pretty exhaustive list, but while we are at it, I’d add some weird ones I’ve come across in my working life too:
Bureaucratic Leadership - follow the procedure whatever the case style
Transactional Leadership - tit for tat style, where your life gets better if you perform better. Money money money sort…
And of course the infamous
No Leadership
This is great, although I would think in reality any particular leadership is a mixture of style. But I would also agree that in general there is a “style” that dominates in everyone. So the big question that comes next for us software people is:
What’s the best style for software teams?
There is no fixed answer to these type of questions except maybe the boring ones that start with “depends…”. But I’ll not go with the boring ones and try to answer this in a very specific way with our experience at Kaz Software. With more than 17 years under our belt, making and delivering software and more importantly surviving :) I’d say our way is a good answer as any. So much so that I’d say Kaz’s way i the only right answer and any other answer is wrong.
So here goes…
The answer is (imagine atmospheric background music here): Intrinsic Motivational Leadership
OK, that one isn’t in the list above and it’s kind of a made up name, but let me explain.
Intrinsic motivation is the motivation that comes from within. This is a opposite of the extrinsic motivation that is usually money or status. A leader who can create this motivation in his or her team is the only kind of leader who will excel and that software team will be the best at what it does. A leader with this style of leadership follows two goals:
Goal 1: Create a jelled teams
Such leaders know that in the business of software development teamwork is the highest priority. That is the only way to get reliable and reproducible results from a team. To create cohesive team that feels like a family is the biggest goal for such a leader. A team that feels like a family has a specific identity, specific way of doing things and saying things. All these together creates sense of loyalty and commitment towards the common goal at hand - be it the challenging deadline or fixing the impossible bug.
It helps if the company’s long term goals are something to be proud about. A great example is Google’s “don’t be evil” which has been an unifying slogan for Google’s teams. Although it’s been slowly phased out when Alphabet formed.
Similarly Apple employees have almost fanatical following and identification with the company’s goals and aspiration with the famous slogan of “we are against totalitarianism”. A classic Steve Jobs move which started with the Mac ad in the 1984 superbowl directed by none other than Ridley Scot (of Alien fame). If you haven’t watched the ad, it’s a must…
So a leader whose goal is the intrinsic motivation, will need to do something that to creates an identity which leads to that jelled team goal.
Goal 2: Make information available
A software team is by it’s very definition a group of smart individuals. Software companies invest the biggest on their HR cost and that is all because of the smartness of individual members of its teams. A motivational leader knows that the best way to lead is not to rely on his or her own brain but rather to rely on the collective smartness of the team at hand. And to make that possible the leader has to do everything to make all information needed to make a decision available to the team. Thus, hiding some facts that are only available to the “management” is not an option for such a leader. She has to work with different parts of an organization to bring relevant facts and information out in the open for the team to decide what the next step is.
To achieve this goal a leader has to convince the management that openness is the right way forward - not an easy task. It’s difficult and sometimes almost impossible for business leadership to reveal the innards of an organization. A project that is running of funds, a customer who has negative feedback about a team, a marketing venture that lost a lot of money, etc. are ugly facts of running an organization. Hiding such information from the teams lead to statements from leaders like “I know things that you don’t know…” - which just doesn’t lead to intrinsic motivation goal. It also makes it impossible for smart software teams to come up with decisions that are based on facts and data. So a motivation driven leader will have to do all in her power to make such information available to the team and then empower the teams to make decisions. Collaborative decisions coming from agreement from the team leads to the most effective decisions and a leadership that focuses on such a strategy is always a winner in software organization.
I’ll leave today with that great video of the 1984 superbowl ad that Apple made… always a fun watch. While you are watching it keep remembering that this is an ad for a computer!