软件工程笔记之 - 外科手术队伍

       有些研究表明,效率高和效率低的实施者之间的个体差异非常大,经常能够达到数量级的水平。

――Sackman , Erikson and Grant

         较好的程序员和较差的程序员生产率是有令人吃惊的差异的。Sackman.EriksonGrant曾对一组具有经验的程序人员进行测量。在该小组中最好的和最差的表现在生产率上平均为10:1;在编程速度和空间上具有5:1的惊人差异!简言之,20000美元/年的程序员生产率可能是10000美元/年的程序员的10倍。反之亦然。

对于一个小型项目来说10人以下的精干的队伍固然是一件好事,但对于大型的项目,此安排不再合理。一拥而上只能是浪费资源。

Harlan Mills的提议提供了一个崭新的、创造性的解决方案。建议大型项目的每一个部分由一个团队解决,但是该队伍以类似外科手术的方式组建,而并非一拥而上。

  •          外科医生。首席程序员,此角色需要极高的天分、十年的经验和应用数学、业务数据处理或其他方面的大量系统知识和应用知识。
  •          副手。外科医生的副手,能完成任何一部分工作,但相对具有较少的工作经验。
  •          管理员。外科医生是老板,他可以在人员、薪酬、办公空间具有完全的决定权,但它绝对不能在这些方面浪费时间,所以需要管理员来帮助解决这些问题。
  •          编辑。外科医生负责文档的生成,处于最大透明度考虑,需要大量的文档,这些文档都需要编辑来完成。
  •          两个文秘
  •          程序职员。他负责编程产品库中所有团队的技术记录。
  •          工具维护人员。负责保障团队能高效的利用工具工作。
  •          测试人员。协助外科医生进行相关测试用例的操作。
  •          语言专家。负责精通编程语言,提供有用的咨询

 

        而在大型的系统建设当中,怎样运用这种外科队伍构架呢,我们如果具有上百上千人的项目,怎样来协调呢?

        扩建过程的成功依赖于这样一个事实,即每个部分的概念完整性得到了彻底的提高――决定的设计人员只占有全部人员的很少一部分,所以大部分人在解决问题,而仅仅需要协调极少部分人即那些“外科医生”的思路。

总的来说,上述的角色分工和技术是可行的,在实际工作中,具有非常高的效率。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值