如何实施 SCRUM ?
长文先上目录:
引文-从敏捷聊起
Scrum 是什么?
Scrum 开发流程和「343」原则
为什么要用 Scrum?
如何利用工具帮助 Scrum 落地?
要了解 Scrum 以及如何实施,首先要从敏捷开发入手。「敏捷」是指一种应对快速变化的需求的软件开发模式,核心是快速迭代,包括 Scrum、Kanban、Lean、XP 等等一系列的方法。在 Scrum Alliance 发表的《2018 Scrum 行业调查报告》中可以详细了解到,94%的受访者在敏捷实践中采用 Scrum,可见 Scrum 是实践敏捷的主流方式。那么 Scrum 到底是什么?
Scrum 是什么?
Scrum 是基于敏捷开发思想的开发框架,用于迭代式增量软件开发过程。 它适用于需求变化频繁、内外部环境变化快、需要快速交付和验证的场景。
实际上,Scrum 这个英文字母来源于橄榄球运动的一个专业术语,表示“争球”的动作。在橄榄球比赛的每次冲刺前,都将有一个计划安排的过程,但冲刺开始后则由队员在原计划的基础上随机应变。可以想象,当开发团队在用 Scrum 这种开发方法开发项目时,大家像打橄榄球一样迅速、富有战斗激情、且灵活而高效地完成工作,因此受到非常多开发部门的推崇。
那么,灵活高效的 Scrum 是怎样的流程呢?
Scrum 开发流程和「343」原则
Scrum 流程可以分为以下阶段:
① 由 PO(产品负责人)负责,确定一个 Product Backlog(产品需求池);
② Scrum Team(敏捷团队)根据 Product Backlog,做工作量的预估和安排;
③ 有了 Product Backlog,我们需要通过 Sprint Planning Meeting(迭代计划会议)来从中挑选一些 Product Backlog 加入 Sprint(迭代),形成 Sprint Backlog(迭代需求池)。这个目标的时间周期是 1~4 个星期;
④ Sprint Backlog 是由 Scrum Team 去完成的,每个成员根据 Sprint Backlog 再细化成更小的任务(细到每个任务的工作量在 2 天内能完成);
⑤ 在 Scrum Team 完成计划会议上选出的 Sprint Backlog 过程中,需要进行 Daily Scrum Meeting(每日站立会议),每次会议控制在 15 分钟内。Daily Scrum Meeting 根据看板的内容,每个人进行发言,并且向所有成员当面汇报昨天完成了什么、今天要完成什么,如果遇到不能解决的问题也可以提出。每个人回答完成后,都要更新 Burn Down Chart(燃尽图);
⑥ 当 Sprint Backlog 已完成,也就表示一次 Sprint 完成。这时,我们要进行 Srpint Review Meeting(迭代评审会议),PO 和客户都要参加。每一个 Scrum Team 的成员都要向他们演示自己完成的软件产品(这个会议非常重要,一定不能取消);
⑦ 最后就是 Sprint Retrospective Meeting(迭代回顾会议),该会议以轮流发言方式进行,每个人都要发言,总结并讨论改进的地方,放入下一轮 Sprint 的产品需求中。
在 Scrum 开发流程当中,应当严格遵循“343”原则,即 Scrum 框架中的 3 个产出物、4 个仪式、3 种角色。
3 个产出物
Product Backlog(产品需求池):是产品待办事项的集合。其中,事务有优先级判断,先处理优先级高的事项。
Sprint Backlog(迭代需求池):在迭代计划会议期间,团队选择一些产品待办事项,并且确认完成每个用户故事所需完成的任务。
Burn Down Chart(燃尽图):燃尽图是在项目完成之前,对需要完成的工作的一种可视化表示。燃尽图有一个 Y 轴(工作)和 X 轴(时间)。理想情况下,该图表是一个向下的曲线,随着剩余工作的完成,“烧尽”至零。
4 个仪式
Sprint Planning Meeting(迭代计划会议):迭代计划会议在每个迭代周期开始之前召开,目的是为了制定当前迭代周期的开发目标以及需要完成的工作。
Daily Scrum Meeting(每日站立会议):日常站立会议是每天早上举行的短期会议,用时一般严格控制在十五分钟内,会议的目的是更新团队的状态。站立会欢迎所有人参加,但只有团队成员(开发、测试、产品经理等核心角色)可以发言。
Srpint Review Meeting(迭代评审会议):Sprint 评审会议在 Sprint 结束时举行,用以检视所交付的产品增量并按需调整产品待办事项列表。评审会议的会议时长限时为 4 小时。
Sprint Retrospective Meeting(迭代回顾会议):在每个 Sprint 结束后,Scrum 团队会聚在一起开 Sprint 回顾会议,目的是回顾一下团队在流程、人际关系以及工具使用方面哪些做得好,哪些做得不好,并找出潜在的改进事项,为将来的改进制定计划。
3 种角色
PO(产品负责人):PO 在敏捷 Scrum 开发的过程中起着至关重要的作用。PO 代表客户的意愿,从业务角度上保证 Scrum 团队做正确的事;同时代表项目的全体利益干系人,负责 Product Backlog,排出优先级,编写条目化的需求(也叫“Story”,指用户故事),从而使项目价值最大化的人。
Scrum Master(Scrum 教练):Scrum 教练的主要工作是去除那些影响团队交付冲刺目标的障碍,并负责屏蔽外界对开发团队的干扰。Scrum 教练是规则的执行者,确保 Scrum 过程按照 Scrum 流程来执行。
Scrum Team(团队成员):Scrum 团队负责交付产品的团队。
其他名词解析
Sprint(迭代):原义是短距离赛跑的意思,这里指的是一次迭代。一次迭代的周期一般是 1-4 周,也就是我们要把一次迭代的开发内容以最快的速度完成它,这个过程我们称它为 Sprint。
Kanban(看板):是指敏捷看板。“看板”一词出自日语“看板”(读音かんばん,kanban),源于日本丰田生产的精益生产实践,敏捷开发将其背后的可视化管理理念借鉴过来。看板可以把研发的过程进行管理,记录下用户故事研发过程中的细节和历程。
为什么要用 Scrum?
敏捷大师和 Scrum 发明人 Jeff Sutherland:Scrum 是一门让研发管理事半功倍的艺术。
① Scrum 能够快速响应变化,以轻量级的 Story(用户故事)作为需求进行迭代式开发,保证最重要的事情优先做,更高效产出交付物。
② 可以持续向用户交付有价值的软件产品,以及短的软件交付周期:这是现在的互联网开发的基本要求,就是不停的通过每次迭代和升级,进行产品的优化和提升。
③ Scrum 过程要求大家做更多例行的沟通,包括每日演示、设计讨论、提出问题和找到帮助者、定期总结,团队所有成员都可以完全了解当前的项目进展和问题,从而促进大家的沟通、快速的解决问题。
④ Scrum 开发可以让产品快速试错,试错成本低;以较低的成本,和高效的模式进行产品的迭代,回报率也高。
如何利用工具帮助 Scrum 落地?
Scrum 流程如何落地?ONES 研发管理工具能提供什么帮助?
1. 团队管理
ONES 通过「项目角色」对参与项目的成员进行分组和权限管理。
在敏捷项目中,系统管理员可建立 PO、Scrum Master、Scrum Team 三种角色,应用到实际项目团队中,配置不同角色不同的管理和查看项目、工作项类型等权限。项目成员亦可拥有多个角色,便于跨职能协同与管理。
2. Product backlog
在 ONES 中,可使用「需求」这一任务类型及其组件来管理 Product Backlog。
产品负责人在需求池中录入需求单、设置优先级。可以通过自定义需求状态、补充各类属性字段,编写完整描述,上传相关产品文档、高保真原型等方式,形成完整的故事结构,便于进行评审及后续研发过程的流转。
根据实际场景,自定义需求工作流,实现从提出反馈、转化为用户故事、安排迭代到功能上线的全生命周期历程。
功能复杂的故事,可以利用「子工作项」进行细化和拆解,拆分为颗粒度较小的需求。
需求也可与用户反馈、研发任务、测试结果等工作项相关联,便于其它成员查找引用、追溯来源。
3. 迭代规划与评审
ONES 通过「迭代」组件对开发过程进行管理,项目团队可通过这一组件创建和规划迭代。
产品负责人先将需求按确定的优先级顺序,从 Product Backlog 规划至对应迭代。产品负责人可创建新的迭代,并设置迭代周期和迭代阶段,可自定义多种属性字段,丰富迭代信息。
在 Sprint Planning Meeting 上,产品负责人按优先级一一讲解用户故事、补充故事描述或调整优先级,和团队一起估算故事规模。如果需求评审不通过,可以规划至后续的迭代或移回需求池。
确定好当前迭代要完成哪些需求之后,即可对其分解、登记预估工时,拆分成各类子任务和关联任务,指派给相关团队成员。
4. 跟踪迭代进度
ONES 系统提供燃尽图、敏捷看板、仪表盘、甘特图等工具技术,直观反映各成员工作状况、当前迭代进度的健康程度。
每日站立会议可通过 ONES 敏捷看板轻松实践。敏捷看板可基于实际工作场景,把各项工作项状态放进不同泳道。成员在每日站会上可以直观的查看不同任务的进度,并支持直接在敏捷看板上拖动任务来更新状态。ONES 也支持显示普通任务看板,以任务卡片和状态分布的形式跟踪项目进度。
燃尽图是敏捷项目追踪的有效工具,是迭代完成之前,对剩余工作量的可视化表示。每个成员回答完成后,都要更新燃尽图,预测预计结束时间、判断迭代能否如期完成。
迭代基础统计与燃尽图可被添加至仪表盘中快速浏览。也能通过甘特图快速获取多个迭代的进度、通过工时消耗情况了解整体项目情况。
5. 迭代回顾
每个迭代结束后,Scrum 团队会一起开迭代回顾会议,把整个开发阶段流程拎出来进行分析,回顾一下团队在流程、人际关系以及在工具方面上使用得如何,总结哪些事情做得好、找出潜在的改进事项,为将来改进制定计划。
ONES 系统中可根据研发场景需要,生成相应的质量报告。使用报表统计迭代范围内的缺陷分布,任务滞留时间等。
迭代分析、总结结果可以用 ONES Wiki 进行记录,将相应的经验以文档的方式沉淀下来,精准至附件级别的全局搜索,便于团队快速定位、获取有用的信息。
以上就是 Scrum 实践的完整流程。
想要和团队一起用 Scrum 更好更快地发布产品?欢迎访问https://ones.ai 免费试用!
部分文字参考资料:
《案例分析:荷兰铁路公司的分布式 Scrum 开发》https://infoq.cn/article/dutch-railway-scrum?useSponsorshipSuggestions=true%2F
《浅谈 Scrum》https://blog.csdn.net/dengjin2hotmail/article/details/6648685
《Scrum 敏捷开发:迭代计划会议》https://www.jianshu.com/p/915e17b49b9a
《项目进度跟踪的最佳实践:每日站立会议》https://blog.csdn.net/dylanren/article/details/50051561/
版权声明: 本文为 InfoQ 作者【万事ONES】的原创文章。
原文链接:【http://xie.infoq.cn/article/82f2e7b670c8d0471ff7f7712】。文章转载请联系作者。
评论