敏捷教练

怎么定义研发团队的效能

2020-06-09  本文已影响0人  夏伟才

研发团队的效能,用一句话来说,就是持续、快速交付价值的能力。具体包含哪些部分,怎么去度量呢?

要回答这个问题,首先需要定义研发团队的组织目标。

研发团队的目标包含:

1、交付价值

对于功能性需求,开发组织能够在开发前,将低价值内容从高价值特性上剥离下来,从而提升投资回报(ROI)。

对于非功能性需求,很多情况下,开发组织提出的方案都会影响投入在短期和长期时间轴上的分配,因此,能够使技术方案跟业务模式相吻合,就有可能在相当程度上提升交付的价值。

2、响应速度

管道的长度代表了端到端的软件开发活动,包含了从用户需求的产生到该需求以产品的形态为用户产生价值的整个过程。管道的长度和交付对象在管道里流动的速度,决定了组织对市场的响应速度,也就是交付周期。

3、交付速率

如果把管道直径比作组织的规模,效率的一个目标是提升管道的吞吐率,也就是交付管道直径不变的情况下,提高单位时间内通过管道的工作单元的数量。对应到软件开发组织,就是单位规模的组织在单位时间内所能交付的软件规模,我们简称其为交付速率。软件开发本身的特点,使得在传统制造业中大放异彩的规模效应,并没有在软件开发中产生明显的效果。业界分析的结果指出,规模能够对软件开发效率带来2个正面效应。

(1)在以提高生产效率为目的的工具和基础设施上的投入可以被更广泛的共享。

(2)产品和项目管理的成本不会直接随着项目规模的增大而增加,可以想象,一个项目经理或一个产品经理,可以应对从十来号人到上百人团队的管理工作。

负面效应:

(1) 沟通成本:如Brooks在《人月神话》中说的[注释],开发规模大了之后,团队成员之间、团队和团队之间的沟通路径是几何级数增长的。

(2)人员投入程度:软件开发是一个需要紧密协作的活动。大团队增加了人员间个性冲突的概率,会造成团队内不良的化学反应,降低团队效率。此外,大团队还降低了大多数个体的参与感。

(3)系统复杂度:产生大规模团队的一个原因是系统本身的规模,而根据Conway’s Law[注释],软件设计的架构,实际上反映了开发组织的结构与沟通架构。随着组织结构的扩展和复杂化,模块间接口数量也会随着模块数量的增加呈几何级数增长的。这意味着系统复杂度的增长,而且更加难以评估引入变更的影响,这也意味着系统维护、演进成本的增加。

4、质量

质量是指广义上的质量,包括产品设计、用户体验、功能完善等。质量是个约束性的属性,对于一个特定的产品来说,其质量要求通常是相对稳定的。质量保障是通过系统化的一系列活动,提供足够的证据说明软件产品是适合使用的。

5、能力

个人、团队、组织的能力是对上述3个因素有直接影响的要素。Peter M .Senge在《第五项修炼》中指出,一个组织唯一可持续的竞争优势是比对手更快的学习能力。这种学习不仅发生在课堂里,更重要的是从客户、市场、团队学习,从成功和失败学习。

我们可以通过度量这些目标的数据,来衡量研发团队的效能。

上一篇 下一篇

猜你喜欢

热点阅读