5 Whys is a blog about technical leadership in the software world.

Making your team manage their own work

The following is a guest post by Lior Friedman. Contribute your own here.

About Lior: I’m an Agile coach and Software Craftsman with more than fifteen years of experience. In recent years I consult and train teams worldwide on how to improve software development. Specifically, I help companies adopt Agile software development processes and teach development teams how to improve the quality of their code by using advanced techniques like TDD, BDD and other Agile practices.

I was reading this post by John Hil in the 5whys blog recently. and it got me thinking. I took me a while to understand why I felt that one is a little wrong. After all the advise given in it is quite reasonable. and then it hits me

The game of picking who does what, is not worth playing.

It is better to avoid the problem to begin with, and the best way to do that is to let the team decide on its own who does what.

If you want to become a great team leader you need to stop being the team “task dispatcher”. Normally a group of people will do a better job at this then a single person. Your job (as the team leader) is to allow this to happen. i.e. make your team self manage.

If your team is not yet there, here is a good goal for you to strive for and invest effort in. The first step is to stop deciding for them. As long as you decide who does what, the team will not take charge of his own work. After all why should they worry when you do this for them?

Now, I know this is not that simple to accomplish. but here’s what works for me when I approach this problem

Making your team manage their own work

Explain the new “rules” to the team – when expecting someone to start doing something new, I found it usually helps to state my expectation. so the first thing is simply to tell them that from now on I expect them to divide the work between them (I also say that if they find it difficult I’m willing to help)

Teach them how to do it – When I ask for someone to do something new I like to make sure they know how to do it. In this case I would explain how I think tasks should be divided. I give my tips and advises on how to balance the work, how to make sure everything is done as fast as possible and what I would expect to see.

I found that visualizing a problem goes a long way in solving it. and in this case I devise a way to put all the work “tasks” into a single visible place. I found that a physical task board is usually does a very good job at this. so that’s my preferred technique, but an excel list cam do just as well.

As a lead, I do make sure to track how the team is doing (at least when at start). So a mechanism for tracking this should also be decided on. Again a Task Board  does a great job at this, but a shared excel task list with the people names also works just as well.

And last, like any new skill, mistakes will be made  along the way. That’s Ok. Mistakes are what people learn from, so don’t try to prevent them, make sure the damage isn’t too big, and that people learn from them.

Appraisals and Agile Don't Play Nicely

One Day Software Team Leader Skills Class - Lund, Sweden