敏捷实践之Scrum框架学习

举报
孙小北 发表于 2022/04/19 21:39:55 2022/04/19
【摘要】 Scrum起源Scrum的英文含义为橄榄球比赛中的两队并列争球,1986年,在竹内弘高和野中郁次郎发表的《The New New Product Development Game》(《新新产品开发游戏》)文章中,将Scrum隐喻用于软件开发,阐述了一种新的整体性的方法。文中认为面对市场的激烈竞争,新产品开发需要的不仅是高质量、低成本和差异化,它还需要速度和灵活性。传统的顺序开发或“接力赛”...

Scrum起源

Scrum的英文含义为橄榄球比赛中的两队并列争球,1986年,在竹内弘高和野中郁次郎发表的《The New New Product Development Game》(《新新产品开发游戏》)文章中,将Scrum隐喻用于软件开发,阐述了一种新的整体性的方法。
文中认为面对市场的激烈竞争,新产品开发需要的不仅是高质量、低成本和差异化,它还需要速度和灵活性。传统的顺序开发或“接力赛”方法可能与最高速度和灵活性的目标相冲突。相反,一个整体的或“橄榄球”的方法—一个团队尝试作为一个整体走完全程,来回传递球——可能更好地满足当今的竞争要求。
文章从橄榄球比赛的特点和团队取胜的关键中提取了六个特点:内置的不稳定性、自组织的项目团队、重叠的开发阶段、“多重学习”、微妙的控制和学习的组织转移。 将六者有机结合在一起,就可以形成了一个快速灵活的新产品开发过程。同时,新方法将创造性的、市场驱动的想法和流程引入到原有组织中,可以起到变革推动的作用。

2a82e43058248088cccb1a210092b7f3_70c461b7f1424193a7cc65365c4657f9.png

  • Jeff Sutherland、Ken Schwaber和Mike Beedle、Mike Cohn等业界大咖先后联合推出了Scrum流程、规范了Scrum框架,初版了Scrum书籍、创办了Scrum联盟,撰写了Scrum指南,帮助组织和团队更好的理解Scrum,指导Scrum在实践中落地。

Scrum定义

  • 从Scrum的起源可见,Scrum的产生是为了指导团队在面对复杂问题不确定的情况时,能够通过齐心协力、自管理的方式去应对,提高速度和灵活性,更加适应市场的需求。
  • 依据2020年发布的最新Scrum指南,Scrum 是一个轻量的框架,它通过提供针对复杂问题的自适应解决方案来帮助人们、团队和组织创造价值
    b33aee49651a1ce6af0cd9360b77fede_d0bc1201094746b285231db61550621f.png
  • “3355”分别代表3个职责、3个工件、5个事件、5种价值观。

Scrum流程

简单流程

8cd8093792b878b4837521f8fa236f0f_a2353534f07a46948727c7cb51ac7c58.png

  • 首先,是输入,根据相关利益干系人的需求,Product Owner创建Product Backlog,记录产品的需求,并根据对应的客户价值进行优先级排序。
  • 然后,是开发,由Scrum Team(由框架图中的3个职责的人员组成)进行开发实现需求,生产出对客户有价值的产品增量。
  • 最后,是输出,将产品增量交由客户进行评审,获取反馈,进行调整。同时根据协商确定下个阶段的输入,整个Scrum是一个循环往复的过程,每个循环称作一个Sprint。

在整个过程中,Scrum Master的职责就是营造Scrum环境,按照 Scrum 框架来建立 Scrum,帮助 Scrum Team 和组织内的每个人理解 Scrum 理论和实践,确保Scrum的正确开展。

完整流程

e5fe0558401ebce13fd006cfce18a4f9_3030cfa69d2b41048f5e862aea9d907a.png
完整流程就将简单流程中的每个环节进行完善。

  • 最初的产品需求来源于客户等相关的利益干系人,Product Owner(简称PO)获取需求后进行拆分、排序等梳理工作,形成Product Backlog(产品待办列表),这是产品唯一的需求来源,由PO全权负责管理和维护。
  • 开发阶段是由一个个Sprint组成,每个Sprint称作一个迭代,或者一个冲刺。在每个Sprint中都是由4个事件贯穿始终,最终会交付一个有价值的Increment(产品增量),通常是产品的一部分特性,能够为客户带来价值。
  • Sprint Planning:团队在Sprint计划会议上从Product Backlog选取合适的需求条目进入到Sprint Backlog(迭代待办列表),选取时依据团队的速率(一个迭代中能够完成的任务量)和需求的优先级。
  • Daily Scrum:团队在整个开发过程中,每天在同一时间和同一时间举行站会,成员共享资源、进度和风险,同时和Sprint Goal进行对齐,确保整个Sprint的工作是沿着正确的方向在进行。
  • Sprint Review:迭代结束前,检查所有的工作的完成情况,是否符合DoD(Definition of Done),然后召开Sprint 评审会议,将产品增量向客户等相关利益干系人演示,获取反馈,用于指导改进和调整下一个阶段的工作方向。
  • Sprint Retrospective:最后,团队成员一起召开Sprint 回顾会议,对当前迭代的情况进行回顾,包括但不限于进度、质量、风险、障碍、成功、心情等方面的内容,回顾会议开展的是否成功对于一个团队的改进是非常重要的。敏捷和精益中的一个核心理念就是持续改进,回顾会议是重要的一个环节。所以团队要多花心思在回顾会议上,关于开好回顾会的更多内容可以参考《如何让敏捷回顾会议更有效果,这样做就对了》。

如此往复循环,若干个Sprint后,最终交付一个完整的产品。
在Scum框架中,价值观和理论部分的指导是完整的,但是没有限定每个阶段采用的过程技术和方法,这是一个轻量级的框架,更多的技术实践需要团队根据自己的业务和组织情况去进行填充。所以业界有个说法,“Scrum是个筐(框这个字应该更好,但筐的发音好,哈哈),什么都能往里装”。

Scrum应用现状

根据VersionOne的第14届年度敏捷行业状态报告中,以Scrum为主的敏捷方法论(包括Scrum、Scrum/XP混合等)占70%+,一直居于主流地位。同时在报告调查中,Scrum的5个事件:每日站会、回顾会议、计划会议、评审会议和短迭代,高居于敏捷技术实践的Top5。
30ab99527d91ca065828a28799c333ac_d999093a0e8346b0aaa25034f329a8c2.png

在应用Scrum的时候,需要注意的一点是,完整的 Scrum 框架是各个部分的有机组合,如果仅仅实施部分的 Scrum ,结果就不是 Scrum ,不能发挥Scrum的优点。这里面说到的“完整”是重神不重形,举例来说就是你可以不开展每日站会,但是这种团队内部的及时沟通交流机制需要有。还是建议组织和团队在最初引入Scrum的时候要完全按照框架,无论学习什么方法技术都是一个“守、破、离”的过程,还是先要把“守”做好,真正理解它的内涵,然后才能因地制宜,升华到“破”和“离”的阶段。

参考学习:华为云DevCloud智库

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。