# 监控和指标

只有频繁的调整以及细小的微调才能确保scrum项目在保证一直在正确的轨迹上.scrum的各种核心Sprint活动提供了定期监控进展的机会.一系列仔细挑选的指标,监控板和团队同步实践对随意的观察也起到了很大的帮助.

# 有意义的指标

在我的工作中经常会有同事问我,整个scrum的理论上听起来很棒,但你有没有什么指标能反应出它实际上真的多有成效?

# 指标的种类

关于指标,我们要善意的使用它们.那么什么是善意指标,什么是恶意的指标呢? 善意指标: 用来作为团队识别大致进展的信号,而且更重要的是来帮助团队检查和调整流程并不断提高 恶意指标: 用于微观管理个人业绩的僵化指标,而且更重要的是,用于打击人和抹杀士气

# Sprint燃尽图

Sprint燃尽图是用来帮助跟踪当前Sprint进度的预测性指标.

Sprint燃尽图是用以下方法生成的:

  1. Sprint的每一天,将当天所有Sprint列表任务的剩余时间之和标为一个点
  2. 将每天的点和前一天的点连起来

Sprint燃尽图在Sprint每天结束时生成,不包括最后一天,因为最后一天要进行Sprint检查,Sprint回顾或者下一个Sprint计划会

Sprint燃尽图指标是scrum团队用来管理工作流和跟踪进度和日常的标尺.如果图形趋势落后于计划,则可能表明以下几点:

  • Sprint列表加入了新的任务(可能是在Sprint计划会没有预见到的)
  • 有些任务估算不正确
  • 团队成员受到了意外的影响
  • 有障碍影响了进度

许多人根据Sprint计划会的结果,简单的从y轴的顶端到x轴的末端花一条对角直线,作为实际燃尽图的基准.这种方式可能会容易让人对进展产生不准确的印象,因为Sprint进度可能很少和理论上的直线保持一致.如果只看理论曲线,项目相关方可能会误认为项目在某种情况下会落后于进度,然而实际上项目是按正常进度进展的.

# 增强型交付燃尽图

增强型交付燃尽图是用以下的方法生成的:

  1. 在每个Sprint,标出下个交付的产品列表和所有PBI剩余点数之和
  2. 根据第一步的数据点信息,画出趋势直线
  3. 在每个Sprint,标出项目开始之后新加到产品列表中的PBI点数之和(用y轴的负值来表示)
  4. 根据第三步的数据点信息,画出趋势直线

增强型交付燃尽图指标是在每个Sprint结束时生成的,这个指标表示出开发团队的进展速度与开发范围变化的速度的比较.两条线的交汇点大致表示出需要多少个Sprint来完成交付.如果两条线平行或是发散,就说明这个交付永远也做不完,需要改进实践/消除障碍或削减范围.如果两条线不相交货无法接受预计的交付时间,就需要提高进展速度(通过改进实践/清除障碍)或需要缩减内容范围.

# Sprint 干扰

Sprint干扰是帮助团队了解自己Sprint容量的生产力指标,Sprint干扰是在每个Sprint计划会上生成的.

Sprint干扰是用以下方法计算的:

  1. 每个Sprint,标出任何一个团队开发人员花在任何非Sprint列表任务上的时间总和
  2. 基于第一步的数据点,画一条趋势线

通过统计以往Sprint花在计划外的任务时间数据,该指标可以帮助估计下个Sprint的潜在Sprint容量(开发团队可以花多少时间做Sprint列表中的任务).这对指定基于承诺的Sprint计划会有帮助.

在任意一个sprint中,总有一些组织外部事务难以回避.这个指标用来量化这些事务,而且可以间接用来识别哪些是不可能避免的突发事件,哪些是可以避免的障碍.

# 补救关注点

补救关注点是一个质量指标,帮助团队衡量比较花在新需求上的工作量并有多少工作量花在补救代码错误上.

补救关注点是用以下方法生成的:

  1. 每个sprint,标出总速率(所有PBI点数,包括新功能和修复代码错误)
  2. 每个sprint,标出修复代码错误工作的点数
  3. 基于第二个数据点,画一条趋势线

这个指标通过测量每个sprint修复错误上所花工作量相比开发新的功能需求工作量所占比例来监视产品质量的波动.通过量化分析总速率的构成比例,可以进一步理解和认识大局,比如,总速率上升表面上看似是一个正面的提高,但是如果用于修复错误的工作量也上升,就表示质量水准在下滑,应该重新审视DoD.

# 站会

如果问我对scrum的第一印象是什么的话,我可能会毫不犹豫的说:"站会和贴着五颜六色的便利贴的任务板".

每日站会尽量要求站着举行,站立这个动作给团队一种活力感,而且它可以保证会议的简短高效.站会尽量要鼓励大家找到一个所有人的时间,这个时间越早越好.

站会的时间一旦确定,就可以强调一些规则,例如:

  • 每一次开会一开始,先标记迟到的人
  • 任何人迟到,如果没有预先请假,就要有些有趣的惩罚
  • 每日站会尽量围绕着任务板形成紧密的圆圈,而不是散作一团

会议内容: 每个开发人员在站会上需要回答以下三个典型的问题:

  • 我昨天有哪些进展?
  • 我希望今天获取什么进展?
  • 是否有任何障碍阻碍我的进展吗? 每个人在讨论进展时,都要基于任务板上的任务,这样做可以确保任务板实战反应最新情况.站会很容易被具体的细节讨论所绑架,如果发现讨论跑题了需要委婉的将话题引入正轨.

# 站会的目的

GIFFTS是一个敏捷咨询师对于站会的解释:

好的开始(Good Start): 站会会为团队带来活力,活力通过逐步灌输目的意识和紧迫感来获得 改善(Improvement): 我们不可能解决我们不知道的问题,所以站会的大部分时间是用来暴露可以帮助我们改善的问题,然后我们才能改善,不过改善不光是解决问题,我们也可以分享更好的技术和想法 专注(Focus): 站会应该鼓励专注于板上移动的任务来完成我们的目标,而不是鼓励毫无意义的活动 团队(Team): 高效团队建立在不断沟通,工作和互相帮助之上,这也离不开相关帮助共同克服困难的团队成员 状态(Status): 了解工作进展情况及团队是否知道什么有趣的事情?

# 任务板

对于坐在scrum团队外围的人,显眼的团队任务板可能是scrum项目最好识别的元素.摆在团队的中心有各种颜色便利贴装饰的任务板几乎成为了scrum的标识.从个人来说,我第一次见到任务板的时候觉得这种方式过于原始,为什么不用数字化的方式来管理这些任务呢?当我站起来把便利贴移到完成一栏时,满足感会油然而生.

# 创建列

纵列可以设计成多种形式,我们常用的形式有 未开始/开发中/可验证/已完成

# 创建行

每个便利贴代表一个具体的任务,尽量让每个任务都垂直,独立可测试,否则可验证对任务来说就没有意义了.

# 便利贴的内容

便利贴上包括任务编号,任务负责人的缩写,任务描述以及剩余时间,任何计划外的工作都应该记录在任务板上,建议使用不同的颜色来区分.这样可以看出sprint计划会在流程方面有哪些改进.

# sprint目标

sprint目标是团队想要达到的目标,所以想要把它醒目的显示出来,提醒团队不能懈怠.

# 回顾会议的目标

上一个sprint回顾会议后,团队应该确定下一个sprint应该优先考虑的流程改进活动.当团队全身心关注实际的功能性工作时,很容易把这些活动抛之脑后,建议把回顾会议的这些目标打印出来并贴在项目墙上.

# 定义和原则

如果项目第一次使用scrum,而且刚刚开始,团队就需要吸收很多新的信息.老的流程和定义已经根深蒂固,改变并不是一朝一夕的事情.为了和旧习惯斗争,把新的参考元素(比如障碍)和代码错误/问题的定义打印 出来会很有帮助.

# 模型草图

在新的sprint开始之前,产品负责人需要开发一些用户接口的大致模型或草图,不管这些图有多粗糙,把它们贴在任务板旁边都是有帮助的,因为可以提醒大家关注全局.

# 客户评价

如果团队不是第一次做产品,总会有一些客户赞赏我们的产品.客户有时会反馈他们喜欢或不喜欢产品的哪些方面.也许我们听到的是"我喜欢xxx产品的简洁"或"产品yyy的性能反应比我们更加灵敏",为了延续项目成功,记下用户信号可以提醒我们不能偏离核心特质,可以起到一定的监督作用.