Scrum:实施概述和食谱– Ed Nykaza –中

Scrum:实施概述和食谱

照片归因

您是否曾经在一个项目上花费大量时间,只是为了交付从未使用过的产品? 您是否曾经在一个项目上投入过比实际完成工作更多的时间来准备,规划和提议? 如果是这样,这可能是遵循传统瀑布方法进行项目管理的结果(图1)。 成功的初创企业和成熟的软件开发公司(例如,Amazon,Adobe,Apple,Google和Microsoft等)已经摆脱了这种方法,并使用了称为Scrum的项目管理方法。 本文的目的是概述Scrum方法,以了解流程,以便您可以实施Scrum并提高生产率和团队的成功。 本文的大部分材料来自Scrum联合创始人Jeff Sutherland合着的《 SCRUM一半时间内完成两次工作的艺术》。

图1:瀑布式方法(有时也称为传统方法)首先是建立业务需求,提出技术设计或建议,构建和测试产品或进行研究,最后将产品或研究结果交付给客户。 人物归因

无论您是在团队,领导团队还是在执行级别,Scrum方法都可以改变游戏规则。 Scrum建立在持续改进的概念之上,并遵循计划-执行-检查-执行(PDCA)周期(图2)。 持续改进方法优于传统方法(例如,图1中的瀑布方法),因为团队所采取的行动可以随着环境的变化而变化。 例如,使用瀑布法,可能要花费数月甚至数年才能构建和交付产品。 由于开发时间长,产品可能不再满足客户的期望或不断变化的要求。 用著名的军事战斗机飞行员约翰·博伊德(John Boyd)的话说:“能够应付最快变化速度的人可以幸免于难,”随着技术不断以迅猛的速度变化,今天这一点变得更加重要。

图2:计划-执行-检查-执行(PDCA)周期。 人物归因

Scrum项目管理方法论着重于完成20%的工作,这将首先带来80%的价值。 此方法与帕累托的80/20规则直接相关:价值的80%来自工作量的20%。 Scrum的核心思想是定期签入以确保项目按计划进行,并不断进行改进以更有效地完成工作。 在这里,效率指的是质量更好 ,而时间则更快 。

“ scrum”这个名称来自橄榄球,是指橄榄球队共同努力将球向下移动的方式。 为了获得成功的争夺,团队必须保持谨慎的配合,明确的目标以及超越任何个人的目标(即,团队不在乎谁来得分,而只是在团队中得分)并赢得比赛)。 最好的Scrum团队可以流畅地协调一致地移动,感知并知道他们的队友始终在哪里,以及他们将要做什么。 想象一下一群鸟或一群鱼可以毫不费力地绕过障碍物而不会碰到彼此,保持它们的间距并以很少的努力就可以改变它们的形态。

Scrum方法论诞生于1990年代,起源于敏捷哲学。 敏捷哲学强调流程上的人员 ,记录上的产品上的工作 , 谈判上的 合作以及对 计划的 响应的回应 。 从这个意义上讲,Scrum是实现或实践敏捷哲学的一种团队方法。 Scrum使团队具有共同的目标,使团队能够通过客户的眼光看最终产品,剥夺一个人及其目标比团队更重要的所有头衔和角色,并倡导有限交付的文化,渐进式和可证明的产品。

在本文中,我将重点介绍Sutherland本书附录中概述的实施Scrum的步骤或方法。 这些步骤可以归纳为三个主要组成部分,并遵循PDCA周期:(1)组成团队,(2)创建待办事项或计划,以及(3)完成工作,这称为Sprint。 图3概述了Scrum的主要和关键元素,它也作为本文其余部分的概述。

图3:用于实施Scrum的食谱,突出显示了与计划-执行-检查-执行(PDCA)周期的相似性。

组队:Scrum故事中的演员

Scrum中有三个主要角色:产品负责人,Scrum团队成员和Scrum管理员。 产品负责人(1a)是具有远见并决定最终产品应该是什么的人。 他们的工作是权衡风险和回报,找出可能的方法,并与客户保持紧密联系。 Scrum团队(1b)由将要从事工作的人员组成。 团队需要具备将愿景变为现实的所有技能。 Scrum Master(1c),也可以称为Scrum Coach,带领团队完成Scrum流程,以消除浪费(即,任何使团队慢下来的事情)。 一些常见的浪费形式包括:因不合理而浪费(例如,设定荒谬的期望并使团队负担过重),因不一致而浪费,因结果而浪费(例如,让人们做一些事情以使他们保持忙碌而不是对目标有所贡献),以及情感上的浪费(即不稳定的团队成员产生的浪费,破坏了团队完成工作的能力)。

就团队动力而言,Scrum团队通常拥有3–9个团队成员。 团队人数不得超过9人,因为大于9人的团队的工作效率会下降。 最后一点可能与传统的智慧和直觉背道而驰(即,您可以在问题上投入的资源越多越好),但是Scrum团队的想法是它们应该作为一个整体来运作。 当团队中有超过9个人时,要保持所有这些关系在身体和精神上都是挑战。

关于Scrum团队的最后一点是,项目负责人(包括产品负责人和Scrum负责人)应该透明(即每个人都应掌握所有相关信息)。 此外,Scrum团队应具有自主权(即,选择如何完成工作的自由),精通(即,涉及学习新技能和提高现有技能的具有挑战性的问题)和目标(即,目标比自己更大) 。 这些要点不应掉以轻心,因为这些要素对于工作场所的积极性和幸福感至关重要(有关此主题的更多信息,请参见“ Daniel Pink的开车”)。 当人们感到高兴时,他们会做出更明智的决策,更有创造力和生产力,并且离职的可能性也较小。

创建待办事项:计划

创建待办事项并确定其优先级

有了团队之后,下一步就是创建待办事项(2a)并确定其优先级。 待办事项列表是将愿景变为现实需要完成的所有操作(例如,要在软件开发框架中开发的功能)的高级列表。 待办事项实质上是在项目的整个生命周期内创建和发展的路线图。 它包含所有可能完成的工作。 创建并确定待办事项的优先级是产品所有者的责任。 但是,产品负责人必须与客户和Scrum团队协商,以确保正确确定Backlog的优先级和切合实际。 在对积压工作进行优先级排序时,重要的是要弄清楚如何尽快交付价值(即,计算出将最大程度发挥价值并首先交付价值的20%的工作)。

请记住,第一次积压和优先级排序只是您当时的最佳猜测,并且肯定会错。 实际上,在任何项目开始时都很难用任何方法来估计项目范围。 在大多数情况下,直到进入项目后,我们才能更好地了解完成该项目需要多少时间。 快速完成优先排序,以便团队可以开始。 Scrum的优点在于它遵循PCDA持续改进的周期。 稍后将有时间重定向和重新确定优先级。

优化和估算积压

一旦存在积压,至关重要的是将要进行工作的人员(即Scrum团队)聚集在一起以完善和估计每个积压项目的难度(2b)。 积压项目必须是可行的,现实的和可证明的。 它们应该被明确定义并且足够小,以便团队可以在合理的时间内完成任务。 另外,团队必须知道任务何时完成,这意味着他们需要产生可证明的东西。 在许多情况下,待办事项的范围太广,需要加以完善。 例如,以下待办事项范围太广:“作为客户,我想要世界上最大的书店,这样我就可以随时购买任何书。”为了执行此任务,团队需要完善和打破常规。将该项目分解为更易于管理的小段内容,例如,“作为客户,我希望能够按流派浏览书籍,以便可以找到自己喜欢的书籍类型。”团队知道当完成此任务时他们能够向团队展示并向团队展示用户如何使用其软件工具按类型浏览书籍。

除了将每个待办事项细化为可管理的小片段之外,Scrum团队还估计每个任务的难度,这对于反馈循环至关重要,稍后将进行更详细的描述。 大多数人在估算完成某项工作所需的时间时都感到恐惧,因此,Scrum方法不是以一种定性的方式估算完成一项任务所需的时间,而是估算出完成一项任务的时间。 通常通过估算相对大小(即小,中,大或特大)或使用斐波那契数列(即1、2、3、5、8、13、21等)来完成此操作。

估计待办事项中每个项目的难度的过程是在计划扑克会议上完成的。 这被称为“扑克”会议,因为如果每个团队成员都拥有一副牌,上面有难度大小或斐波那契数,则可以有效地执行此任务。 每个Scrum团队成员都通过选择合适的卡片来独立估计难度,然后所有团队成员同时翻转卡片,以使一个人的估计不会影响其他人。 如果团队之间存在矛盾,则选择极端(即高困难和低困难)的团队成员,解释为什么做出选择,然后每个人都进行另一个估计。 一旦估算接近,就将平均值或中位数估算分配给该任务。 团队重复此过程,直到Backlog上的所有任务都达到难度为止。 就像第一次积压和确定优先级可能是错误的一样,估计每个任务的难度也将是模糊的,直到团队开始工作并获得如何快速完成工作的经验。 再次重申,想法是快速完成优化和估算,以便团队可以开始执行或“冲刺”。

冲刺:PDCA和重复

计划冲刺

该过程的下一步是召开Sprint计划会议(3a)。 从某种意义上讲,这是将在接下来的N周内完成的工作的小型启动会议,其中N通常在1-4周之间。 整个团队,包括产品负责人,都将查看待办事项列表(按优先级排序的行动清单以及相应的难度估算),并确定他们在下一个Sprint时期可以实际完成的任务。 在团队中有几个Sprint之后,便可以计算团队的Velocity(速度,即每次任务的难度),这应该使估算随后Sprint可以完成的工作量更为现实。

Sprint计划会议还为产品负责人提供了一个机会,以阐明该Sprint的目标如何适合整体愿景。 成功的Sprint计划会议是指团队中的每个人都清楚地了解他们在Sprint期间需要完成的工作。 团队对任务做出承诺后,这些任务将被固定,不应更改或修改。 在团队开始工作时自然产生的新想法,功能和切线应发送给产品负责人,以便可以对它们进行优先级排序并将其放入待办事项列表中。

做工作:使工作可见

该过程的下一步是透明地进行工作(3b.i)。 这通常是通过Scrum板完成的(图4)。 Scrum板可能非常复杂,但是在基本级别上包含三列,分别标记为:“待办事项”,“正在做事”和“完成”。 对于在同一房间或办公室工作的团队,可以通过在板上放置便笺来轻松实现,尽管近年来出现了许多电子Scrum或看板式的板(例如Trello,Asana等)。 另一个有用的可视化工具是“燃尽图”,它可以跟踪Sprint长度上的总体进度。 可视化工具提供即时反馈和成就感,这也是创建快乐员工队伍的重要组成部分。

图4:一个简单的Scrum板。 人物归因

做工作:定期开会-Scrum会议

Scrum会议(3b.ii)是在Scrum框架中完成工作的关键组成部分。 在传统的Scrum框架中,该会议为15分钟,每天在同一时间举行。 不过,根据项目的不同,每周或每两周召开一次会议是作者的经验。 这次简短会议的目的是确保团队透明,不断进步且不会陷入困境。 这次会议有时被称为“每日站起来”,因为让每个人都站起来是确保会议简短,切题的好方法。 在Scrum会议期间,每个团队成员都应准备简洁地回答以下三个问题:1)自上次会议以来,您为帮助团队完成Sprint做了什么? 2)您接下来将如何帮助团队完成Sprint? 3)您是否遇到阻碍您或团队实现Sprint目标的障碍,障碍或路障?

提出这三个问题是使整个团队快速掌​​握以下知识的有效方法:1)完成了什么; 2)每个人都在做什么; 3)是否有任何问题。 如果Scrum会议正确完成,则这些问题会引发对话,从而使其他队友可以提供反馈和建议(例如,您今天正在使用X,我做了一段时间,您可能想看看我的代码,或者提防是的。 另外,通过询问是否有人被卡住,有助于确保人们不会被卡住太久。 很多时候,其他团队成员也遇到相同的问题,并会提出一些建议,帮助他们摆脱困境。

关于Scrum会议,Scrum Master具有三个角色。 这些措施包括促进会议,赋予团队自治权以及消除任何障碍或障碍。 作为主持人,Scrum Master确保团队不会掉进兔子洞或切线,并将会议保持在严格的15分钟时限内。 如果存在需要进一步讨论的问题,则相关团队成员和任何外部人员都应脱机跟进(即,在站立会议之外的某个时间)。 这样可以确保流程不会浪费人们的时间,因为在许多情况下,不需要整个团队来解决问题。 Scrum Master还负责赋予团队自治权。 这显然意味着他/她不做作业,并且团队成员可以自由选择完成工作的方式。 最后,Scrum Master的工作是促进清除障碍。 这可能像打电话,发送电子邮件以请求数据一样简单,也可能像与IT部门一起处理安全性问题和策略一样复杂。

检查/查看进度:Sprint回顾展

在Sprint结束时,团队将进行Sprint回顾(3c),以讨论正确的做法,在下一个Sprint中可以做得更好的事情,并演示团队所取得的成就。 在PDCA周期中,这是“检查”。此会议需要坦率的坦率(以关怀的方式提供诚实的反馈)和心理上安全的环境。 重点应该放在改善流程上,而不是单挑个人。 在本次会议期间应该回答的一些问题包括:“为什么会这样发生?”,“我们为什么会错过这种情况?”和“我们可以做些什么来使事情变得更有效率(即更好的质量和更快的速度)? )在下一个Sprint中?”。 团队应该庆祝胜利,提出效率低下的解决方案,并采取相应的行动。

行动:进行更改并重复该过程

解决方案的另一个组成部分是再次开始Scrum过程(3d)。 在大多数情况下,该过程将从计划下一个Sprint(3a)开始。 但是,工作流程中的这种快速暂停允许在必要时组建新团队(1),在必要时可以修改和重新排列待办事项(2),并且团队可以考虑下20%的工作量价值的80%。 从理论上讲,随着时间的推移,Scrum团队会带来更多的价值,因为随着产品和客户期望和反馈的发展,他们不断调整优先级并进行更改。

结束语

在本文中,我简要介绍了Scrum和实现Scrum的方法(图3)。 Scrum是遵循PDCA周期的自适应项目管理框架,该框架允许项目随着客户的期望和要求的发展而发展。 Scrum是传统瀑布式项目管理的有力替代方案,因为它更适合我们瞬息万变的现代世界。

自几个月前阅读Scrum以来,我已经开始将Scrum方法论的各个方面实施到几个工作和个人项目中,并且已经看到了好处。 我们的团队更加了解每个人在做什么,并且我们避免了一些在项目初期就没有Scrum会议问题就不会出现的陷阱和障碍。 我们还在Scrum会议问题中添加了另一个问题,“您是否有任何要添加到待办事项列表中的项目?”这有助于我们捕获想法。 但是,关于我的足够了。 我对了解您的想法更感兴趣。 请在下面留下一些评论或向我发送电子邮件,让我知道您对本文的看法? 您是否打算尝试Scrum或对实施Scrum有任何犹豫? 如果您已经使用Scrum,哪些方面对您有用或不起作用?

最后,我觉得你们中的许多人与我同在:您不是软件开发人员,但是有兴趣将Scrum适​​应不同的项目环境。 Scrum的某些方面可能很适合软件开发,但是需要进行调整或修改才能成功地将方法实现到不同的领域。 待命,以获取有关Scrum适​​应研究项目的未来文章。 本文完成后,我将在此处放置一个链接。 感谢您的宝贵时间,特别感谢我的编辑人员和提供反馈的人员!

本文最初由live-learn-lead.com刊登, ©2016 LIVE-LEARN-LEAD