Performance evaluations and performance management are areas I disagree with many Agile coaches’ opinions on. “Popular opinion” is that you don’t evaluate individual team members at all. You only evaluate the team as a whole. They maintain that team members are self-motivated and will do their best to support their team. They also feel that evaluating individuals on the team could lead to stratification, and all team members should be treated equal and be at the same level. Team Leads have no place in Agile. When a team member is not performing, or is hindering the team, the team should have the power to remove that person.
Personally, I have never seen an Agile group where everyone was at the same skill level, let alone contributing to the group to the same extent. In fact, in most teams I’ve seen, different team members have a different level of commitment and focus on the team. And I’ve never seen a team that had the power to kick non-performers out on their own. What I propose is to evaluate individuals, but to emphasize team support and commitment in the evaluation.
I went to an Agile New England meeting last night. The topic was “Culture for Great Teams and Results: The Core Protocols” by Richard Kasperowski. He brought up some interesting statistics. He cited Jeff Sutherland’s observation that the performance difference between the best performing individuals and the worst performing individuals was 10X. That’s impressive, but he also cited another study observing that the performance difference between the best performing teams and the worst performing teams was 2000X. So which would you focus on improving?
You can’t get to highly performing teams unless the team members are focused on team performance as a goal. A superstar developer cranking out features left and right but not working with the rest of the team so the work gets tested and promoted and knowledge is transferred, is not actually doing you as much good as you think. These “Cowboy Programmers” tend to create an unnatural and uneven workflow that the features don’t actually end up in the customer’s hands faster, or do so poorly tested. In my experience, these team members also cause strife among the rest of the team, who see them as someone who is not following the rules and is getting away with it.
I certainly agree that a high value should be placed on performance at the team level, but I don’t think the vast majority of companies have development teams where everyone is at the same level, has the same dedication to the team, and would even feel comfortable addressing performance/dedication/focus issues of a particular team member with the rest of the team. This is why I feel that individual team members do need to be evaluated, but for the team member’s affect on the team to be a large percentage of that evaluation. That evaluation should include
- Meeting commitments
- Knowledge transfer
- Updating the team on status
- Help given to other team members
I know there are a handful of companies out there that carry the Agile philosophy to such an extent that team members are empowered in this way, and there are no Managers in the classic sense. If these companies continue to succeed, and this M.O. spreads, I hope we see a corresponding increase in self-motivated employees who feel comfortable working there.