Friday, January 16, 2009

“No-Brainer” Self-Management Practices in Agile

While there may be some confusion over the meaning of self-management in Agile, not to mention some contention as to whether or not it is a good idea, many of the Agile practices contribute to self-management without requiring the wholesale adoption of self-management. For simplicity, I will define “self-management” as anything that is done by a team member that would traditionally be done by a manager. The practices contribute to self-management either by reducing the amount of management required or by encouraging the delegation of management tasks to team members. Some practices do both. As a result, managers have more bandwidth for dealing with things which are a more leveraged use of their time.

The Agile practices related to self-management include:
  • whole teams
  • collocation
  • short iterations
  • using a scrum master
  • using a product owner
  • user stories
  • maintaining a product backlog
  • assignment of tasks by team members
  • estimation of tasks by team members
  • producing a burn down chart
  • retrospectives
Simplifying and Redistributing the Management Load
Let’s start with a simple example: task assignment. Traditionally, tasks are assigned to engineers by their manager. In Agile, tasks are selected by the engineers themselves. It may take some time for everybody to get used to this and to work out the kinks, but the practice itself is not particularly earth-shattering.

Certainly, somebody may find themselves struggling with a task they don’t fully understand, or one engineer may accomplish a task more slowly than whoever the manager might have chosen to do the task. But is that really all that different than what typically happens when the work is assigned by a manager? How likely is it that a manager has enough time to devote to the minutia required to optimize task assignment? Wouldn’t it be better for the manager to spend their time mentoring team members on how to pick tasks that are appropriate for them while at the same time encouraging engineers to stretch their capabilities?


Paul Hopkins said...

I would add: "team reports "status" to each other, and not to another instance". Most teams I work with as Scrum Master take time getting used to the fact that they are not reporting to me when they get together in a daily scrum and answer 3 little questions...

Damon Poole said...

Great observation Paul! Would you generalize that to "standup meetings" where standup meetings include what you are saying?


Paul Hopkins said...

Hi Damon, yes, I would generalise that earlier statement to read "standup meetings". The original statement is a bit too Scrum-specific ;-) Best, Paul