为什么Scrum易学难精?

为什么Scrum易学难精?

(英文原版)  (日本語版)

在快速变化的数字作品中,敏捷的概念变得越来越流行。每个人都在谈论Scrum敏捷开发还有许多不同的方法或方法,包括极限编程(XP),Scrum,Crystal方法,自适应软件开发(ASD),特征驱动开发(FDD),动态系统开发(DSDM)和轻量级。RUP,测试驱动开发(TDD)等,如下图所示。在众多敏捷开发方法中,Scrum的实现是最受欢迎的。

本文主要分享Scrum的理解和实现过程以及Scrum实施给团队带来的变化。

敏捷伞

敏捷伞

什么是Scrum?

Scrum是一个用于开发和维护复杂产品的框架,是一个渐进的,迭代的开发过程。在此框架中,整个开发过程包括几个短迭代周期,一个称为Sprint的短迭代周期,每个Sprint长达2到4周。

在Scrum中,使用产品Backlog来管理产品的需求。产品待办事项根据产品业务价值的优先级进行分类。在Sprint中,Scrum团队选择了产品Backlog中的最高优先级要求,以及sprint计划流程中的sprint backlog。在Sprint计划会议上讨论,分析和估计所选产品积压项目(PBI),以获得要包含在下一个sprint中的任务列表(称为Sprint积压)。当Scrum团队将所有选择的任务完成到Sprint积压列表中时,当前的Sprint结束并进入下一个Sprint迭代周期。

 

敏捷的Scrum框架

敏捷的Scrum框架

为什么Scrum难以掌握?

Scrum非常有价值。但是,在某些公司中很难实现Scrum。有人说Scrum没有实质性影响。那么为什么很多人发现Scrum很难掌握甚至实现?回顾Scrum指南中写的Scrum:

Scrum是

  • 轻量级
  • 简单易懂
  • 很难掌握

由于Scrum需要改变文化,这很难实现。如果一个组织从其传统团队采用Scrum敏捷开发,则需要为所有Scrum 角色提供大量技能,培训和指导。每个Scrum角色的职责都比传统的瀑布驱动环境中的角色要广泛得多。为什么Scrum难以掌握?这里的主要原因是:

  1. **所有团队成员在Scrum流程中的角色要困难得多。
    **例如,在Scrum项目中,开发人员不只是“编写代码” – 他们应该负责规划,评估和管理自己的工作,并将他们的工作与团队的其他成员集成,以生成整体解决方案。他们还希望直接与业务用户合作以了解需求。
  2. **Scrum是一个自适应过程,需要很多技巧和判断力。
    **Scrum基于经验过程控制模型,这意味着在项目进行过程中,根据观察需要不断调整解决方案和生成解决方案的过程。很多技能和判断只能在需要一些指导的工作中学习。许多人试图在没有理解其背后的原理的情况下机械地进行Scrum,这通常不会成功。
  3. **Scrum需要组织转型
    **Scrum需要开发团队和业务用户之间的协作伙伴关系,因为项目正在进行中。这通常需要打破一些组织“烟囱”来开发有效的协作方法。

十大敏捷成功策略

从传统方法过渡到敏捷开发方法的成功策略来自对敏捷项目经理和从业者的采访,他们积极为世界各地的各种项目提供软件,包括:对敏捷专业人员(即业务,IT和管理)的访谈,标准组织(PMI,Scrum联盟,敏捷联盟,Scrum.org,DSDM,IEEE等),行业案例研究,书籍和研究机构(Gartner,Standish,Forrester等)。

  1. 安全管理承诺 – 在开始实施计划之前,必须确保管理承诺
  2. 为您的团队提供支持 – 敏捷提供了显着的透明度,并减少了对详尽检查点的需求
  3. 了解协作文化 – 来自业务领域的代表需要推动敏捷计划; 他们的参与是敏捷方法的基石
  4. 拥抱敏捷方法 – 敏捷的真正价值最好是实现“全部进入”。
  5. 制定路线图和初步计划 – 敏捷是整个规划过程的一个组成部分
  6. 获得敏捷教练并培训团队 – 至少拥有经验丰富的敏捷教练,Scrum Master,至少20%具有敏捷经验的团队大大提高了成功的机会。
  7. 从小规模开始并获得早期成功 – 没有任何东西可以帮助敏捷计划获得更多的牵引力而不是显示早期的切实成功
  8. 建立敏捷性能测量 – 敏捷的重点是处理当前的业务优先级,而不是符合可能无法反映当前业务方向的一组基准要求
  9. 创建敏捷合同 – 而不是关注将要交付的“内容”,尽可能清楚明确地描述“如何”定义和交付解决方案
  10. 采用ALM工具促进交互 – 敏捷ALM工具在传统ALM工具集成的考虑因素之上集成了敏捷流程和治理结构

根据研究和经验,强烈建议组织考虑应用这些策略以及强大的业务和IT管理规则,以便顺利地从传统开发方法转变为敏捷开发方法。