Two challenges have been reported for human resources when teams begin applying XP: reviews and hiring. The problem with reviews is that most reviews and raises are based on individual goals and achievements, but XP focuses on team performance. If a programmer spends half of his time pairing with others, how can you evaluate his individual performance? How much incentive does he have to help others if he will be evaluated on individual performance?
Evaluating XP team members individually need not be much different from evaluating them before applying XP. In XP, valuable employees:
Act respectful.
Play well with others.
Take initiative.
Deliver on their commitments.
Teams have solved the evaluation problem in two ways: either by continuing individual goals, reviews, and raises or by moving to team-based incentives and raises. The transparency of XP gives managers plentiful information on which to base individual evaluations. Every week each team member publicly signs up for, estimates, and accomplishes tasks directly related to work requested by the customers. The need for altruistic behavior, however, moves some teams to give raises to the team as a whole instead of to individuals. Another idea is to mix the two, with individual evaluations and raises and bonuses for excellent teamwork.
Hiring for XP teams can differ from existing hiring practices. XP teams put much more emphasis on teamwork and social skills. Given the choice between an extremely skilled loner and a competent-but-social programmer, XP teams consistently choose the more social candidate. The best interviewing technique is to have the candidate work with the team for a day. Pair programming provides an excellent test of technical and social skills.