1

image.png

《四种常见研发模式及其优缺点对比 | IDCF》 一文介绍了常见的四种研发模式,适用场景及优缺点。

笔者有幸参与由瀑布模型到敏捷管理变革尝试的全过程。传统项目管理采用PMP模式,有严格的评审和产出物流程。但敏捷项目管理打破了传统模式,我们需要同时在管理和开发思维上做出变革。本文将对敏捷与Scrum的关系,Scrum的核心概念价值、落地三三五五及度量标准进行阐述总结。希望能够帮助到学习或计划将敏捷带入团队的朋友。

一、瀑布与敏捷模型

1.1 瀑布模型

image.png

1.2 模型

image.png

二、敏捷宣言与十二原则

image.png

三、核心思想、行动指南与管理角色

  • 核心思想:关注价值、拥抱变化、快速交付、持续改进。
  • 行动指南:产品Backlog梳理、版本规划及发布、迭代规划及执行、每日站会、迭代总结会。
  • 管理角色:敏捷教练-提出问题的总结者,解决问题的合作者;帮助团队转变思维方式和观念,让团队深入理解敏捷、实践敏捷,通过言传身教,让团队学会如何应用敏捷方法、实践和工具。
  • 使命:帮助团队驾驭敏捷,生产优秀产品。
  • 目标:培养高效能、高产出敏捷团队,让团队拥有自我管理能力、自我成长能力,自行独立实践敏捷。
  • 活动:观察、反馈、培养、引导和支持。

四、敏捷都有哪些实践与工具

采用敏捷开发的方法也有很多,主要包括极限编程(XP)、Scrum、水晶方法(Crystal Methods)、自适应软件开发(ASD)、特性驱动开发(FDD)、动态系统开发(DSDM)、轻量级RUP、测试驱动开发(TDD)等等。而在众多的敏捷开发方法中,尤以实施Scrum比较流行。

image.png

五、Scrum概述与场景

  • 概述:Scrum是一套轻量级的工程实践框架,是Agile的一种,通过各种流程和技术来有效解决复杂的适应性问题,并创造MVP(Minimum Viable Product)的产品
  • 历史:来自英式橄榄球运动,本质含义就是一群人你推我搡地去抢球和控球。用球赛来类比确实是一个形象又合适的比喻,在赛场上尽管队员们努力按照既定计划推进,但是场上瞬息万变,不可能实时按照教练或者队长的指令亦步亦趋的去行事,只能靠平时训练中形成的素养见机行事,达成目标。
  • 适用场景:依赖固定节奏的交付周期,称为Sprint或迭代,围绕迭代、增量的过程骨架展开的活动。

image.png

六、Scrum核心思想与精髓

核心思路:首先承认我们的客户并不清楚自己的需求,并且需求会不断变化,所以我们默认需求是变化的,并且制定出一套策略能让整个组织按照小功能快速开发,并且后续不断迭代。

精髓:

  • 解决客户问题,目标是让客户满意;
  • 关系:团队成员之间的关系,团队与客户之间的关系要处理好;
  • 反思:作为Scrum Master应该反问自己和团队,现在是否帮助客户解决了问题,我们和客户的关系怎么样?通过不断反思问题来促进团队成长。反模式:
  • 以流程为中心:团队一起反思如何更快的进行产品交付,而不是如何制定一个完美的流程;
  • 以绩效为中心:绩效是把双刃剑,不同团队采用不同的绩效。没有正确的绩效也没有不变的绩效。要回到Scrum精髓本质,把团队聚焦在解决客户问题上来;
  • “推动”敏捷转型:Scrum的转型,需要团队、管理层、老板一致认为,我们Scrum改革的WHY。

七、Scrum落地与三三五五

Scrum是一套轻量级的工程实践框架,是Agile的一种,通过各种流程和技术来有效解决复杂的适应性问题,并创造MVP的产品。

适用场景:依赖固定节奏的交付周期,称为Sprint或迭代,围绕迭代、增量的过程骨架展开的活动。

Scrum成功落地的关键:

  • 深入学习Scrum的运行规则。
  • 全面掌握Scrum的基本机制。
  • 投入足够的时间来学习和实践Scrum。
  • 引入Scrum一定要在新项目或新迭代开始的时候,而不是中途。
  • 不断持续改进Scrum过程。
  • 持续增强master 敏捷管理能力及敏捷文化。
  • 管理软技能。

Scrum三三五五:

image.png

image.png

八、Scrum角色与职责

8.1 产品负责人(PO)

职责:主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,最大化产品及开发团队工作的价值。

产品负责人是管理产品待办事项列表的唯一负责人。

产品待办列表的管理包括:

  • 清晰表达产品待办列表条目。
  • 对待办列表排序,最好的实现目标和使命。
  • 确保研发团队对所执行工作的价值。
  • 确保产品待办列表所有人可见、透明、清晰,并且显示Scrum团队的下一步工作。
  • 确保研发团队对产品待办列表中的条目达到一定程度的理解。

改变需求优先级,必须说服产品负责人。为保证产品负责人的工作取得成功,组织中所有人员必须尊重最终的决定,高优先级待办是唯一待开发的产品路径。

角色需具备的能力:

  • 熟悉业务,能够让各方干系人对产品需求的认识达到共识。
  • 准确鉴别用户要求,洞察其背后的意图并转化成为产品需求。
  • 具备项目管理和产品设计、规划等方面的专业技能和经验。

8.2 研发团队(DT)

职责:主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员可能负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力;成员可以采用任何工作方式,只要能达到Sprint的目标。

研发团队为每个Sprint的结尾交付潜在可发布的产品增量负责。

角色需具备的能力:

  • 期待通过提升自己和帮助他人,让团队成员变的更好。
  • 尊重自己和他人,认可并实践敏捷价值观和敏捷原则。
  • 具备开放共赢的心态、求真务实的作风和良好协作精神。

8.3 Scrum Master(SM)

职责:主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。

Scrum Master服务于Scrum团队,帮助团队外的成员了解如何与Scrum团队交互是有益的,通过改变交互来最大化Scrum团队创造的价值。

1)服务于产品负责人

  • 找到有效管理产品待办事项列表的技巧。
  • 清晰地与产品负责人沟通愿景、目标和产品待办事项列表条目。
  • 引导产品负责人创建清晰简明的产品待办列表条目。
  • 在经验主义环境中理解长期的产品规划。
  • 理解并实践敏捷。
  • 按需推动Scrum活动。

2)服务于研发团队

  • 指导研发团队自组织和跨职能。
  • 引导研发团队创造高价值的产品。
  • 移除研发团队进展过程的障碍。
  • 在Scrum还未安全被采纳和理解的环境下指导研发团队。
  • 按需推动Scrum活动。

3)服务于组织

  • 领导并组织采用Scrum。
  • 在组织范围内计划Scrum的实施。
  • 帮助员工及干系人理解并实施Scrum和经验性产品开发。
  • 发起提升Scrum团队生产力的变革。
  • 与其他Scrum Master一起,帮助组织更有效应用Scrum。

角色需具备的能力:

  • 积极影响他人、帮助他人取得成功来发挥个领导力。
  • 能够快速与他人建立信任,有效帮助他人发现和解决问题。
  • 乐于助人,擅长与他人合作,沟通能力和抗压能力都很强。

九、三个工件

9.1 产品待办列表(Product Backlog)

产品待办事项列表是一个排序的列表,包含所有产品需要的东西,也是产品需求变动的唯一来源。列出了特性、功能、需求、改进等未来发布产品的改变,包含描述、次序和估算的特征。优先级越高,需求应该越清晰。

9.2 迭代列表(Sprint Backlog)

一组为当前 Sprint 选出的产品代办事项列表条目,外加交付产品增量和实现 Sprint 目标的具体计划。可以在每日站会上得到呈现。只有研发团队可以对Spring Backlog可以进行修改,此时可以移除部分失去开发意义的需求,增加其他优先级更高的需求。

9.3 产品增量(Product Increment)

增量是一个Sprint完成的所有产品待办列表总和以前Sprint所产生的增量的价值总和。

十、五个活动

image.png

十一、Scrum管理与度量

11.1 定性管理

增量是一个Sprint完成的所有产品待办列表总和以前Sprint所产生的增量的价值总和。

  • 冲刺计划 - 对冲刺期间工作范围及工作量的详细评估;
  • 每日站会 - 团队成员共享任务进度和面临的问题。提供相关Sprint任务剩余时间的报告。保持目标方向;
  • Sprint总结会议 - 分享进展顺利,表现优秀的地方。进展不佳及改进思路,可以帮助Scrum团队和流程的持续改进;
  • 团队满意度 - 定期了解Scrum团队满意度,可以提升敏捷文化,减少团队冲突和流程问题。

11.2 定量管理

  • 燃尽图(Brundown Chart) - 比较直观显示冲刺过程中完成了多少故事点以及还剩下多少故事点,有助于预测冲刺范围是否会按时完成;
  • 敏捷速度(Velocity Chart) - 衡量团队在过去几个Sprint中平均完成的故事点数即产能,用于预测团队在新的Sprint中的表现。也可以用于提升团队产能的衡量指标。但Scrum团队之间比较不具备参考意义;
  • 累积流量图(Cumulative Flow Diagram) - 用于显示任务状态-在sprint,发行版或跨软件团队。它可以可视化流程中的瓶颈–在任何工作流程阶段中,成比例的大量任务表明存在问题。例如,在验证或测试阶段图表中的大“气泡”表示该阶段资源不足;控制图(Control Chart)、缺陷数等;
  • 度量的目的是为了使Scrum团队更加聚焦交付增量目标,通过过程指标不断修正和持续改进,而非以考核和监督为目的。

来源:云栈技术CSTC
作者:IDCF社区 Geekwolf

用户bPcN1SC
149 声望55 粉丝