您是否会建议在团队组成经常更改的组织中实施极端编程实践? 如果在极端编程场景中,团队在中途变得不稳定,您会推荐什么? 感谢。
答案 0 :(得分:4)
我建议首先解决团队波动问题。如果您的办公室首先有一个旋转门,那么任何流程都不会很好地工作,我会说使用的流程更多地依赖于个人的绩效和贡献而不是一个打算用于“机器中的可替换齿轮“如果可能的话,会使事情变得更糟。”
结对编程可能适用于这种情况,前提是你可以让一些人保持足够长的时间,以便他们可以将自己的知识传授给团队中的新成员。然而,问题的一部分是你不能真正练习结对编程中的“平等对”部分,你最终会处于一个隐含的高级/初级情况,因为这一对的一半不知道代码很好。
大多数开发过程都依赖于一个相对稳定的团队,该团队能够很好地了解代码库。如果你没有这个,你需要围绕这样一个过程设计一个过程:你将与那些试图在努力提高效率的同时抓住代码库的开发人员打交道。
答案 1 :(得分:1)
程序员配对成为必须。工程师实践(XP)和管理实践(SCRUM)能够以可持续的速度交付。您应该为工作团队强调的第一件事就是将它保持在一起。如果那是不可能的,编程配对就更加重要了!
对于瀑布,项目启动,人们聚集,然后他们必须通过Form,Storm,Norm然后执行。一旦团队学会了如何一起工作,项目就会结束,工作团队也会被解散。然后再次重复该过程。你看到了问题吗?谁有这么多钱,他们可以继续支付团队成本,风暴,规范,然后一次又一次地执行?
话虽如此,每个团队都会看到团队成员来去匆匆。通过程序员配对,您可以为团队带来新人,他们几乎可以立即生效。通过配对,他们将很快学会业务领域,应用程序代码和工程实践。
我们采用了一对4人队,并为团队增加了3对。我们将所有新开发人员与经验团队成员配对。我们给了自己30天的时间来让新成员加快速度。该团队击中了所有可交付成果。您是否可以想象在瀑布团队中向6名开发人员的团队添加6名开发人员。该团队几乎将陷入困境,同化新团队成员。
底线,保持功能团队在一起。如果这是不可能的,请有效利用配对来快速带来新人。
答案 2 :(得分:0)
当团队组成不稳定时,什么过程会起作用?至少在XP中,使用结对编程,你有一些希望不止一个团队成员对代码的所有部分都有一定的了解。 FWIW,我不练习XP,我只是看不到使用XP如何加剧这个问题。
答案 3 :(得分:0)
结对编程应该有助于让新团队成员加快速度,以及团队空间中的渗透通信。开发人员和客户测试的广泛套件应确保新团队成员不会破坏现有功能。高代码质量应该可以帮助他们更快地找到答案。
话虽如此,不稳定的团队确实是一个强大的反模式。你为什么一开始就拥有它们?
答案 4 :(得分:0)
高测试覆盖率和持续集成有助于确保新团队成员不会破坏之前实施的内容。结对编程是我发现的帮助人们熟悉项目的最快方法。规划会议,短迭代和跟踪这些迭代的速度也可以帮助新开发人员轻松咬住更容易管理的小块。