这一章节是关于Scrum Master要像清道夫一样去帮助开发团队移除障碍的。我会用最常见的定义和实例来阐述什么是“障碍”,并讲述作为清道夫的Scrum Master如何去处理障碍。
什么是障碍?
做过大量的研究之后,我发现的确有一些关于“障碍”的不错的定义:
• Scrum中的障碍指的是阻碍开发团队在Sprint中生产有价值的软件增量或者制约开发团队实现其固有进展目标的因素。
• 自组织的开发团队内部解决不了的难题。
• 阻止开发团队成员在Sprint内按照预期的生产能力进行工作的事件。
关于“障碍”不错的引用如下所述:
• 好的Scrum Master营造一个能够报告障碍的环境,而一个优秀的Scrum Master营造一个富有创造力的环境。
• 好的Scrum Master努力争取移除团队生产力障碍的许可,而一个优秀的Scrum Master却时刻准备着得到团队的宽恕。
障碍的例子
到目前为止,你已经知道了最常见的有关障碍的定义,你一定想见识几个具体的障碍的例子。下面就是可能的障碍的举例:
• 团队成员生病
• 不可预见的,不受欢迎的团队构成方面的变化。
• 开发团队使用的工具出现问题。
• 技能不足
• 大量的技术债
• 供应商方面的问题
• 难以协同的产品负责人
• 来自管理层的压力
• 团队成员之间的冲突
• 开发团队必须参加的大量的并不重要的会议
• 团队环境的限制
• 犹豫不决的产品负责人
Scrum Master作为清道夫
按照Scrum指南,Scrum Master服务于开发团队的职责之一就是移除阻碍开发团队工作进展的障碍。作为服务型领导,Scrum Master的目标是打造自组织和跨职能的开发团队。Scrum Master鼓励、支持并赋能开发团队,以便团队能够淋漓尽致的发挥自己的潜能和才能。
要做到上述种种,Scrum Master在移除障碍之前,应该慎重思考如下几个问题:
• 它的确是个障碍吗?或者它是可以被开发团队自己解决的?
• 我们真的需要移除这个障碍吗?
• 这里最根本的问题是什么?
一定要知道上述的 “可能的”障碍的例子,并不一定会成为障碍,只有当某个障碍不能被自组织团队自己解决的时候,它才被称之为障碍。
技能不足可能会成为一个障碍,但是信任开发团队的自组织特性,进而想想开发团队的其他可能性:或许团队成员想要学习该技能并视此为一个难得的机会。另外,团队成员之间的冲突也不一定会成为一个障碍,Scrum Master通过健康的冲突和辩论来引导团队进行一次激烈的讨论,最终这个团队会变得更加强壮。
Scrum Master应该营造一个让开发团队感觉可以安全报告障碍的环境。就团队的自组织能力而言,Scrum Master应该鼓励团队试着去解决他们自己的问题,进而将障碍扼杀在摇篮里。
移除障碍的策略
移除障碍是一个挑战,下面我会分享一些策略和想法供Scrum Master在遇到障碍时参考。
• 不要等到每日站会时才报告障碍。众所周知,Scrum指南推荐在每日站会要问的一个问题是 “我看到了什么障碍可能会阻止我或者开发团队实现Sprint目标?”。然而这并不意味着开发团队只有在每日站会时才能讨论障碍。
• 制定Sprint目标。一个清晰的Sprint目标就是一个用来检测某事是否是一个真正的障碍的指示器。如果某事会阻止开发团队实现Sprint目标,那它无疑就是一个障碍。
• 理解“阻塞”与“障碍”的区别。“阻塞”一般只影响单个任务,而“障碍”则像降落伞一样会减慢整体的进展。一般而言,“阻塞”是可以由团队自己解决的,而“障碍”则只能由ScrumMaster来解决。
• 通过“障碍看板”ᨀ高透明度。只需要简单的动动手指就可以在板子上将障碍直观的披露出来。增加一些泳道,比如“ TO-DO”, “In Progress”, “Done”,这样障碍的状态就对所人透明了。当然,你也可以在障碍加到Scrum 板上。因为任务板上有了障碍信息,状态的可视化和ᨀ升透明度变得更加重要。
• 对确定的障碍保持跟踪。这将会成为Sprint评审和回顾的重要输入。
• 了解组织。Scrum Master应该了解组织的文化,并且知道在这个组织里应该怎么样去做事,使用正确的方式,这样很多障碍就很容易解决了。
• 勇敢并且有创造性的移除障碍。当你需要去做一些大胆的决定来保证团队的生产力时,就要做好准备请求团队原谅你可能的决策失误。
• 与产品负责人合作。障碍往往与产品管理团队与利益干系人以及供应商的合作息息相关。产品负责人是这里面关键的角色。因此一定要与产品负责人保持良好的关系。
• 不要浪费精力去解决错误的问题。遇到障碍时,Scrum Master一定要忍住想要马上定位问题,解决问题,提供解决方案的冲动。Scrum Master应该聚焦解决真正的问题,而非遇到的每个问题。通过不断的询问了解详细的情形之后,分辨出哪些是真正需要解决的障碍,哪些是可以由开发团队抓住的学习的机会。
小结
经过大量的研究与思考之后,我总结出了Scrum Master如何作为一个清道夫的简单᧿述。大量的材料表明,这无疑是Scrum Master很重要的一部分能力。我学习到的经验是要尊重开发团队的自组织能力。试想一下,如果每一个微小的障碍都要由Scrum Master去解决的话,又怎么会有机会使团队作为一个整体得到提升呢?
与敏捷项目管理相关的推荐资源
敏捷中的三个Amigos发展战略是什么?
Three friends refer to the main perspective of testing and inspecting increments in business, during and after development. They review each story in informal start-up meetings to provide a shared vision of what will be delivered and help ensure that it is the voice of the team, not a single opinion. (三个朋友指的是在业务、开发期间和开发之后测试检查工作增量的主要视角,例如,业务分析师、开发人员、测试人员在非正式的启动会议中回顾每个故事,以对将要交付的内容给出一个共同的共享愿景,并帮助确保它是团队的声音,而不是单一的意见。)
什么是敏捷?什么是Scrum?
Agile is the software development methodology that focuses on customer satisfaction by delivery shippable software frequently. Scrum is one of the many approaches to implement Agile. Scrum is suitable for certain type of projects where there are rapidly changing requirements. (敏捷是一种软件开发方法,它通过频繁交付可交付的软件来关注客户满意度。Scrum是实现敏捷的众多方法之一。Scrum适用于需求变化迅速的特定类型的项目。)
什么是Scrum中的速度?
Velocity in Scrum is a measure of the amount of work a Team can tackle during a single Sprint and is the key metric in Scrum. Velocity is calculated at the end of the Sprint by totaling the Points for all fully completed User Stories. (速度是一个团队在一次冲刺中可以完成的工作量的度量,也是Scrum中的关键度量标准。在冲刺结束时,通过对所有完全完成的用户故事的点进行合计来计算速度。)
为什么Scrum易学难精?
Scrum is a framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value. Whilst it is lightweight and simple to understand it is difficult to implement and hard to master. This article tell you why?(Scrum是一个框架,人们可以在其中解决复杂的适应性问题,同时富有成效和创造性地交付具有最高价值的产品。虽然它是轻量级的,易于理解,但很难实现,也很难掌握。这篇文章告诉你为什么?)
传统项目管理 vs 敏捷项目管理
Traditional project management emphasizes on conducting detailed upfront planning for the project with emphasis on fixing the scope, cost and schedule - and managing those parameters. Whereas, Scrum encourages data-based, iterative decision making in which the primary focus is on delivering products that satisfy customer requirements. (传统的项目管理强调对项目进行详细的前期规划,强调确定范围、成本和进度,并管理这些参数。然而,Scrum鼓励基于数据的、迭代的决策,其中主要关注的是交付满足客户需求的产品。)
Scrum如何演变?
Scrum has not been immune to controversy, and its history of invention is a topic of frequent debate. Some professionals believe that Jeff Sutherland, John Scumniotales, and Jeff McKenna invented Scrum in 1993. And then there are others who vouch for Hirotaka Takeuchi and Ikujiro Nonaka as inventing Scrum in 1986. (Scrum并没有不受争议,它的发明历史是一个经常争论的话题。一些专业人士认为Jeff Sutherland、John Scumniotales和Jeff McKenna于1993年发明了Scrum。还有其他一些人也许相信, 在1986年Hirotaka Takeuchi和Ikujiro Nonaka发明了Scrum。)
什么是5个Scrum的核心价值?
Less known than the process of Scrum and probably under-highlighted, but therefore not less important, are the 5 core Scrum Values upon which the framework is based: Commitment – Focus – Openness – Respect – Courage. These values relate to the ethics of Scrum, thereby -from a social point of view- turning Scrum into a value system. (与scrum的过程相比,人们对scrum知之甚少,而且可能低估了这一点,但同样重要的是,该框架所基于的5个核心scrum价值观:承诺——关注——开放——尊重——勇气。这些价值观与Scrum的伦理有关,因此从社会的角度来看,将Scrum转变为一个价值体系。)
什么是敏捷软件开发?
When talking about Agile, we often talk about ''Agile'' and ''Scrum,'' but, how exactly are related, and how are they different? We take a look of this issue in this Article. (在谈到敏捷时, 我们经常谈论 "敏捷" 和 "scrum", 但是, 它们到底有什么关系, 它们有什么不同?我们在本文中介绍了这一问题。)
Scrum在3分钟内完成
This article covers all the key concept of Scrum framework that make you easily be recalled and apply anytime from your mind as systematic knowledge structure (本文涵盖了 scrum 框架的所有关键概念, 使您可以轻松地被召回, 并从您的头脑中随时作为系统的知识结构应用)
什么是Scrum的三大支柱?
(英文版) (日本語版) 什么是Scrum的三大支柱? SCRUM使用经验方法(或有时称为经验主义)以适应客户不断变化的需求。经验主义是根据实际经历的内容做出决策的行为。经验方法意味着以事实为基础,以经验为基础,以证据为基础的方式开展工作,特别是,进展是基于对现实的观察,而不是基于大量前期要求的虚构计划。 […]