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.

Tuesday, May 5, 2009

Leadership in hard times

It is much easier to be a leader when times are good, when business is plentiful, when the sky seems the limit. The strains put on a leader in bad times are much greater, and this is where you you separate the leadership wheat from the chaff.

A co-worker of mine sent me a newsletter that had a great article on how to lead when times are hard. I hunted around a bit to get the corresponding web page for this article so I could share it. If you are leading people in a company highly recommend that you read this article. If you are not responsible for leading anyone, read this article.

When Macadamian recently had to make some hard decisions, I agonized on how to communicate this to the teams that worked with me. I spent hours thinking about how to effectively communicate the rationale, the plan, and how we can together move forward and succeed. It was the hardest thing I have ever done and I am glad I spent the time to prepare for it.

Is your company experiencing hard times? What are you doing to be an effective leader during this time? What behaviors have you changed?