技术开发 频道

软件开发项目指标

  质量,即项目生命期内交付中的高、中、低级缺陷的数量。它有助于识别最终用户交付物的优良程度。每个团队都需要针对其特定项目来定义高中低级别的含义。应当在整个项目周期内报告质量情况:缺陷发现得越晚,对项目的影响越大。 下图体现了这一指标是如何汇总至团队的。

    图4:质量可视图

    采集缺陷信息后,我们也追踪另一衍生指标,“缺陷移除”。其目标在于,相对于流程前期,评估流程后期所发现问题(显然代价更高)的百分比。我们在此比较敏捷和瀑布类项目时也发现了一些有趣的行为模式。

    图5:缺陷移除可视图

    上图显示,敏捷项目在软件生命周期里具有相对可持续的缺陷率,而瀑布型项目在后期表现出一个波峰。该信息采集自同一团队的两次产品发布(需求集相当),而开发模式互不相同。

    这一指标集被持续采集、分析和汇报。我们可以将他们包含在一个“项目仪表盘”内,从而建立一个全局视图,可以与利益相关方共享和解读成果。

    如下表所示,指标间有明显的关联关系

指标 1指标 2积极趋势消极趋势
生产效率交付
缺陷
密度
高生产率伴随高缺陷密度,是项目中所计划的QA人工投入不足的标志。虽然高生产率是可取的,但是在总体效益上必须平衡生产率和质量。因此,具备高质量的最优生产率才是最合宜的。高生产率伴随低缺陷密度,是好的行为模式,而团队可以在监控缺陷密度的同时,力求生产率的进一步提高。
高缺陷密度伴随低生产率,表明需要对测试进行调优、修改或自动化,来尽早查出问题。
生产效率缺陷
移除
效率
高生产率伴随高缺陷移除效率,标志着生产效率与质量之间的很好平衡。团队可以在监控缺陷移除效率的同时,力求生产率的进一步提高。高生产率伴随低缺陷移除效率,表明在项目中所计划的QA人工投入不足。
高缺陷移除效率伴随低生产率,表明在整个周期中需要对质量多加重视。

    我们在巴西研发部门的一位项目经理Guilherme Souto,编纂了如下速效提示,帮助我们在采纳指标的过程中保持诚实和理性:

    指标需要与组织或项目目标相联系,才能体现我们是否达成了承诺。

    指标需要与日常工作流程(尽可能地)整合,以避免单为采集数据而花费时间。

    所选择的指标需要被核实是否覆盖各个领域,这些领域将决定项目结束时是否成功。

    指标就像单词,在成组造句时才真正表达含义。所以尽量避免过度分析单一指标的数据是很有必要的。当这一指标集引入后,我们总是看到团队过度关注生产效率,但是将指标孤立出来的观念,让我们无法在分析时考虑到其他变量,比如项目的困难和挑战程度或是团队(缘于其成熟度、遵循的流程或其他因素)所产出的质量高低。最终我们总不想重复过去的错误,以前我们只孤立地观察进度计划对照表之类的进度指标,导致我们牺牲了质量或者资源。

    如果一个指标无法被用来建立或定义行动计划,采用它就毫无用处。

    绩效之类的指标需要目标值。一旦要采取改正措施,团队必须明了预期的高低阈值区间。

    这些指标只提供了部分历史情况,而它们在决策中的适用性,取决于对触发团队趋势特定改变的事件链的了解。这一举措和所定义的指标,对您的特定团队不一定是非常好的的,但这是我们至今采取的,对我们来说也管用。希望对某些读者能有帮助,当然我也可能错得离谱。
 

1
相关文章