Tuesday, May 12, 2009

Performance Reviews for Developers

It is getting close to that time of the year again at Macadamian, that's right, review time. Luckily however, it is mid-term reviews instead of the full year end reviews. This time of year always gets me thinking about how we review our employees, and to look around for new ways on how reviews could work.

This year I stumbled across the Cockburn-Boehm Levels of Developer's Competency. The focus of this approach is not measuring performance on generic skills, but rather in terms of how to approach software construction projects. It's not about the skills of developers; rather, it's about the characteristics of the developers.

There are 5 basic levels in the scale, higher is better:
  1. Level 3: Able to revise methods and methodologies to fit unexpected and unprecedented situations.
  2. Level 2: Able to tailor a method to fit a new situation that is expected.
  3. Level 1A: With appropriate training, able to perform discretionary method steps, such as estimating features, tasks, and user stories, complex refactoring, etc. With training, can achieve Level 2.
  4. Level 1B: With training, able to perform simple method steps, like implementing methods, simple refactoring, following coding standards etc. With experience and training could master some Level 1A skills.
  5. Level -1: May or may not have technical skills, but is unwilling and unable to collaborate in a team environment or follow shared processes. You don't want these people on your team.
Then name of the last (and worse) level is illustrative and telling. You would think it should be "Level 0" based on the pattern, but someone is a Level -1 is not a zero, because not only do they not contribute to the team, they actually drag the team down.

Developers at this level decrease the productivity of the team, either through their lack of technical skills, or worse, their poor attitude. A positive, constructive, can do attitude is more important than technical skills. You can usually train people on technical skills; it is much harder to change someone's personality.


Jeff Edwards said...

This sounds like an interesting assessment mechanism. Thanks for sharing it. I have never seen it used.

Nordstrom has a reputation for excellent customer service. A Nordstrom VP of HR was once asked how they train their staff to offer such great service. The VP responded, “We don’t train our staff, their mothers and fathers train them.” Service procedures can be taught, but a sense of caring and empathy cannot be taught. Some might say that changing someone’s personality (the post’s last line) is not possible and a poor use of time.

Jason Mawdsley said...

I agree, it can be very hard, often impossible. Sometimes though, its not the personality per se, but their level of confidence in themselves or some personality conflict within the team that can be addressed.

Knowing when to cut your losses in these situations is a key performance indicator of the manager/leader.