ONES小课堂:让我们聊一聊Scrum

ONES研发管理工具已获得多项行业大奖及业内认可,并荣幸成为中国通信标准化协会云计算标准和开源推进委员会会员单位,以及中国《研发运营一体化(DevOps)能力成熟度模型》编写单位。为了能够让大家快速上手,了解掌握ONES研发管理工具,我们开通了ONES研发管理小课堂,向大家介绍ONES这款强大的管理神器。

上期我们为大家简单介绍了敏捷开发概念和基本流程(上期回顾ONES 课堂:敏捷开发和迭代》),本期我们将为大家深入介绍敏捷开发中应用最多的方法——Scrum,以及实践Scrum能给我们带来什么?

敏捷开发的概念和主流方法  

复习一下上期的内容,我们说“敏捷开发”(Agile Development) 的概念:是一种应对快速变化的需求的软件开发模式,核心就是小步快跑,快速迭代。

敏捷开发包括一系列的方法,其中包括Scrum、Kanban、Lean、XP等等。在Scrum Alliance发表的《2018  Scrum行业调查报告》中可以详细了解到,94%的受访者在敏捷实践中采用Scrum。 其中,78%的受访者称,在实践Scrum开发方式的过程中会结合其他方法一起使用,16%的受访者称开发过程中单纯使用Scrum。可见现在越来越多的团队使用Scrum,那么Scrum到底是什么?

《2018 Scrum行业调查报告》

*注:Scrum Alliance是一个为Scrum和敏捷实践者提供教育、资源和支持的非盈利组织,由全球超过50万认证者组成。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:Product Owner的缩写,指产品负责人。PO 在敏捷Scrum开发的过程中起着至关重要的作用。PO 代表客户的意愿,从业务角度上保证Scrum团队做正确的事;同时代表项目的全体利益干系人,负责Product Backlog,排出优先级,编写条目化的需求(也叫“Story”,指用户故事),从而使项目价值最大化的人。

  • Scrum Master:是指Scrum教练。Scrum教练的主要工作是去除那些影响团队交付冲刺目标的障碍,并负责屏蔽外界对开发团队的干扰。Scrum教练是规则的执行者,确保Scrum过程按照Scrum流程来执行。

  • Scrum Team:是指Scrum团队。Scrum团队负责交付产品的团队。

其他名词解析

  • Sprint:原义是短距离赛跑的意思,这里指的是一次迭代。一次迭代的周期一般是1-4周,也就是我们要把一次迭代的开发内容以最快的速度完成它,这个过程我们称它为Sprint。

  • Kanban:是指敏捷看板。“看板”一词出自日语“看板”(读音かんばん,kanban),源于日本丰田生产的精益生产实践,敏捷开发将其背后的可视化管理理念借鉴过来。看板可以把研发的过程进行管理,记录下用户故事研发过程中的细节和历程。

Scrum 在 ONES 中怎么实现的?

那么 Scrum框架中的3个产出物、4个仪式、3种角色如何在ONES中体现?Scrum流程又是如何在ONES上落地的呢?

1. 角色设定

在项目中配置PO、Scrum Master、Scrum Team三种角色并加入相应成员。

角色设定

2. Product backlog: 收集和整理

在ONES Project中,可以使用需求这一任务类型及其组件来管理Product Backlog。PO在需求池中录入需求单,需求单可添加各类属性字段描述序需求、上传附件、设置优先级和工时等。

需求池

3. 开会也可以很轻松

(1)Sprint Planning Meeting:迭代计划会议 

ONES团队的内部迭代计划会议现场

在每个迭代计划会议上,PO将按照需求优先级一一讲解,和研发团队一起评估工作量,并选取一部分Product Backlog加入迭代。

批量规划迭代

(2)Daily Scrum Meeting:每日站立会议 

在每日站立会议中会对迭代进行跟踪,比如每个人只需要回答3个问题

① 昨天按计划完成了什么?

② 有什么难题需要别人帮助解决的?

③ 今天计划做什么?

或项目组可以根据自己的特点追加问题,比如也有的项目组会要求每个人回答问题:

①  今天完成的工作是否测试通过了?

②  今天是否有需求或设计变更?

这个时候可以通过仪表盘、看板视图、燃尽图清晰地了解每个成员的工作状况和迭代所处阶段。通过看板视图,以卡片的形式浏览和跟踪项目进度。也可以通过燃尽图更直观地了解当前迭代进度的健康程度。

看板视图

仪表盘

(3)Sprint Retrospective Meeting:总结会议(也可以叫“回顾会议”)

在每个Sprint结束后,Scrum团队会聚在一起开Sprint回顾会议,目的是回顾一下团队在流程、人际关系以及在工具方面上使用得如何。

会议围绕三个基本问题:

①  哪些事情做的好?

②  哪些事情做的不好?

③  哪些事情可以换一种方式做?

并找出潜在的改进事项,为将来的改进制定计划。

在回顾会议的过程中,需要把整个开发阶段的流程拎出来进行分析。ONES支持在迭代阶段中查看燃尽图,或通过查看缺陷分布报表等发现问题。

比如通过观察燃尽图了解迭代进度的是否健康。燃尽图是在迭代完成之前,对剩余工作量的一种可视化表示。由横轴(X)和纵轴(Y)组成,横轴表示时间,纵轴表示剩余工作量。蓝色实线表示截止到当天还剩余的未完成的任务数量;蓝色虚线是基线,表示期望的工作进度。

当剩余工作量高于基线时,则表示进度偏紧急,可能无法准时完成目标。当剩余工作量低于基线时,则表示进度较为乐观,甚至可能于周期内提前完成工作量。

燃尽图

ONES还可以根据研发场景需要,生成相应的质量报告,例如缺陷分布统计、缺陷状态滞留时间统计。测试工程师可以使用报表对迭代范围内、或者项目范围内的缺陷进行统计,评估研发质量,跟踪缺陷修复情况。

缺陷分析报表

同时,迭代总结会中的经验教训和知识沉淀可通过ONES Wiki来记录。

为什么要用 Scrum?

敏捷大师和Scrum发明人 Jeff Sutherland:Scrum是一门让研发管理事半功倍的艺术。

①  Scrum能够快速响应变化,适应现在互联网开发里的”小步快跑“,以轻量级的Story(用户故事)作为需求进行迭代式开发,保证最重要的事情优先做,更高效产出交付物。

②  可以持续向用户交付有价值的软件产品,以及短的软件交付周期:这是现在的互联网开发的基本要求,就是不停的通过每次迭代和升级,进行产品的优化和提升。

③  Scrum过程要求大家做更多例行的沟通,包括每日演示、设计讨论、提出问题和找到帮助者、定期总结,团队所有成员都可以完全了解当前的项目进展和问题,从而促进大家的沟通、快速的解决问题。

④ Scrum开发可以让产品快速试错,试错成本低;以较低的成本,和高效的模式进行产品的迭代,回报率也高。

了解了这么多,大家是不是跃跃欲试,想赶紧和团队一起用Scrum更好更快地发布产品?那就快来访问 http://ones.ai 或直接后台联系我们吧!ONES软件研发项目管理结合敏捷开发和DevOps最佳实践,适合各个行业和各种规模的研发团队开展项目管理,帮助团队把控产品节奏,跟踪研发进度和质量,高效高质量地交付产品。

部分文字参考资料:

·《案例分析:荷兰铁路公司的分布式 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/

Scrum ,其实就意味着这种流程就像大家在一起打橄榄球,敏捷的动作、澎湃的激情、力争上游的拼搏精神,无一不是现在软件开发中迫切需要的元素。

——杰夫·萨瑟兰 《敏捷革命》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值