写点什么

如何评价一个人是否适合 XP?

2008 年 7 月 16 日

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

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

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

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

  1. 在我教授之后,他们是否能够很快学会?(他们或许不了解 TDD 的“红灯——绿灯——重构”模式。这没有关系,我可以教他。但是在我们第二次共同开发时,他们能马上学着使用 TDD 么?)
  2. 他们的算法编写能力怎么样?
  3. 他们能否识别出重构的机会?
  4. 在解决问题时,他们如何沟通?

小组中有人反对用编程去评价别人,他们认为这可能会让候选人感受到威胁,或者处于压力之下。其他一些成员则认为:如果某人因此感到威胁,这就说明他不适合 XP。

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

不管采用编程技巧测试题目,还是真实问题,用它们进行结对编程肯定是各有利弊。我认为这两种方式都采用会更好。让候选人花 45 分钟时间独立解决编程技巧问题,然后再跟他一起结对开发一个真正的用户故事(要尽量选择不含公司和行业特性的故事)。

D.André还说,他主要看中沟通能力、工作节奏和指导能力。这些特性决定一个人是否具备协作能力,与解决何种类型的编程问题无关。

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

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

查看英文原文: How to Evaluate a Good Fit for XP?


InfoQ 英文站的读者 Bruce Rennie 和 Kurt Christensen 也认为软技能更加重要。Bruce 指出:自己遇到的很多已经失败或仍处于挣扎之中的项目,技术问题并不是造成它们失败的主要原因。而 Kurt 则说,缺乏“软技能”的人会造成更多的问题。

2008 年 7 月 16 日 08:38939
用户头像

发布了 479 篇内容, 共 126.4 次阅读, 收获喜欢 29 次。

关注

评论

发布
暂无评论
发现更多内容

API统一管理平台-YApi

雪雷

YAPI API接口管理

Jenkins部署Python项目实战

雪雷

Python jenkins CI/CD

RabbitMQ实践

雪雷

RabbitMQ 消息队列

Linux系统检查脚本

雪雷

Shell 系统检测

Python利用sphinx构建个人博客

雪雷

sphinx Blog

Linux自定义快捷工具

雪雷

Linux Shell tools scripts

Apache常用配置指北

亻尔可真木奉

Apache 代理 跨域

Kubernetes-学习必备(awesome-kubernetes-notes)

雪雷

学习 k8s入门 k8s文档 k8s知识

Istio微服务治理笔记(一)

雪雷

istio 服务治理 server mesh

Prometheus + Grafana详解

雪雷

监控 Grafana Prometheus 告警

玩K8S不得不会的HELM

雪雷

k8s Helm

记一次混合云API发布的反思

雪雷

iptables API api发布

Elasticsearch安装

北漂码农有话说

探测mysqldump详细过程

Simon

MySQL

微服务API网关-Kong详解

雪雷

kong api 网关

Jenkins 详解

雪雷

jenkins

JVM-技术专题-GCViewer调优GC

李浩宇/Alex

JVM

Docker Web管理工具

雪雷

Docker shipyard dockerui

记一次混合监控的反思

雪雷

监控 zabbix redis监控 监控宝

Serverless初探

雪雷

Serverless Lambda 无服务器云函数

Flink高可用性设置-4

小知识点

scala 大数据 flink 流计算

微服务注册发现配置中心-consul

雪雷

Consul 服务注册与发现 配置中心

Guacamole实战

雪雷

guacamole 远程登录 堡垒机

业务容器化改造

雪雷

Docker 容器 微服务 服务化改造

Ceph集群部署

雪雷

分布式存储 Ceph rdb pvc

Docker+Jenkins+Gitlab+Django应用部署实践

雪雷

DevOps jenkins CI/CD

lower_case_table_names参数详解

Simon

MySQL

Golang领域模型-开篇

奔奔奔跑

golang 微服务 领域驱动设计 架构设计 后端开发

一文带你检查Kubernetes应用是否为最佳实践

雪雷

k8s k8s最佳实践

SonarQube集成gitlab/jenkins

雪雷

jenkins sonar gitlab ci 代码扫描

Gitlab Pipeline+Supervisor 实战Python项目CI/CD

雪雷

gitlab jenkins CI/CD Supervisor

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

如何评价一个人是否适合XP?-InfoQ