如何处理结对编程问题?

时间:2008-09-21 20:38:08

标签: agile pair-programming

团队中的一些成员在编程时遇到问题。 不同性别,不同文化,不同年龄。如何处理这些问题?    - 不要将它们配对,或    - 将它们配对,让它们进入“黄金中间”

9 个答案:

答案 0 :(得分:17)

结对编程基于两个程序员的交互增加价值的想法。如果不是这样,请更改对...让他们选择。编程应该很有趣!

答案 1 :(得分:9)

如何每周或每个sprint旋转一对,这样如果两对之间存在问题,他们就不会觉得必须永远这样。我认为如果有一个特定的时间框架,你必须与一个你不相处的人一起工作,这会让你更容易“吮吸它”,并希望你不会失去任何伟大的人。

如果经过几次轮换后你注意到某个人没有人喜欢它,可能适合专注于调整个人与团队互动的方式,或者是否继续永久地将他们从团队中移除。

答案 2 :(得分:6)

重新评估您的招聘实践,并确保选择面向团队的员工。

如果做不到,请小心翼翼。

- 亚当

答案 3 :(得分:4)

他们究竟遇到了什么问题?他们不相处,不相互理解?他们处于不同的编程经验水平吗?

如果您的团队成员可以充当各种“调解员”,这可能会有所帮助。过去成功完成配对编程的人可以在最初的几次中帮助他们。

答案 4 :(得分:1)

解决冲突的第一步是认识到人与众不同。即使是最温和的有礼貌的程序员的耐心也可以在结对编程中尝试,它可能会非常紧张。有些人在遇到冲突时退出,有些人则咄咄逼人。

根据我的经验,接近结对编程的最佳方法是在您开始编写代码之前,详细讨论您希望在会话中完成的内容。这将使你的双方都处于同一轨道上。当你不同意某些事情时,不要编码,在计算机上讨论它,试着找到共同点,最重要的是不要忽视你的伴侣可能有的任何想法。休息一下;不要连续工作2小时,试着站起来或每45分钟左右休息一下。

答案 5 :(得分:1)

谈论将问题与小组配对,并确保小组了解不同的配对。这样,该小组可以帮助确保您的配对不会相互避开。如果你将一个不合适的对分开,它们将永远失效。

让这对开放的沟通渠道;试图让双方都做新事物。假设两个人都是真正优秀的开发人员,他们都可以互相学习。试着改变他们从老师到学生的态度。

答案 6 :(得分:1)

我是第二个问题 - 他们遇到什么问题?

根据我的经验,这些问题通常(但并非总是)是团队结构/技能/关系的潜在问题的一个标志,如果你想要让所有参与者发挥最大作用,就需要解决这些问题。

玛丽与弗雷德没有相处,因为弗雷德不太了解民众如何使用数据库吗?弗雷德与乔没有相处,因为乔不像他们应该那样经常洗澡吗? Jo和Mary没有相处,因为Mary是一个粗鲁的SOB?如果是这样,你几乎可以保证Fred,Jo&玛丽也以类似的方式骚扰团队的其他成员。

只要考虑一两个人推动问题就足以避免配对并不意味着问题就会消失。它也可能会让其他人感到讨厌 - 他们可能有其他的应对方式。比如寻找替代就业机会,例如: - )

如果团队不能很好地协同工作,那么这不是一个团队。

出于好奇 - 你的配对会有多长时间以及你多久换一次?我发现,如果民间人员定期切换对,每天一到两次,有时候处理这​​种事情会更容易。这样每个人都可以分享团队中每个人的相对利弊 - 这可以帮助每个人集中精力解决一些缺点。

答案 7 :(得分:0)

另一种方法是在Scrum中不断切换对子。有一个可能设置为1/2/3小时的计时器。当铃铛响起时,旋转你的对。这有一些影响:

  • 两个人长时间没有被困在一起
  • 您的开发人员将轮流阅读您当前的故事,熟悉代码中的每一个和不同区域
  • 如果你的一个开发者的气味,你只需要经历一段短暂的臭味!

答案 8 :(得分:0)

配对是敏捷团队的一项关键实践。首先,最好确定愿意并且能够成对有效工作的开发人员。我所知道的一家公司做了极端的采访。也就是说,他们会成对地面试候选人,让他们有一个问题需要解决。如果开发人员能够解决问题但对他们的协作技能感兴趣,他们会感兴趣。只考虑那些能与他人合作的人。

不要求所有对彼此相似。重要的是它们是有效的。鉴于对频繁地轮换(对于每张卡或更频繁地),个性不是问题。如果某人没有成对,并且在执教后仍然是一个问题,应该要求他或她离开球队。