写点什么

如何实施 SCRUM ?

用户头像
万事ONES
关注
发布于: 1 小时前

长文先上目录:

  • 引文-从敏捷聊起

  • Scrum 是什么?

  • Scrum 开发流程和「343」原则

  • 为什么要用 Scrum?

  • 如何利用工具帮助 Scrum 落地?


要了解 Scrum 以及如何实施,首先要从敏捷开发入手。「敏捷」是指一种应对快速变化的需求的软件开发模式,核心是快速迭代,包括 Scrum、Kanban、Lean、XP 等等一系列的方法。在 Scrum Alliance 发表的《2018 Scrum 行业调查报告》中可以详细了解到,94%的受访者在敏捷实践中采用 Scrum,可见 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/

发布于: 1 小时前阅读数: 3
用户头像

万事ONES

关注

助力企业更好更快发布产品! 2018.08.06 加入

一站式企业级研发管理解决方案,满足敏捷、瀑布、通用多种研发管理模式,打造高效协作环境,助力企业更好更快发布产品。

评论

发布
暂无评论
如何实施 SCRUM ?