如何处理结对编程问题?

时间:2020-03-06 14:30:54  来源:igfitidea点击:

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

解决方案

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

他们到底有什么问题?他们不相处,彼此不了解吗?他们是否处于不同的编程经验水平?

如果我们有一个可以充当"调解人"的团队成员,可能会有所帮助。过去曾经成功完成结对编程的人,可以一起帮助他们完成前几次。

每周或者每次冲刺旋转一对如何,这样,如果一对之间存在问题,他们就不必永远这样。我认为,如果有一个特定的时间范围,我们必须与一个我们不相处的人一起工作,就会更容易"吸纳它",并且希望我们不会那样失去任何优秀的人才。

如果经过几次轮换之后,我们发现某个特定的人没有人喜欢,则可以专注于调整该人与团队的互动方式,或者继续将其永久地从团队中移出。

解决冲突的第一步是要认识到人们是不同的。在结对编程中,即使是最温和的程序员的耐心也可以尝试,这可能会带来很大的压力。有些人在遇到冲突时退缩,另一些人变得积极进取。

根据我的经验,最好的方法是在进行代码编写之前,详细讨论一下该会话要完成的工作。这将使两个头脑都走在同一个轨道上。当我们不同意某件事时,请停止编码,在计算机之外讨论它,尝试找到共同点,最重要的是,不要忽略伴侣可能有的任何想法。休息一下;不要连续工作2个小时,请尝试站起来或者每45分钟左右休息一下。

讨论作为一个小组的配对问题,并确保小组知道不同的配对无效。这样,该小组可以帮助确保两人不会互相躲避。如果我们将失效对分开放置,它们将始终失效。

让这对人打开沟通渠道;尝试让双方去做新的事情。假设两个人都是真正的优秀开发人员,那么他们两个人都有很多可以互相学习的地方。尝试从老师到学生改变他们的态度。

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

失败了,呼吸薄荷糖。

-亚当

第二个穆罗的问题是,他们遇到什么问题?

以我的经验,这些问题通常(但并非总是)是团队结构/技能/关系潜在问题的征兆,如果我们想从每个参与人员中获得最大收益,则需要解决这些问题。

玛丽不是因为弗雷德对理智的人们如何使用数据库一无所知而与弗雷德相处得很好吗?弗雷德(Fred)是否不会与乔(Jo)相处,是因为乔(Jo)没有按应有的规律洗澡?乔不是因为玛丽是粗鲁的SOB而与玛丽不相处吗?如果是这样,我们几乎可以保证Fred,Jo和Mary也以类似的方式惹恼了团队的其他成员。

只是请一个或者两个人将问题推到足以避免配对的程度,并不意味着问题就消失了。其他人也可能会很讨厌,他们可能会有其他应对方式。例如寻找替代工作:-)

如果团队合作不顺利,那就不是团队。

出于好奇,配对会话需要多长时间,以及多久切换一次配对?我发现,如果人们每天定期更换一对或者两次,处理这种事情有时会更容易。这样,每个人都可以在团队中分享每个人的相对优点和缺点,这可以帮助每个人专注于解决某些缺点。

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

  • 两个人长时间不会卡在一起
  • 开发人员将轮流浏览我们当前的故事,熟悉每个代码以及代码的不同区域
  • 如果开发人员有一种气味,那么我们只需经历一小段臭味即可!

配对是敏捷团队的一项重要实践。首先,最好确定愿意并能够成对工作的开发人员。我知道的一家公司会进行极端面试。也就是说,他们将成对面试候选人,给他们解决的问题。他们对开发人员是否有能力解决问题感兴趣,但对他们的协作技能感兴趣。仅考虑那些可以与他人良好配合的产品。

并不需要所有人都互相喜欢。重要的是它们是有效的。鉴于货币对频繁轮换(每张牌或者更频繁地轮换),个性问题就不那么重要了。如果某人不成对,并且在接受教练训练后仍然是个问题,则应要求他(或者她)离开球队。