I came across this posting on a Yahoo! group recently and it was too good not to pass it along. It is about writing an acceptance for hiring a senior developer in the spirit of Extreme Programming.
class SeniorDeveloperAcceptanceTest extends TestCase{
Developer candidate;
Collection team;
public void setUp() {
candidate = new Developer();
team = YourCompany.getTeam();
}
public void testTechnicalSkills() {
assertTrue(candidate.isJavaExpert());
assertTrue(candidate.canDesignLargeApplication());
assertTrue(candidate.canReduceTechnicalDebt());
assertTrue(candidate.practiceTDD());
}
public void testTeachingSkills() {
assertTrue(candidate.canImproveTeamSkills());
assertTrue(candidate.canArgueAboutAgility());
}
public void testHumanBehavior() {
assertTrue(candidate.canPairProgram());
assertTrue(candidate.canIntegrateWith(team));
assertTrue(candidate.hasPositiveAttitude());
}
public void testMethodologySkills() {
assertTrue(candidate.knowExtremeProgramming());
assertTrue(candidate.canImproveTeamVelocity());
}
}