敏捷开发流程之Scrum:3个角色、5个会议、12原则

本文主要从Scrum的定义和目的、敏捷宣言、Scrum中的人员角色、Scrum开发流程、敏捷的12原则等几方面帮助大家理解Scrum敏捷开发的全过程。

一、Scrum的定义和目的

Scrum是一个用于开发和维护复杂产品的框架,是一个增量的、迭代的开发过程,目的是让开发人员像打橄榄球一样迅猛并充满激情,通过团队合作,提高工作效率。通过团队间的有效交互,为企业创造价值。

二、敏捷宣言

其实,在发表《敏捷宣言》之前,很多的敏捷实践都已经存在且使用了,比如:Scrum、XP、KanBan等。之所以发表《敏捷宣言》,是因为这些实践都是在单打独斗地推进敏捷开发,而不是以一个联合体的形式,且没有一个统一的指导方针。所以17位敏捷联合创始人决定发表《敏捷宣言》,共同在全世界推进敏捷开发运动。下面是敏捷宣言的4句话:

三、Scrum中的人员角色

3个角色

Scrum中的人员分为3个角色:产品所有者(Product Owner), Scrum Master,开发团队(Team)。

  • 产品所有者:定义所有产品功能,决定产品发布的内容以及日期,对产品的投入产出负责,根据市场变化对需要开发的功能排列优先顺序,合理地调整产品功能和迭代顺序,认同或者拒绝迭代的交付。
  • ScrumMaster :ScrumMaster不是项目经理,他没有分配任务的权力,没有考核的权力,没有下命令的权力,他指导项目组的成员按照Scrum的原则、方法做事情,领导团队完成Scrum的实践以及体现其价值,排除团队遇到的困难,确保团队胜任其工作,并保持高效的生产率,使得团队紧密合作,使得团队个人具有多方面职能的工作能力,保护团队不受到外来无端影响。
  • 开发团队:经典团队拥有 5-9 人,团队成员包含程序员、测试员、用户体验设计等等,团队关系在一个迭代中应该是固定的,个人的职能可以在新迭代开始时发生调整,团队自我组织和管理(自组织,自驱动),团队成员都全职工作。

四、Scrum的开发流程

(图片源自网络)

不同于瀑布模型将开发过程划分为需求、设计、编码、测试等阶段,Scrum将整个开发过程分为多次迭代(称为Sprint,冲刺),一般为期2~4周,最常见的为2周。Scrum并非以一段时间集中完成一个过程,而是将所有过程中必须的每一部分集中在这段时间内完成。需求、设计、编码、测试、上线都必须在一个迭代中完成,每个迭代必须产生一个可以工作的软件。

4.1 五个会议

Scrum 整个开发过程分为五个会议:

1)待办事项整理会议(Backlog Grooming Meeting)

迭代计划会议开始之前3天召开,Product Owner与Scrum Master必须参加,关键开发者或架构师需要参加;时间控制在30分钟到1小时。

由Product Owner将一批希望团队在下次迭代时实现的用户故事,按照实现顺序描述给在场的团队成员,Scrum Master与在场成员分析用户故事,明确指出团队认为需求不明确的地方,Product Owner现场记录,会后补全,Scrum Master与架构师,还有在场成员分析用户故事需要包含哪些技术任务,Scrum Master先把子任务建立,方便迭代计划会议的时候团队可以更准确地预估任务故事点。

会议结束时,Product Owner确保在迭代计划会议开始之前团队提出的问题都能被解决,会议重点如果团队发现需要加强或是完善的地方,Product Owner还有两到三天的时间可以补强,而不是浪费迭代计划会议的时间去做这件事情。

2)迭代计划会议(Sprint Planning Meeting)

产品负责人建立产品功能列表(Product Backlog)。产品功能列表是一组条目化需求,它必须从客户价值角度描述,并按优先级排序。

Scrum Master召集相关人员召开迭代计划会,迭代计划会在每个迭代第一天召开,目的是选择本次迭代的Backlog和估算本次迭代的工作量。

产品负责人逐条讲解最重要的产品功能,开发团队共同估算Backlog所需工作量,直到本迭代工作量达到饱和。产品负责人参与讨论并回答和需求相关的问题,但不干扰估算结果。队员认领任务(或由组长协商分发),独立或与别人一起完成任务;会议时间控制在1-2小时内。

3)每日站会(Standup Meeting)

团队内部利用每日立会来沟通进度,15分钟结束,开发团队利用燃尽图来展示整体进度;如无特殊原因,迭代期内无变更,在每日站会上团队成员需要回答以下3个问题:

  • 昨天你做了什么?
  • 今天你将要做什么?
  • 你有需要帮助的地方吗?

这些都是团队成员的彼此承诺。

4)评审会(Retrospective Meeting)

小组向产品负责人展示迭代工作结果,产品负责人给出评价和反馈。以用户故事是否能成功交付来评价任务完成情况。整个团队都需要参加,ScrumMaster、产品所有者、团队,可能还有客户,时间控制在1-2小时内。

5)反思会(Retrospective Meeting)

在每个迭代后召开简短的反思会,总结哪些事情做得好,哪些事情做得不好。做得好的保留,不好的摒弃。会议得出这样的结论:开始做什么、继续做什么、停止做什么,一般控制在15-30分钟。

Scrum是一套开发流程,是敏捷的一种,实施主要还是看人,强调是自组织、自驱动的,只有不断的在实际应用中仔细体会,才能理解Scrum的真谛,把Scrum用好。

4.2 12原则

下面给出敏捷开发的12原则,这12原则作为敏捷开发对于软件开发流程的指导性纲领,也是对敏捷宣言进行了具有实际操作意义的解释,希望大家在实际应用中仔细体会。

我们遵循以下准则:

  • 我们的最高目标是,通过尽早和持续地交付有价值的软件来满足客户。
  • 欢迎对需求提出变更——即使是在项目开发后期。要善于利用需求变更,帮助客户获得竞争优势。
  • 要不断交付可用的软件,周期从几周到几个月不等,且越短越好。
  • 项目过程中,业务人员与开发人员必须在一起工作。
  • 要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务。
  • 无论是团队内还是团队间,最有效的沟通方法是面对面的交谈。
  • 可用的软件是衡量进度的主要指标。
  • 敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度。
  • 对技术的精益求精以及对设计的不断完善将提升敏捷性。
  • 要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术。
  • 最佳的架构、需求和设计出自于自组织的团队。
  • 团队要定期反省如何能够做到更有效,并相应地调整团队的行为。
作者:史文帅

来源:宜信技术学院

Image placeholder
guozhi
未设置
  67人点赞

没有讨论,发表一下自己的看法吧

推荐文章
从0到1,马蜂窝大交通团队如何构建高效研发流程体系?

“旅游之前,先上马蜂窝”已经成为许多人习惯性的选择。2019年5月,马蜂窝完成了新一轮融资,金额达2.5亿美元。这也标志着通过集内容、社区、交易为一体的消费决策场景构建,从攻略社区起家的马蜂窝开始迈入

智联、前程无忧、58们的革命和被革命

近日,前程无忧发布三季度薪酬调研报告。从报告内容来看,2019年三季度的招聘市场用“冰火两重天”来形容,再合适不过。一方面,对于大部分求职者来说,企业“金九银十”的招聘旺季一点也不旺。受宏观经济环境的

0107 spring操作数据库的3个架子

背景数据库开发是java的核心内容之一,基础就是jdbc了;然而直接使用jdbc,需要写大量的try-catch-finally模板代码;管理系统使用hibernate作为orm框架比较方便,遵循jp

TPC-C解析系列03_TPC-C基准测试之SQL优化

TPC-C是一个非常严苛的基准测试模型,考验的是一个完备的关系数据库系统全链路的能力。这也是为什么在TPC-C的榜单前列,出现的永远只是大家熟知的那几家在业界有着几十年积累、从关系数据库理论开始发展就

史上最快AI计算机发布!谷歌TPU V3的1/5功耗、1/30体积,首台实体机已交付

大数据文摘作品还记得8月份占据各家科技头条的有史以来最大芯片吗?这个名为CerebrasWaferScaleEngine(WSE)的“巨无霸”面积达到42225平方毫米,拥有1.2万亿个晶体管,400

2000多个Bug!这个系统让银行瘫痪、13亿人账户出错、最终损失超过28亿

2000多个bug,这样一个千疮百孔的系统,被用在了一家有13亿用户的银行里。这是去年TSB银行系统迁移大事故的报告结果,出自SlaughterandMay律所。Bug连篇、测试没做好、IT服务商无能

数据库中间件分片算法之stringhash

前言又是一个夜黑风高的晚上,带上无线耳机听一曲。突然很感慨一句话:生活就像心电图,一帆风顺就证明你挂了。就如同我们干运维的,觉得很简单的事情,有时候能干出无限可能。还是言归正传吧,这一次我们来说说st

41岁阿里工程师:35岁转管理,真的是必经之路吗?

程序员节,也恰恰是我在阿里工作满3年的时候,借此机会盘点一下自己近3年来的工作,也为自己后续发展把把关。个人的眼界和思考总是有限的,特别是对于研究和技术领域来说,知道得越多,其实就会知道自己有多无知,

周鸿祎:360回归企业安全 携手安全生态打好网络攻坚战

8月19日,主题为“应对网络战、共建大生态、同筑大安全”的第七届互联网安全大会在北京雁栖湖国际会展中心隆重开幕,来自国内外的百余位专家共同讨论全球网络安全的最新形势,从战略、产业和技术等多个层面,探讨

如何选择视频会议设备?

视频会议是企业的必备品。它可以降低差旅成本、鼓励协作、让员工移动办公,并使企业更容易被客户和合作伙伴认可。企业的产品和服务可以通过网络访问;通过视频会议为您的团队提供支持,使他们能够与企业品牌一起航行

视频会议新选择,讯众及时会了解下

当下的视频会议市场,各大厂商分庭抗礼,小厂商们伺机突破,入局者越来越多,同质化竞争明显,多数厂商受困于竞争激烈的“红海”,亟需寻求破局之道。这其中,有一家新公司表现较为亮眼,不论是在产品创新还是在标杆

96秒100亿!如何抗住双11高并发流量?

今年双11全民购物狂欢节进入第十一个年头,1分36秒,交易额冲到100 亿 !比2018年快了近30 秒,比2017年快了近1分半!这个速度再次刷新天猫双11成交总额破100亿的纪录。那么如何抗住双1

以梦为马,永洪科技的敏捷BI路

今年6月份Salesforce宣布对Tableau收购,掀起了对BI的一波讨论。BI巨头都难逃收购的命运,这为BI市场增加了很多不确定性。“BI”百度搜索指数(左)和“BI”百度资讯指数(右)打铁还需

敏捷方法适合什么样的团队?

敏捷开发适用于研发团队吗?距敏捷开发宣言的发布已经过去了将近二十年,现在很多团队都在思考“敏捷”的工作方式。营销团队想要尝试Sprint的方式来加速盈利,运营团队正在采用Scrum敏捷项目管理,而人力

干了5年程序员,该如何转行?5个新工作方向了解一下

大数据文摘出品来源:Medium编译:灿灿、曹培信写了5年代码,年龄已近30,头发尚存几缕,除了写代码其他并无所长,职业未来在何方?对于从毕业就进入互联网公司,已经工作了5年甚至更久的程序员来说,现在

做机器学习项目数据不够?这里有5个不错的解决办法

许多开展人工智能项目的公司都具有出色的业务理念,但是当企业AI团队发现自己没有足够多的数据时,就会慢慢变得十分沮丧……不过,这个问题的解决方案还是有的。本文将简要介绍其中一些经笔者实践证明确实有效的办

智能数据可视化的5个步骤

如今,许多企业正在利用模型、数据分析、数据可视化和仪表板等措施实现数据驱动。例如商业领袖注重提升客户体验,技术领导者注重分析速度和网站指标,应用程序团队在其应用程序中嵌入分析程序等等。这意味着更多的开

数据偏移、分区陷阱……我们这样避开DynamoDB的5个坑

摘要:本文主要介绍作者所在团队在具体业务中所遇到的挑战,基于这些挑战为何最终选型使用AmazonDynamoDB,在实践中遇到了哪些问题以及又是如何解决的。文中不会详细讨论AmazonDynamoDB

关于企业数字化转型和AI应用的5个建议

波士顿咨询公司(BostonConsultingGroup)表示,企业对数字化转型和人工智能抱有很高的期望,但也面临着一些挑战。许多企业正在迎来第一波数字化转型浪潮,在扩大覆盖面和定制化、改进流程、提

企业应如何进行云迁移?小心这5个陷阱!

  国际数据公司(InternationalDataCorp)表示,到2022年,全球数字化转型支出将达到近2万亿美元。然而,各种各样的迁移事故仍然会对企业数字化转型过程造成阻碍,威胁着企业的生存与发

Docker最佳实践:5个方法精简镜像

本文记录了精简Docker镜像尺寸的必要性及好处精简Docker镜像的好处很多,不仅可以节省存储空间和带宽,还能减少安全隐患。优化镜像大小的手段多种多样,因服务所使用的基础开发语言不同而有差异。本文将

对2020年Linux和开源的5个大胆预测

在这篇文章中,omgubuntu网站列出了对2020年Linux的5个预测,大家也来预测下会不会实现。2020年Linux预测预测1:Linux设备的爆炸式增长好的,因此建议我们明年看到大量新的Lin

可视化的JavaScript:JavaScript引擎运行原理

JavaScript很酷,但是JavaScript引擎是如何才能理解我们编写的代码呢?作为JavaScript开发人员,我们通常不需要自己处理编译器。然而,了解JavaScript引擎的基础知识并了解

JavaScript的运算符和流程控制笔记

"usestrict""usestrict""usestrict"严格模式