Wednesday, May 7, 2008

Agile Management

Is there such a thing? Is this a misnomer? Is there a need for managers in agile teams? I don’t think there is a simple answer to this one, and coming from an agile development background, I have since converted to be a development manager. What does that mean exactly? There is no hard and fast definition of what a dev manager is, but I think there is a need for someone who comes from a development background and understands the real issues that development teams face – many PMs that I have worked with simply don’t understand the problems. Obviously, these job titles are simply labels, but they do carry baggage and assumptions with them.

So, what do I do as a development manager? Well, firstly, I try to act as a communication bridge as much as is possible, and like it or not, there is definitely a gap here within most teams. Often development, business teams, and leaders don’t communicate enough – probably for seemingly valid reasons, but this communication is crucial to the success of a company. Business leaders don’t understand (and niether would I expect them to) how complex software development is, so it’s the responsibility of people like me to work with them and help them understand all about value and prioritization. Of great importance to me is also vision and custmer assignment on a project, without these key pieces in place, developers feel like they are in the dark, they want to know they are building a ’cathedral’.

Most of all, the development team manager must remain humble and remember that they are there to facilitate great team working – you are only as good as your team. My goal is to have my team reach its full potential, and currently, I consider myself priviledged to be working with a very talented team. Its early days for me, and I am far from where I want myself and my team to be, but I am excited about the future and know that I can create a fun and safe atmosphere within which team members can excel.

Of course, there is an irony here, the longer I am away from the harsh realities of the coal face of software development, the more I forget about how tough it is to deliver something. So, its my goal to work on home projects, where possible with friends to keep me ‘honest’ but I see it as an almost impossible conundrum. Its almost as if I would like to work for a little time as a manager and then get back to development for a time and so on.

I do believe however, that there is a valid role for a manager. If nothing else, to remove the pressure on the team from outside influences to allow them to do the right thing without fear – thus getting the best and most creative talent to reveal itself in the team members.


Paul said...

Hi Andrew,

Is there such a thing? Is this a misnomer? Is there a need for managers in agile teams?

The development team is meant to be a self managed entity, there is also meant to be a seperate management team, there to remove obstacles and provide oversight. Then of course there is meant to be a customer team.

All three of these entities are meant to work in unison on an Agile poject. All Agile does is to clearly define the relationships and responsibilites, re-addressing the balance of power when compared to most waterfall projects.

OK. Theory out of the way, what really counts in my experience is good leaders, and they can come from anywhere. Once you realise that people and resources aren't the same thing then the need for good leadership is self evident.

People need someone they can follow and trust, a role model and a mentor. A good leader is normally someone who can do the job himself. How else is he/she going to help others? Good generals tend to lead from the front.

Hence your dilema. I once worked with a small consultancy in Bath. The company was owned by two guys who spent most of the day walking around in their jeans and t-shirt talking to people and "helping out". They would turn their hand to almost anything. A bit of soldering, some programming. Anything they could do to help. We used their company as a supplier for software. Lots of other big firms used them too for a variety of things, both hardware and software. The owners would often give us a tour describing the projects they had on the go. These guys had a detailed technical knowledge of everything that was going on.

I always admired them, and thought that if I ever owned my own company I would run it in the same way.

Andrew said...

Paul, I agree with the point about leaders, to me, it doesn't matter where or what the leader's job title is - in corporate life it's all about labels again.

All too often, I have seen teams who, for various reasons, do not self manage, and one of the things I want to achieve in my position is to act as a catalyst to enable this to happen by creating a safe and open team environment.

Paul said...

Hi Andrew,

I agree that teams need protection in certain environments.

Interestingly, I've noticed on my current project, that even when you provide a safe environment, some people are reluctant to self-manage, preferring command and control instead.

I'm not sure why. Perhaps it is just a laziness, not wanting to think for themselves. Or perhaps they are just not use to it. Not sure. The company has partnered with an Indian consultancy, so most of our developers are from India.

I'm beginning to think it is a cultural thing. Not sure.

Andrew said...

Paul, you bring up one of the original reasons why I posted, although I don't think I articulated it as well as I could have.

I think I grasp much of the theory, but sometimes, the problem is that people just don't seem to want to do things this way - as you said. Neither do I believe that its just a cultural thing, although in certain circumstances, that is definitely a contributor.

On a project I worked on (not agile), I had a distributed team and this team had built and maintained a product for years. This project however, was a radical departure from anything this team had ever done in the past and based on a different technology stack. The team seemed reluctant to engage with the project - who knows for what reasons - I could think of many.

My point is, I am sure that the project would have floundered if we had not almost forced their involvement - something I hate doing. Looking back, I think the right thing to do would have been to get to the bottom of their issues, but hindsight is a great thing and it wasn't an obvious option at the time.