bob最新域名:软件开发团队的组织形式对软件生产率的影响

  影响软件生产率的有三个重要的因素,分别是沟通、管理和技术。而软件开发团队的组织形式就与沟通和管理两个因素相关。所以,如果我们想要提高组织的软件生产率,就有必要了解下不同的团队形式对软件生产率的影响。

  在过去的大约几十年间,出现了很多不一样的软件开发团队。这里只讨论5种常见的团队类型:Ad Hoc团队、首席程序员团队、结对编程团队、跨功能团队,以及老虎团队(Tiger Team)。

  Ad Hoc团队作为一个团队,每个成员都应为了同一个目标而努力。从这个意义上讲,Ad Hoc团队并不能算是一个真正的团队,因为它根本就没有清晰明确的团队结构,它只是被分配到一个给定的开发任务上的人群。作为团队,它只是与考勤卡上相同的费用代码有关,除此以外基本再无其他关联。

  这种团队通常会工作在彼此有隔间的办公环境,小组成员之间缺少交流,甚至管理者也很少与开发团队坐在一起办公。

  首席程序员团队首席程序员团队由一名首席程序员(经验比较丰富、能力超强)、一名后备首席程序员(首席程序员的后备和保险)、一些功能领域专家(处理首席程序员不能覆盖的业务领域问题)、一些编码人员以及一名配置库管理员组成。这种团队结构通常是“中央集权”结构,团队沟通往往是垂直进行的,首席程序员负责规划、协调并审核所有的技术活动。

  这种团队形式对于规模较小,复杂度不高的软件而言是较为贴切的,而对于规模较大,复杂度又很高的软件,由于首席程序员的能力可能就无法完美地执行所有的规划、协调 、审核任务,团队之间的沟通有效性不足,软件开发的效率必然会被拖垮。

  结对编程团队结对编程团队是两个程序员肩并肩地在同一台电脑上一起工作,在相同的分析、设计、实现和测试任务上进行协作。

  有实验数据表明,某个软件项目成员的平均生产率是每人月77行源代码,在实行结对编程之后,平均生产率提高到每人月175行源代码,而且,该项目所达到的错误率比该组织的正常水平低3个数量级。

  跨功能团队跨功能团队包括了从开始到最终交付开展项目所必要的很多类型的工程师,这中间还包括的人员有分析师、设计师、程序员、测试和集成人员,以及项目管理人员。

  跨功能团队通常会被赋予一定的权限,它以高度自治的方式运作,不受外部干扰。小组成员的工作环境通常也是一个开放的环境。

  所以,这种团队内部能够直接进行紧密的沟通,同时又不可能会受到太多外部的干扰,它的软件生产率通常也会比较高。

  老虎团队老虎团队是在特定领域里,针对特定的任务,聚集在一起工作的一组专家。它通常被用于拯救濒临失败的项目或在项目最后期限来临之前解决项目中的重大问题。

  老虎小组成员通常都是由技术过硬的人员组成,短时间内处理问题又使他们之间一定要进行高度协作和交流,这种团队形式基本全部符合高软件生产率的三个要素。而且,未解决棘手的问题,老虎团队通常还被授权可以游离于正常的管理体系之外,打破“条条框框”,这会使他们的效率进一步提高。

  所以,如果想要提高组织的软件生产率,可优先考虑跨功能团队+结对编程团队组合的形式。

上一篇:
下一篇: