热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Scrum知多少:深入解析敏捷开发的核心框架

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Scrum,你真的了解吗?相关的知识,希望对你有一定的参考价值。 似乎每个世纪都有它的“时代特征”。文艺复兴从哲学角度一直被称为冒险时代;十七世纪的理

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Scrum,你真的了解吗?相关的知识,希望对你有一定的参考价值。


似乎每个世纪都有它的“时代特征”。文艺复兴从哲学角度一直被称为冒险时代;十七世纪的理性时代过去之后,启蒙时代随之而来;十九世纪和二十世纪则分别是意识形态和分析时代;至于二十一世纪,显而易见,它的全球时代特征为复杂性。


敏捷是利用快速反馈来破解复杂性和不确定性,提升用低成本改变决策的适应能力,持续的交付最高客户价值。


Scrum是一个解决复杂问题的框架,让我们以迭代和增量的方式,在最短的时间内交付最大价值的产品。

Scrum,你真的了解吗?

Scrum是基于经验过程控制理论,或称之为经验主义。经验主义主张知识源自实际经验以及当前已知情况下做出的决定所获得。

透明检视适应是经验过程控制的三大支柱,支撑起每一个经验过程的实施。

透明

过程中的关键环节对于那些对产出负责的人必须是显而易见的。要拥有透明,就要为这些环节制定统一的标准,这样所有留意这些环节的人都会对观察到的事物有统一的理解。

例如:



  • 所有参与者谈及过程时都必须使用统一的术语。


  • 负责完成工作和检视结果增量的人必须对完成的定义,有一致的理解。


检视

Scrum的使用着必须经常检视Scrum的工件和完成sprint目标的进展,以便发现不必要的差异。检视不应该过于频繁而阻碍工作本身。当检视是由技能娴熟的检视者在工作中勤勉的执行时,效果最佳。

适应

如果检视者发现过程中的一个或多个方面偏离可接受范围以外,并且将会导致产品不可接受时,就必须对过程或过程化的内容加以调整。调整工作必须尽快执行才能最小化偏离。



Scrum框架是‍由Scrum团队以及与之相关的角色、事件、工件和价值观组成。框架中的每个部分都有其特定的目的,其对于Scrum的成功与使用是至关重要的。

Scrum,你真的了解吗?

Scrum价值观把角色、事件和工件组织在一起,管理它们之间的关系和交互。

Scrum,你真的了解吗?


Scrum角色

Scrum团队是由一名Product Owner、开发团队和一名Scrum Master组成。它是跨职能的自组织团队。

1、Product Owner 的职责是将开发团队开发的产品价值最大化



  • 描述愿景


  • 最理想是产品的客户


  • 管理产品的“Backlog”


  • 获得授权去做决策


  • 决定产品发布的日期和内容


  • 一个


  • 接受或退回成果


  • 需要时能被团队找到


  • ROI(投资回报)


  • 那个“可以掐的”脖子


‍‍‍2、Scrum Master 通过帮助每个人理解Scrum理论、实践、规则和价值来促进和支持Scrum



  • 没有权利


  • 确保Scrum被理解和遵循


  • 确保Scrum价值观、原则和规则被彰显


  • 影响力


  • 公仆式的领导者


  • 保护团队


  • 好的聆听者


  • Scrum价值观的典范


  • 教导/培训/辅导


  • 引导


  • 变革的代言人


  • 移除障碍


  • 确保Scrum运用的有效性


  • 苏格拉底式的提问者


3、开发团队包括各种专业人员,负责在每个sprint结束时交付潜在可发布并且“完成”的产品增量



  • 跨职能


  • 自组织


  • 通用的专才


  • 7+-26+-3


  • 在同一个场所


  • 没有职称(理想情况)


  • 没有子团队


  • 潜在可交付的产品增量


  • 专注(理想情况)


  • 所有需要的技能(来交付一个产品)



Scrum工件

Scrum工件以不同的方式表现工作任务和价值,可以用来提供透明以及检视和适应的机会。

1、Product Backlog(产品待办清单)是一份动态的有序列表,包含了符合产品愿景的各种功能,以及其他为用户带来价值的工作,它是产品需求变动的唯一来源。



  • 一个健康就绪的Product Backlog应当符合DEEP原则:



    • D –足够详细的描述


    • E –经过估算的


    • E –随着产品深入、动态调整


    • P –按优先级排列



  • Product Backlog Item通常采用User Story实践,并且应该符合INVEST原则:



    • I –独立性,降低User Story之间的依赖


    • N –可协商性,不应包含过多细节,具体细节应在沟通阶段产出


    • V –有价值,每个User Story应具有客户/市场价值


    • E –可估算性,团队可以进行估算,以安排计划


    • S –足够短小,足够聚焦


    • T –可测试性,用以确定是否符合验收标准



  • User Story:即用户故事,是使用简单的书面描述,定义一小片用户可以评估、验证的功能。


Scrum,你真的了解吗?

2、Sprint BacklogSprint待办清单)是一组为当前sprint选出的产品待办清单,同时加上交付产品增量和实现sprint目标的计划。



  • Team按照优先级顺序将PBI放入Sprint


  • 不能超过Team所能接受的规模


  • TeamPBI进行分解,形成SBI


  • 为确保持续改进,还应包括至少一条在上个回顾会议中识别出的最高优先级的过程改进项


  • 一个可视化的工具让团队在sprint内部自我管理


Scrum,你真的了解吗?

3、Product Increment(产品增量)是一个sprint完成的所有产品待办清单的总和,以及之前所有sprint所产生的增量的价值总和。



  • 必须是有价值的可交付的产品


  • 当前Sprint所完成的PBI,以及之前所有Sprint的增量价值之和


  • 符合事先设定的交付标准


  • PO负责评定




Scrum事件

Scrum使用固定的事件来产生规律性,以此来减少Scrum之外的其他会议的必要。


1、Sprint借鉴了极限编程中的“迭代”,不超过1个月的时间,建议1-2周,从而限制变化和风险。通常是定长的,有利于产生更好的交付节奏。一旦时间盒到期,sprint就立即结束。根据DoD定义,产品增量工作在每个sprint内完成。

Scrum,你真的了解吗?

注意:



  • 不去改变已承诺的Sprint目标,但范围有商讨余地


  • 不改变当前运行中的Sprint的长度不改变当前运行中的Sprint长度


  • 不牺牲质量




2、Sprint Planning(迭代计划会议)

Sprint中要做的工作在sprint计划会议中来做计划。这份计划是由整个srcum团队共同协作来完成的。Sprint计划会议是限时的,以一个月的sprint来说,最多8小时为上限。对于较短的sprint,会议时间通常会缩短。Scrum Master要确保会议顺利进行,并且每个参会者都理解会议的目的。

通常可分为上下半场来进行:

上半场:



  • 定义Sprint目标


  • 团队选择可以承诺完成的Sprint待办事项


  • PO对备选PBI进行详细描述,并与Team沟通细节


下半场:



  • 决定如何实现Sprint目标


  • TeamPBI进行拆分,形成SBI并完成估算


  • 大家对Sprint目标和计划达成共识



3、Daily Scrum(每日站立会)

每日站立会增进交流沟通、减少其他会议、发现开发过程中需要移除的障碍、突显并促进快速的做决策、提高开发团队的认知程度。这是一个进行检视和适应的关键会议。



  • 参数



    • 每日


    • 同一时间同一地点


    • 15分钟


    • 站立


    • 参与者:Team,其他角色可选



  • 主要内容



    • 昨天完成了什么?


    • 今天将要完成什么?


    • 遇到什么困难 / 风险?



  • 认领任务


  • 更新燃尽图


Scrum,你真的了解吗?

Scrum,你真的了解吗?

4、Sprint ReviewSprint评审)

Sprint评审会议在Sprint快结束时举行,用以检视所交付的产品增量并按需调整产品待办清单。



  • 演示可运行的工作产品


  • PO表明哪些“完成”的工作被接受了,哪些未完成的工作被退回了


  • 全员参与,SM要确保Sprint Review正常进行,并协调POTeam的矛盾


  • PO可以分享有关市场、预算、时间表、使用情况等信息。


5、Sprint RetrospectiveSprint回顾)

Sprint回顾会议是Scrum团队检视自身并创建下一个Sprint改进计划的机会。它发生在sprint评审会议结束之后,下个sprint计划会议之前。



  • 对我们如何工作(人、关系、过程、工具等)进行检视和调整


  • 在安全的环境中进行


  • 下一个Sprint的改进行动计划



另外,在下一个Sprint开始前,可以由团队、客户/干系人一起进行Product Backlog Refinement(产品待办清单梳理活动):



  • 促进开发团队更好的理解业务


  • 使PBI准备好以便完成,避免返工




Scrum价值观

当承诺、勇气、专注、开放和尊重五大价值观为Scrum团队所践行与内化时,Scrum的透明、检视和适应三大支柱成为现实,并且在每个人之间构建信任。Scrum团队成员通过Scrum的角色、事件和工件来学习和探索这些价值观。

Scrum的成功应用取决于人们变得更为精通践行五项价值观。人们致力于实现Scrum团队的目标。Scrum团队成员有勇气去做正确的事并处理那些棘手的问题。每个人专注于Sprint工作和Scrum团队的目标。Scrum团队及其利益相关者同意将所有工作和执行工作上的挑战进行公开。Scrum团队成员相互尊重,彼此是有能力和独立的人。


写在最后

Scrum的角色、事件、工件和价值观是不可改变的。虽然只实施部分的Scrum是可能的,但这样就不是Scrum了。Scrum只以整体形式而存在,唯其如此才能作为其他技术、方法和实践的容器运作良好。




我们是谁?



东软敏捷创新社区

东软敏捷创新社区由东软集团过程改善中心发起,旨在东软集团范围内传播精益/敏捷思想和价值观,推广精益/敏捷方法和实践,支持并推动组织敏捷转型









推荐阅读
  • 算术表达式分析与解析技术初探
    本文初步探讨了算术表达式的分析与解析技术,针对作者在职业转型过程中发现自身算法基础薄弱的问题,决定在接下来的三个月内,系统地学习和掌握常用数据结构与算法,以提升个人技术能力。研究内容不仅涵盖了基本的算术表达式解析方法,还深入讨论了其在实际应用中的优化策略,为相关领域的进一步研究奠定了基础。 ... [详细]
  • 本文深入探讨了MD5与SHA1哈希算法在实际应用中的表现及其安全性。通过对这两种算法的详细分析,揭示了它们在数据完整性验证和密码存储等方面的优势与局限。文章不仅介绍了算法的基本原理,还讨论了近年来针对这些算法的安全性攻击,并提出了改进措施和替代方案。希望读者能够通过本文对哈希算法有更全面的理解。 ... [详细]
  • 如何在DataGridView中实现带有图标的单元格显示
    本文详细探讨了在C# WinForms应用程序中,如何通过DataGridView控件实现带有图标的单元格显示。文章不仅提供了具体的实现方法,还深入解析了相关技术细节,对于希望提升用户界面交互体验的开发者而言,具有很高的参考价值。 ... [详细]
  • 开发技巧分享:利用套索与矩形选择工具高效选取绘图中的全部字形节点
    开发技巧分享:利用套索与矩形选择工具高效选取绘图中的全部字形节点 ... [详细]
  • 使用 Vue 集成 iScroll 实现移动端表格横向滚动与固定列功能 ... [详细]
  • MD5,即消息摘要算法5,是一种广泛应用于确保数据传输完整性的哈希算法。作为计算机领域常用的杂凑算法之一,MD5在多种主流编程语言中均有实现。此外,本文还详细解析了SHA、DES、3DES、AES、RSA和ECC等加密算法的基本原理和应用场景,为读者提供全面的加密技术概览。 ... [详细]
  • Spring 中获取 Request 的多种方式及其线程安全性的深入解析
    本文深入探讨了在Spring MVC框架下获取HTTP请求对象的多种方法,详细分析了每种方法的实现原理及其线程安全性,为开发者提供了全面的技术参考。 ... [详细]
  • 本文深入探讨了视图坐标与事件分发机制,详细分析了 `dispatchTouchEvent(MotionEvent event)` 和 `onTouchEvent(MotionEvent event)` 方法中 `event.getX()` 和 `event.getY()` 的具体作用及其在不同视图层级中的传递过程。通过实例解析,阐明了事件从触摸屏到具体视图组件的分发流程,帮助开发者更好地理解和优化用户交互体验。此外,文章还讨论了常见的事件分发问题及解决方案,为实际开发提供了宝贵的参考。 ... [详细]
  • 公共操作与表达式推导
    本文探讨了公共操作在数学表达式推导中的应用,分析了其在简化复杂公式和提高计算效率方面的关键作用。通过具体实例,展示了如何利用公共操作优化表达式的结构,为相关领域的研究提供了新的视角和方法。 ... [详细]
  • flask中蓝图的使用
    Blueprint概念 简单来说,Blueprint是一个存储操作方法的容器,这些操作在这个Blueprint被注册到一个应用之后就可以被调用ÿ ... [详细]
  • 通过Apache Commons FileUpload组件,可以根据具体应用需求实现多样化的文件上传功能。在基本应用场景中,开发者可以通过调用单一方法来解析Servlet请求,从而轻松处理文件上传任务。此外,该组件还提供了丰富的配置选项和高级功能,支持大文件上传、多文件并发处理等复杂场景,显著提升了文件上传的效率和可靠性。 ... [详细]
  • 题目1:给定一个非空数组A,包含有N个整数,起始下标为0。数组包含有奇数个元素,其中除了唯一一个元素之外,其他 ... [详细]
  • 一.问题汇总:折线图问题与解决折线图中的多条折线,怎么设置?怎么设置echarts的背景颜色?怎么设置X轴,Y ... [详细]
  • 本文深入探讨了 Python 中 `issubclass` 内置函数的功能与应用。该函数用于检查一个类是否为另一个类的子类(包括直接、间接或虚拟继承)。通过详细解析其工作原理和实际应用场景,帮助开发者更好地理解和使用这一重要工具。 ... [详细]
  • 在上一节中,我们完成了网络的前向传播实现。本节将重点探讨如何为检测输出设定目标置信度阈值,并应用非极大值抑制技术以提高检测精度。为了更好地理解和实践这些内容,建议读者已经完成本系列教程的前三部分,并具备一定的PyTorch基础知识。此外,我们将详细介绍这些技术的原理及其在实际应用中的重要性,帮助读者深入理解目标检测算法的核心机制。 ... [详细]
author-avatar
暧qs祢生
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有