之前的系列,我们介绍了 Scrum 敏捷中的三大主要角色。而具体实施 Scrum,还牵涉一些具体的工作对象或产出物,这些材料在 Scrum 中叫做 工件 (Artifacts)。
工件
在 Scrum 中,常说的工件其实主要指三大核心工件:产品待办清单PBI、Sprint迭代待办清单SBI、产品增量Increment。但除了这三种核心工件外,其实还定义有和这三大工件相关的其他的几种工件。
在敏捷中,工件作为我们的工作对象,产出物。应该是整个Scrum团队集体共同工作和维护的,并且应该对所有人透明,也就是这些工件,对团队中的所有人都是可视化的。这也是敏捷的原则,强化团队对事物的一致理解和沟通,大家应该工作在同一个频道上,透明、可视、随时可查阅极为关键。
产品待办清单 Product Backlog(PBI)
第一个核心工件是Product Backlog Items (PBI), PBI 是一个有序列表,包含有产品的所有待完成的未尽事项,包括产品需求、未修复的bug、技术优化、内部改进、工作任务等等各种需要团队后续处理的、和产品相关的事务。
PBI应该具备以下几个重要特征,或者说DEEP原则:
- Detailed:细节描述。对待办的事项有清晰,无歧义的说明,团队成员可以充分了解待办事项的必要信息。这也是Scrum中需求精炼的的必要性,越是优先级高的,细节描述应该越充分。
- Emergent:涌现式的。PBI是一个动态列表,可以根据需要随时进行插入和调整。
- Estimated:有估算。待办条目在需要落实之前,应该要完成工作量以及对产品价值的估算,估算是否准确,是团队实际生产力的基础。
- Prirotized:有优先级的。PBI中的待办事项,应该是有优先次序的,在PBI中,不存在两个优先级完全相同的条目。这也是列表的优点,列表先天就是有排列顺序的,PBI列表中,排在前面的项优先级更高。团队在从PBI中提取迭代任务的时候,也会按照优先级来依次提取。
和其他工件一样,PBI虽然也是需要团队共同维护的一个产出物,但 PBI 的owner,是PO(产品负责人),其他成员虽然也会参与到PBI的细节补充、方案完善,包括PBI的工作量估算也是需要团队给出,但最终对 PBI 负责的只有PO,PO对PBI有最终解释和优先级的决定权。
PBI的生成和维护过程中,通常是PO会尽可能把相关的Feature、Story、Enhancement(优化)纳入PBI中,作为后续工作的基础。再经过和团队的充分沟通,一般会通过产品的需求精炼会议(grooming),对需求进行细化和实现方案的讨论,团队还会分解出具体的技术任务并对需要的工作量进行估算。
所以 PBI 它其实就是Scrum敏捷研发的源头,相当于是传统研发中,需求分解阶段的主要产出PRD的作用。PBI是启动 Sprint 的基础,也是 SBI 的来源。
产品愿景 Product Vision
和PBI 配套的,其实还有一个辅助工件,或者Scrum定义中也叫做 PBI 的commitment(承诺产出物)。就是产品愿景Product Vision。
Product Vision是一个在产品早期就应该完成定义的东西,主要是总体上概括产品要实现什么目标,大家共同做的这个东西到底是为了达到什么目的,对用户有什么价值。也就是让整个团队直到自己在为什么工作。
是一个比较长远的对整个产品蓝图的描述。
Sprint待办清单 Sprint Backlog (SBI)
Sprint 是冲刺的意思。Scrum中定义的一个短周期的时间窗,在这个较短的周期内团队可以完成一些可交付的产品功能。并基于已完成的功能获取相关干系人的反馈,以便及时地调整整个产品的演进路线。是敏捷“小步快跑”思想的具体体现。
而SBI,就是在Sprint这个周期中,团队需要完成的所有待办事项的清单。因此 SBI 其实是从 PBI中提取出来的,分布到不同 Sprint 中的团队需要完成的工作。
通常在Sprint 正式启动前的Sprint Planning会议上,依据PBI的优先级和团队的生产力(Capacity),由团队共同完成 SBI 的提取。
SBI在计划会确定以后,一般是尽可能维持不变的。但现实总有各种意外情况发生,而且敏捷提倡拥抱变化,所以并不意味 SBI 确定以后会在 Sprint 中一定是恒定的。PO 根据优先级的调整,在和团队达成一致后,SBI 也是可以进行增删改的,但前提是要团队达成共识。
通常SBI 调整意味着工作量的浪费,因此在 Sprint 周期内,应该尽可能维持稳定。
如图,是常用敏捷管理软件 Jira 中,已经纳入到 Sprint 中的 SBI。Sprint 开始以后,则会通过 Scrum 的迭代看板来实时反映 Sprint 的进展情况。
Sprint Goal
类似的,和 SBI 配套的也有一个辅助工件或commitment,就是 Sprint 目标。这个工件通常由PO定义,整体上概述整个Sprint应该达成的核心目标。在和团队确认并达成一致后,Sprint Goal 其实也代表了团队整体在这个周期中承诺的产出。
对于未参与迭代的各种干系人,通过 Sprint Goal 也可以了解当前产品进展的总体情况。
增量 Increment
Increment,增量的意思。在敏捷中,因为提倡小步快跑,每个迭代的工作成果其实都是面向产品愿景,是在原有基础上的增强,不仅是一个累积的过程,也是不断向用户交付价值的过程。
基于敏捷原则,Increment 应该是可工作的软件,可以呈现出产品的价值。也就是 Increment和之前 Sprint产出的叠加, 应该总是一个面向未来的、最小的可用软件 MVP(Minimum Viable Product)
Sprint 是否达到了 Sprint Goal,通常是在Sprint评审会上通过演示Increment的功能效果,来向相关干系人进行展示,并获取反馈。
DOD(完成定义 Definition of Done)
和 Increment 相关的commitment, 其实就是SBI中每个待办项的完成情况。那这里怎么定义这个完成,在 Scrum 中,对应的就是 DOD。DOD 是关于主要待办项类型的一些共性定义。
其实除了 DOD 外,还有 DOR,DOR 是定义一个待办项在什么情况下可以定义为就绪。只有就绪的待办项才应该纳入SBI
其他工件
除了 Scrum 中定义的这三种核心工件以及辅助的 commitment 工件,还定义了反映迭代进展状态的工件
燃尽图 Burndown Chart
燃尽图是一种能够及时反映出 Sprint 进展状况的可视化图形。
X轴:迭代的进行时间 Y轴:迭代的工作量,通常通过SBI中估算的故事点(Story Point)反映完成这个这个迭代的预估总工作量。
基于工作量和时间的关系,先绘制一条线性的故事点的理想燃尽线,再根据迭代进行中,实际每天完成的工作量,绘制一条实际燃尽线。 这两条线的匹配度,其实能反映迭代当前进度是否正常。是Scrum Master和团队每日站会时应该随时关注的一个迭代关键状态图。
因此通常会将燃尽图也作为 Scrum中的一个重要工件来看待。
除了燃尽图外,其实还有很多其他的图形可以用来分析迭代当前进展,比如常用的还有:
累积流图 (Cumulative flow diagram)
通过累积流图,可以看出 Sprint 中,总体需求在不同状态间变化的趋势,往往在识别团队瓶颈、平衡成员间工作量时发挥重要作用。
速度表(Velocity)
另一个常用的图还有 Velocity,这个图更多是通过对多个Sprint 完成工作量的跟踪,来观察团队的生产力是否稳定,进而对团队成熟度有个基本的判断。
越是稳定的敏捷团队,每个迭代的产出应该是比较恒定的。而如果差别波动较大,则代表团队在任务平衡、估算、应对干扰等方面还存在较多问题。是一个观察指标
以上就是关于Scrum敏捷中,团队工作对象和产出,工件的介绍。 欢迎大家继续关注这个系列,持续更新中….