人月神话现在已经成为经典,但“手术团队”方法论仍然很有趣。什么方法论与它最相似或具有相同的本质?

总结一下手术团队的类比:外科医生了解问题/业务领域并且是专家。当团队中出现问题或冲突时,他们是权威。当出现问题(比如设计问题)时,外科医生会相互协作,形成一个规模较小、紧密的专家团队。那么本质上他们拥有该领域的知识,被委托做他们认为正确的事情,并进行实际的编码?团队的其他成员专注于支持、测试、文档,项目计划是委派的任务。因此,外科医生也是最熟练/训练有素的资源。

答案可能是项目、编程、设计方法,因为它似乎对主要方法领域都有影响。采购开发中的敏捷、MDA、Extreme?这个问题对于复杂业务领域中的大型软件也更有意义,例如空中交通管制,而不是 COTS 开发人员或通用实用程序。

有帮助吗?

解决方案

一个在组织模式中提及的图案的的题目是“每个角色三至七个助手”;从手术团队的不同之处在于它注重每一个角色,例如,它不仅是外科医生“角色”有助手或关系:所有的角色有关系的一些数

在名为来自相同的源的另一种模式“建筑师也进行实现”,其可以是类似于“外科小组”,因为特别是建筑师是(大概)高度熟练。

其他提示

就外科医生而言,关键角色既是领域专家又是实施者。

也就是说,他既是软件程序经理(架构师)又是开发人员。

这种方法可能适合某些短期情况:例如,实时服务器迁移或软件升级等复杂操作。

然而,对于一般开发来说,这种“英雄”方法存在一些问题:

  • 很少有关键开发人员能够充分理解问题领域,因此必须依赖领域专家。这只是专业化的一个功能——很难找到同时也是律师、医生、会计师或软件建模领域专家的出色程序员。

  • 可扩展性受到可用“外科医生”数量的限制。

  • 其他员工在等待指示时有很多休息时间,因为高度专注的“实干家”也在管理团队。在OR中可以,因为您正在处理“零袋”任务和“实时软件”。但是在这种经济中,即使它导致团队成员之间偶尔出现同步问题,更分布的工作量也更有效。

我不知道任何方法真的解决了,因为它实际上是优先开发和弯曲一切自己的需要,不如说是对那些开发人员实际上是如何发展自己的软件什么的问题。

如果你正在寻找一些methodolgy是impements这一点,我想这可能是个坏消息。我更愿意认为它的好消息的,因为它意味着你可以使用这种方法与几乎所有的软件开发方法。

我的工作完全的一个的已运行这样的项目。它是如此愉快,我几乎感觉不好称其为“工作”。我们四个个人开发者(额外支持personell,包括偶尔的额外初中代码猴)中只有9几个月坐上编写的代码和正常运行真正prodigous量。其它地方我一直无法做到尽可能多带一队20。

从文字中我看到以下内容:

敏捷喜欢:

  • 小团队专注于解决特定问题
  • 外科医生之间的合作

非敏捷喜欢:

  • 外科医生是权威,负责推动计划、确定设计、分配支持任务(将它们视为编码的辅助)并进行编码。所有这些在方法上都是非常指挥和控制的,与自我指导团队相反(相对于指导团队)
  • 似乎没有与业务伙伴合作(更不用说与业务伙伴频繁合作)
  • 似乎没有优先的产品积压,因此外科医生选择重要的东西而不是业务合作伙伴
  • 似乎没有增量交付(紧密的反馈循环)

对于瀑布项目,建议使用专家(外科医生)团队来进行规划、设计、编码等。并将任务分配给“支持”人员。在敏捷团队中,测试不被视为支持,而是交付的一个组成部分。

人们无法肯定地说出所提倡的方法论。然而,它似乎确实使用了语言(项目计划、任务),并假设遵循瀑布方法(由计划驱动的设计、编码、测试等阶段)。无论使用什么方法,它都是少数人决定多数人工作的方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top