Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1543050
  • 博文数量: 237
  • 博客积分: 5139
  • 博客等级: 大校
  • 技术积分: 2751
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-18 14:48
文章分类

全部博文(237)

文章存档

2016年(1)

2012年(4)

2011年(120)

2010年(36)

2009年(64)

2008年(12)

分类:

2008-11-29 22:38:30

许多敏捷专家认为,不是所有的人都能适应。一些人无法理解敏捷的哲学,而且会对团队的运作起到潜在的负面作用。极限编程小组有一个有趣的话题,小组成员们讨论如何评估一个人是否适合XP。这个讨论涉及到可以作为评价标准的不同因素。

Ken Boucher认为:一些软技能,例如沟通能力、团队协作能力比个人的编程技能更加重要。他觉得编程技巧是可以学会的,但是掌握软技能需要更长的时间,难度也更大。Ken还说:他们会进行一天的面谈,包括进行结对编程、白板设计、一起吃午饭,通过这些来评估技术水平和软技能。

Kevin Petteys有些不同意见,他认为对沟通能力的判断是很主观的,最客观的评价还是应该根据一个人的技术能力。他曾在多个项目中遇到过口才很好、但是完全不懂编程的人。

David Peterson 认为,编程能力和沟通能力是相互联系的。如果一个人无法清晰地表达自己,那么他也不大可能写出清晰的代码。Pat Maddox建议与候选人结队编程,评估对方的技术水平和沟通技巧。在他看来,结队编程能够揭示出如下事实,

在我教授之后,他们是否能够很快学会?(他们或许不了解TDD的“红灯——绿灯——重构”模式。这没有关系,我可以教他。但是在我们第二次共同开发时,他们能马上学着使用TDD么?) 他们的算法编写能力怎么样? 他们能否识别出重构的机会? 在解决问题时,他们如何沟通? 小组中有人反对用结队编程去评价别人,他们认为这可能会让候选人感受到威胁,或者处于压力之下。其他一些成员则认为:如果某人因此感到威胁,这就说明他不适合XP。

小组接下来讨论了评价个人技术能力的最佳方式。大部分小组成员认为写代码是最好的方式之一。Kent Beck补充道:通过写代码是可以了解某人的工作方式,但是却无法衡量他的性格和人际交往能力。应该选用什么样的代码进行测试,对此大家意见不同。有人认为采用编程技巧题目会比较方便,例如FizzBuzz。其他人则认为:即使候选人解决了这些技巧性的题目,也无法知道对方解决实际问题的能力。他们主张采用实际工作中的问题进行测试。D.André Dhondt提出了折中的意见:

不管采用编程技巧测试题目,还是真实问题,用它们进行结队编程肯定是各有利弊。我认为这两种方式都采用会更好。让候选人花45分钟时间独立解决编程技巧问题,然后再跟他一起结对开发一个真正的用户故事(要尽量选择不含公司和行业特性的故事)。 D.André还说,他主要看中沟通能力、工作节奏和指导能力。这些特性决定一个人是否具备协作能力,与解决何种类型的编程问题无关。

Craig Davidson试图用自己的观点来总结讨论。他认为最重要的是积极性和采用XP进行工作的热情。合格的人要有的热情,应该关心他所使用的开发语言和所能解决的问题。

总而言之,许多小组成员赞同这样的观点,合适的人选需要同时具备技术能力和软技能。大家形成了这样的共识:与潜在候选人进行结队编程时,这些技巧会得到体现。还应注意的是:这个人是否具备加入XP团队的热情和渴望。
阅读(1850) | 评论(0) | 转发(0) |
0

上一篇:xp编程方法

下一篇:scrum,xp,rup与agile的关系

给主人留下些什么吧!~~