Agile . since Jun 23 . Index . DOCs TOP TOC

Team Owned, Pull-based Task Assignment


Who is responsible for completing which tasks? Different XP teams have different answers. Again, we tried several approaches and used metrics to discover which worked best for our team.

We attempted individually owned tasks and team owned tasks. For each grouping, we attempted push-based and pull-based assignment. For individually owned tasks, we tried both just-in-time and per-iteration assignment periods. This results in a total of 6 combinations.

An individually owned task is one that a single individual is responsible for completing. He will pair with others to work on it, but he will never rotate off it and is personally accountable for its completion. In contrast, team-owned tasks are the responsibility of the team as a whole. Anyone can work on them at any time.

In push-based assignment one person delegates tasks to others. This may be a manager, a Senior Engineer, an architect, or some similar person. In pull-based assignment, people grab tasks that they want to work on off of a shared space, such as a cork board. They tell the team why they should do the task, and then take it.

The data below clearly indicate that more flexible work assignments got more work done. The most efficient method was team owned tasks with pull-based assignment. Again, this gave marked improvements in both our velocity and our error rate. The difference was especially marked among the larger tasks — tasks that took over ½ a pair-day were completed much more quickly and predictably when they were team owned.

Figure 1. Task ownership and velocity

 The letter codes for the categories are (T)eam owned vs (I)ndividually owned, then (A)ssigned vs (C)hosen, and finally (W)eekly vs (F)lexible duration of accountability. For each category, a mean velocity was measured across a couple of iterations. Velocity has been normalized to a percentage of the highest mean and the columns arranged in ascending order.

The worst two columns are those with weekly task assignments. All team-based assignment methods beat all individual accountability approaches. The error in these numbers is about 10%, which means that the 70% difference between the worst and the best methods is quite meaningful. The 5% to 10% difference between pull assignment and team leads is not.

Agile . since Jun 23 . Index . DOCs TOP TOC

Team Owned Tasks


The more flexible the work assignments, the more a team can take advantage of its natural talents. Many tasks are best solved by the combinations of 4, 5, or even more talents. It is very rare to find a set of people from whom you can pull any pair necessary for any problem. However, it is quite possible to pull five people who combine to give the five necessary talents.

Team based responsibility allows you to do exactly that. Because no one individual is tasked with finishing the problem, each person can be switched in to a given task only and exactly when required. This means that each person spends more time applying their specialty to your tasks at hand and more work gets done.

Furthermore, people who natively think in the most appropriate way to solve a problem tend to develop better solutions. This results in a measurable difference in bug rate. Finally, programming is more fun when each person spends more time applying his talent.

Pull-based task assignment was advantageous for the same reason. Although we all had a very good idea what the talents of our team members were, each person still knew himself best. By using pull-based assignment, each person could argue where his talents applied to the problem. We could also take into account day-to-day effects, such as sleep deprivation or romantic problems.

Our team also believed strongly in the concept of the working manager — our nominal manager spent about 60% of his time writing code. Management tasks were just more things that the team had to do. Because of this approach, we ended up without a domain expert in management, but with several naturals at the various parts of the job.

We had three people who were the team’s ultimate spokesmen. Our planning and experimentation were done by anyone on the team, but there was a natural who stepped up to help when it was needed. Similarly, we had naturals in the behavioral competencies of Energizing, Leadership, and Team Building. All of these were different people.

Agile . Index . DOCs . TOC