我在极限编程团队工作,每天配对编程。最近我越来越多地做了一些提供慢反馈的东西,大约3分钟。例如:更改某些内容,重新编译,运行并查看性能是否得到改进。我认为这会破坏结对编程的质量,而且我认为它会影响单独的程序员。如果我独自一人,我可以做其他事,但如果我是结对编程怎么办?你会怎么处理它?</ p>
答案 0 :(得分:4)
如果您可以单独做其他事情,为什么不配对?也许更简单的行动项目可以在等待时从问题列表中删除?对我来说,等待3分钟对于让大脑保持“流动模式”来说太长了。因此,无论如何都被打乱了(以及你的伴侣),你不能和你的伴侣做别的事吗?
但是,在您的情况下,我不会在任何变化后暂停3分钟的环境中工作。所以问题是:你不能在较小的环境中开发和调试代码,将它编程到完美,然后将这些代码重新集成到主流中吗?
答案 1 :(得分:3)
你的里程可能会有所不同,但我认为对任何不到主要功能的配对编程至少浪费一个程序员的时间
答案 2 :(得分:2)
结对编程应仅适用于开发的 research / POC / innovation 部分。应该将简单的任务委托给单个程序员。
当你不得不等待你的伴侣完成这个繁琐但耗时的任务时,不仅浪费时间。在等待的同时还有一个人为因素 - 你感到无聊。请记住,富有成效的开发人员必须持续激励 - 等待你的伴侣完成降低你的士气。
答案 3 :(得分:1)
您应该考虑重构该过程。获得反馈的三分钟对于配对和编码独奏都太过分了。不断切换齿轮会降低你的工作效率。你可能只是在配对时感觉更多。
答案 4 :(得分:1)
性能工作,必须运行几分钟才能收集统计信息,这对XP来说并不合适。有一个强有力的案例可以说是从一对开始勾勒出一些想法,然后单独进行以避免浪费两个人的时间来进行每三分钟的表演,然后在登记之前再次加入审查工作。 / p>
答案 5 :(得分:0)
峰值时间必须内置性能,而不是添加性能。团队应该有一套自动化测试,可以在生产环境中经常(每天)运行。此外,团队应该持续运行一个分析器。如果你没有,那么现在就停止生产线并立即完成!!!
如果团队发现自己处于绩效问题的状态,则需要确定技术债务并创建一套故事卡来解决债务问题。它将包括一组自动化性能测试,一组探查器测试。每日分析测试结果是必须的。如果性能问题出现,可以调用架构或设计峰值。
如果一个团队从一开始就没有持续进行性能测试,那么您可能需要承担巨大的技术债务。一旦您执行了应用程序,您需要每天继续运行自动化测试,以便了解是否以及何时出现问题。然后,您可以更好地识别应用程序的违规更改。
通过运行自动化性能测试,您可以允许测试运行一段时间,通常持续数小时。结果可以在以后进行分析,它可以让开发人员在其他故事卡上工作,而无需等待众多个人性能测试的结果。
等待是一个阻挡者。通过自动化测试消除等待。
答案 6 :(得分:0)
如果你是成对编程没关系。即使您单独编码,3分钟也无法获得有关代码更改的反馈。我会介绍并分解项目,以便我可以专注于较小的部分。从这个意义上说,XP实际上是在帮助(迫使)改进设计之前为时已晚。
答案 7 :(得分:0)
我会分手完成这些任务。你们两个人分别处理代码,并在你做出改进时经常重新组合(30分钟左右?)。