Throughout our careers, many of us at some point in time take on the responsibilities of leading teams; whether that’s a group of developers or a large IT organisation we need to decide for us how we lead, what values we follow and what we concentrate our efforts on.
Just because you’re being followed doesn’t make you a leader and just because people have to do what you decides doesn’t make you a leader as well.
While talking about traits that are common for good leaders Davidson-Frame mentions “Honest, Empathetic, Inspired, Competent, Forward-looking and Supportive” to be the desired traits. He also states that “Possessing these desirable traits does not make you a good leader, but lacking the desirable traits may be a barrier to being a good leader.”
As a developer, of course I would not expect my manager to inspire me, transform the environment on a regular basis. I would not expect to listen to inspirational speeches every day, and also as a manager I do not think that there is much room to use transformational management style in managing a development team.
A manager/leader of a development team carries out mostly transactional leadership. It may vary from a leader to leader, because one of the key traits of a leader is also to be different, not like everyone out there. However there are three key things that each manager needs to have in mind:
- Giving the team a physical presence
- Coming up with a rewarding system, even with the most limited resources
- Making sure every team member feels your support, give it a personal touch
“You have to manage a system. The system doesn’t manage itself.”
W. Edwards Deming
At present, many organisations employ lean-agile software development principles. Most of us are more-or less aware of the lean and agile principles, so what does a manager’s role like in an environment like this. The Lean-Agile software development manager or lead drive the organisation with the key values of Lean and Agile in mind. They can identify wrong behaviour, waste and impediments quicker than the team-members can think of it.
The lean manager does not “introduce” the principles into the team, the manager lays the foundation and sets the stage where the team members can grow and show their brightest skills. The manager is an essential piece of the puzzle in helping teams to follow the Lean principles. The team needs to have the backing of the manager to tackle the waste, to sense check their decision, because team can sometimes feel insecure, and they need to have someone who they can sense-check their actions with.
It may be quite hard for a lot of traditional managers/leads to adapt to Lean environment, such us resisting the urge to assign work based on skills set to maximize the short-term efficiency, however good agile managers would being creating knowledge and throwing the seeds all of the field.
A Lean-Agile manager would expect each team to organise themselves, decide what they will be working on the day to day basis, however the managers would set the vision from above, giving direction and coaching when required and if needed. The self-organised teams very rarely can achieve that.
“Great Software can emerge from your organisation when you lead with the value stream in mind”
A. Shalloway et al
One of the most critical traits of the Lean-Agile manager is to lead having the value-stream in mind. It is very easy to be carried away optimizing only a certain element in the full flow of the organisation. Sometimes the development process may be ideal, however still the development team may fail at the end of the iteration. In the cases like this the whole value stream needs to be carefully mapped and studied (optimize the whole). If the product management side, which creates the requirements/user stories does not have even a short-term vision that may translate into the team and the team may lose its conceptual understanding of the work they do. The Lean-Agile manager would be around, carefully looking at things from a distance, looking at the whole value stream and raising issues contributing to failures as impediments and deal with other parties. A Lean-Agile manager would trust the team, see their concerns, understand these and take that into higher levels.
Situational Leadership in Projects (Presentation from Øredev 2009) – J. Davidson Frame
Lean-Agile Software Development – A. Shalloway, G. Beaver, J.R. Trott, 2009