《四种常见研发模式及其优缺点对比 | IDCF》 一文介绍了常见的四种研发模式,适用场景及优缺点。
笔者有幸参与由瀑布模型到敏捷管理变革尝试的全过程。传统项目管理采用PMP模式,有严格的评审和产出物流程。但敏捷项目管理打破了传统模式,我们需要同时在管理和开发思维上做出变革。本文将对敏捷与Scrum的关系,Scrum的核心概念价值、落地三三五五及度量标准进行阐述总结。希望能够帮助到学习或计划将敏捷带入团队的朋友。
一、瀑布与敏捷模型
1.1 瀑布模型
1.2 模型
二、敏捷宣言与十二原则
三、核心思想、行动指南与管理角色
- 核心思想:关注价值、拥抱变化、快速交付、持续改进。
- 行动指南:产品Backlog梳理、版本规划及发布、迭代规划及执行、每日站会、迭代总结会。
- 管理角色:敏捷教练-提出问题的总结者,解决问题的合作者;帮助团队转变思维方式和观念,让团队深入理解敏捷、实践敏捷,通过言传身教,让团队学会如何应用敏捷方法、实践和工具。
- 使命:帮助团队驾驭敏捷,生产优秀产品。
- 目标:培养高效能、高产出敏捷团队,让团队拥有自我管理能力、自我成长能力,自行独立实践敏捷。
- 活动:观察、反馈、培养、引导和支持。
四、敏捷都有哪些实践与工具
采用敏捷开发的方法也有很多,主要包括极限编程(XP)、Scrum、水晶方法(Crystal Methods)、自适应软件开发(ASD)、特性驱动开发(FDD)、动态系统开发(DSDM)、轻量级RUP、测试驱动开发(TDD)等等。而在众多的敏捷开发方法中,尤以实施Scrum比较流行。
五、Scrum概述与场景
- 概述:Scrum是一套轻量级的工程实践框架,是Agile的一种,通过各种流程和技术来有效解决复杂的适应性问题,并创造MVP(Minimum Viable Product)的产品
- 历史:来自英式橄榄球运动,本质含义就是一群人你推我搡地去抢球和控球。用球赛来类比确实是一个形象又合适的比喻,在赛场上尽管队员们努力按照既定计划推进,但是场上瞬息万变,不可能实时按照教练或者队长的指令亦步亦趋的去行事,只能靠平时训练中形成的素养见机行事,达成目标。
- 适用场景:依赖固定节奏的交付周期,称为Sprint或迭代,围绕迭代、增量的过程骨架展开的活动。
六、Scrum核心思想与精髓
核心思路:首先承认我们的客户并不清楚自己的需求,并且需求会不断变化,所以我们默认需求是变化的,并且制定出一套策略能让整个组织按照小功能快速开发,并且后续不断迭代。
精髓:
- 解决客户问题,目标是让客户满意;
- 关系:团队成员之间的关系,团队与客户之间的关系要处理好;
- 反思:作为Scrum Master应该反问自己和团队,现在是否帮助客户解决了问题,我们和客户的关系怎么样?通过不断反思问题来促进团队成长。反模式:
- 以流程为中心:团队一起反思如何更快的进行产品交付,而不是如何制定一个完美的流程;
- 以绩效为中心:绩效是把双刃剑,不同团队采用不同的绩效。没有正确的绩效也没有不变的绩效。要回到Scrum精髓本质,把团队聚焦在解决客户问题上来;
- “推动”敏捷转型:Scrum的转型,需要团队、管理层、老板一致认为,我们Scrum改革的WHY。
七、Scrum落地与三三五五
Scrum是一套轻量级的工程实践框架,是Agile的一种,通过各种流程和技术来有效解决复杂的适应性问题,并创造MVP的产品。
适用场景:依赖固定节奏的交付周期,称为Sprint或迭代,围绕迭代、增量的过程骨架展开的活动。
Scrum成功落地的关键:
- 深入学习Scrum的运行规则。
- 全面掌握Scrum的基本机制。
- 投入足够的时间来学习和实践Scrum。
- 引入Scrum一定要在新项目或新迭代开始的时候,而不是中途。
- 不断持续改进Scrum过程。
- 持续增强master 敏捷管理能力及敏捷文化。
- 管理软技能。
Scrum三三五五:
八、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所产生的增量的价值总和。
十、五个活动
十一、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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。