热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

【Scrum】借由数个冲刺,实现产品的敏捷开发!

在敏捷开发过程中,一个产品或者一个发布版本通常是由多个冲刺来实现的,每个冲刺都能增量交付可运行的系统功能,实现客户价值。每个冲刺都是从冲刺

在敏捷开发过程中,一个产品或者一个发布版本通常是由多个冲刺来实现的,每个冲刺都能增量交付可运行的系统功能,实现客户价值。每个冲刺都是从冲刺规划开始,团队成员一起商定冲刺目标和明确交付的系统功能,并进行冲刺执行,实现系统功能,再通过冲刺评审和回顾对实现的产品功能和过程进行检视,期望在下一冲刺过程中对产品功能和过程进行改进和完善。

 

冲刺流程

冲刺包括冲刺规划冲刺执行冲刺评审冲刺回顾四大过程。冲刺是从规划开始,团队成员必须就本次冲刺的目标和计划达成共识,全体成员在整个冲刺过程按照既定的计划奔着这个目标前进,每天对取得的成果和面临的问题进行沟通讨论。冲刺结束阶段,在冲刺评审活动中召集相关利益相关方一起演示产品功能并获得反馈,获得的反馈是产品列表和下一阶段冲刺规划内容的重要来源。在冲刺回顾活动中,全部团队成员对冲刺执行过程进行检视和讨论,抓住其中存在的问题并讨论优化方案,在下一个冲刺进行改善和优化,实现冲刺过程的优化和冲刺执行效率的提升。

 

冲刺规划

一般情况下,是在每个冲刺的开始阶段进行冲刺规划,因为在这个时间点上,能充分利用已掌握的信息最出最优的决策。冲刺规划过程时间的长度根据冲刺的长度而定,占用整个冲刺的5%左右时间是比较合理的,比如两周的冲刺应该控制在4小时以内,一个月的冲刺应该控制在8小时以内。

 

冲刺规划过程应该由整个团队协作完成,产品负责人从现有的产品列表清单中选取清单项,提出冲刺的初步目标,并负责解释开发团队针对选取的产品清单项提出的任何疑问。开发团队对冲刺内可交付的工作清单进行评估,并在规划结束时做出最终的承诺。Scrum Master作为教练,参与和观察整个过程,提出可能的风险点,引导和帮助开发团队做出有效的承诺。

 

在冲刺规划过程中,基本的流程是:

 

冲刺规划过程结束时,最终获取冲刺目标和冲刺清单,开发团队为此目标和任务清单做出承诺,并在接下来的冲刺执行中为此目标而努力。

 

冲刺执行

冲刺执行包括了交付一个增量可发布的产品而必须完成的所有工作,其本身就像一个超小型的项目,冲刺执行过程占用了冲刺大部分时间,比如两周的冲刺中,冲刺执行占用10天中的8天,所以冲刺执行过程对冲刺目标的顺利完成至关重要。冲刺执行包含了规划、管理、执行和沟通等工作:

 

01 规划

冲刺执行规划可以对冲刺清单中的重要工作项进行依赖关系的梳理,但不需要做详细的执行计划,比如一个甘特图,因为这可能是在浪费时间。团队不仅仅浪费了制作计划的时间,还浪费了更多时间试图将计划调整为反映真实执行情况。冲刺执行规划的原则是见机行事,逐步明确任务规划,这个活动是一个持续性的,贯穿整个冲刺执行过程。

 

02 管理

冲刺执行管理是保证为达成冲刺目标而进行的管理活动。开发团队的特点决定了管理风格。冲刺执行管理具体来说要解决以下几个问题:

 

  • 应该并行几个工作项?并行太多的工作项,团队成员会在不同工作项中切换,造成浪费;并行的工作项太少也会造成资源闲置浪费,适量的并行数量,力求充分利用团队的生产能力,而又不至于过于繁重,达到合理的平衡,这需要每个团队根据自身的能力和特点来实践和探索。

 

  • 从哪个工作项开始?最简单的方法应该是按优先级的排序从高到低依次进行,但是在具体执行过程中可能会碰到各种问题导致优先级高的工作项暂时无法开始,这种情况下也可以开始次高优先级的工作。

  • 由谁来做?最明显的答案是由那个能完成得最好最快的人去做。但是每个团队有自己的考虑因素,比如最合适的人可能在忙于其他的工作抽不开身,或者他可能正在休假中,甚至从团队发展的角度考虑,可以给其他成员锻炼机会,以达到团队成员在各项技能上的重叠,互为补充。

 

  • 每日例会是一个关键的每日检视-调整活动,时间控制在15分钟以内,主要目的是检视、调整和同步每日工作计划,帮助团队把工作做得更好。

 

03 执行

进行Scrum敏捷软件开发,团队成员需要熟练一些应用软件开发技术实践,比如持续集成、自动化测试、重构、测试驱动开发等,这些技术实践会给开发团队提出较高的要求,在短期内会对开发团队造成进度或其他方面的压力,但是长期来看,只有积极运用这些良好的技术实践,才能切实体验到敏捷的好处。

 

04 沟通

敏捷团队一般是足够小的团队,小团队成员的沟通不需要复杂的图表和报告来沟通工作进展,推荐使用以下方法和工具:

 

任务板:显示冲刺清单随时间的任务状态.

冲刺燃尽图:显示未完成任务的剩余工作量曲线。

冲刺燃烧图:显示达成冲刺目标过程中所完成的工作量曲线。

 

冲刺评审

冲刺评审过冲关注的重点是产品,即关注的是结果,对冲刺执行期间完成的工作成果进行检视,参与的人员包括Scrum团队、内部利益干系人和外部利益干系人等。评审开始前的一项重要准备工作是确认冲刺工作完成,这项工作是由产品负责人来做,他最终确认冲刺清单中的工作项是否完成,确认的时机不是等到评审前最后一刻,可以冲刺执行过程中尽早确认,这样会及早发现问题,赢得补救的时间。

 

冲刺评审过程中采用的方法包括:

 

01 总结

通常由产品负责人对本次冲刺的工作进行概括性说明,并展示冲刺目标和冲刺清单,说明完成的产品增量的基本情况。

 

02 演示

由开发团队成员演示已完成的系统功能,对于不那么容易演示的功能(比如后台运行的程序)至少要提供一些测试程序来证明已完成的工作满足产品负责人的要求。需要注意的演示本身不是目的,演示的目的是激发团队成员的思维碰撞,提出更有建设性的建议和反馈。

 

03 讨论

产品增量演示引导参与者就产品功能或目标等方面进行评论、建立和适当的讨论,如需要更深入的问题方案的讨论,应该另外进行会议独立进行。

 

04 调整

通过演示和讨论,会产生一些变更或新增的需求,这些变更和需求会对产品清单和下阶段的冲刺清单带来调整,通过梳理之后,在每次冲刺结束的时候会得到更新后的产品清单,可以在接下来的冲刺中及时响应变化。

 

冲刺回顾

冲刺回顾关注的是产品构建过程本身,即关注的是过程。团队一起回顾冲刺过程中发生的事情,分析自己的工作方式,找出可能存在的问题点,提出改进方案和制定改进计划。每次进行冲刺回顾前,可以先定义回顾的重点内容,以免过于分散。在回顾会议中,需要确保营造“对事不对人”的氛围,回顾的目的在于改进过程,而非指责某个人员。回顾结束时,让团队成员跟进并落实改进措施,使得团队在下阶段的冲刺中更加高效。

 

总结

冲刺包括了整个产品或项目开发和管理中的多数的时间和活动,是产品功能实现的主要环节。本文尝试从冲刺规划、冲刺执行、冲刺评审和冲刺回顾四个过程的角度,全方位探讨了冲刺涉及的所有活动和工作内容,希望可以对敏捷团队在冲刺过程的执行中有所启发和帮助。

作者:李灏 

 

其他优质文章

从我们多年项目实践中,告诉您企业为什么要做IT运维管理转型?

Linux | 文件的时间属性

企业如何规划DevOps落地与演进?

ZooKeeper | 安装部署、应用场景、开发对接API

【银行运维】落地平台化管理,大步迈向银行4.0


推荐阅读
  • 本文介绍了通过动态端口技术增强Windows远程管理(WinRM)及OpenSSH服务的安全性方案。此方案旨在提高服务器抵御DDoS攻击的能力,并减少因固定端口暴露而带来的安全风险。 ... [详细]
  • 科研单位信息系统中的DevOps实践与优化
    本文探讨了某科研单位通过引入云原生平台实现DevOps开发和运维一体化,显著提升了项目交付效率和产品质量。详细介绍了如何在实际项目中应用DevOps理念,解决了传统开发模式下的诸多痛点。 ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 解决U盘安装系统后无法重启的问题
    本文详细探讨了运维新手常遇到的U盘安装系统后无法正常重启的问题,提供了从问题分析到具体解决方案的完整步骤。通过理解Boot Loader的工作原理和正确配置启动项,帮助用户顺利解决问题。 ... [详细]
  • Kubernetes 持久化存储与数据卷详解
    本文深入探讨 Kubernetes 中持久化存储的使用场景、PV/PVC/StorageClass 的基本操作及其实现原理,旨在帮助读者理解如何高效管理容器化应用的数据持久化需求。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • 本文探讨了现代分布式架构的多样性,包括高并发、多活数据中心、容器化、微服务、高可用性和弹性架构等,并介绍了与这些架构相关的重要管理技术,如DevOps、应用监控和自动化运维。文章还深入分析了分布式系统的核心概念、主要用途及类型,同时对比了单体应用与分布式服务化的优缺点。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 本文详细介绍了 Kubernetes 集群管理工具 kubectl 的基本使用方法,涵盖了一系列常用的命令及其应用场景,旨在帮助初学者快速掌握 kubectl 的基本操作。 ... [详细]
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • 解读 DevOps:开发与运维的融合之道
    近年来,随着信息技术的快速发展,DevOps作为一种新的IT管理理念逐渐受到重视。本文将探讨DevOps的核心概念及其对现代企业的重要意义。 ... [详细]
  • 本文详细介绍了如何在 Android 中使用值动画(ValueAnimator)来动态调整 ImageView 的高度,并探讨了相关的关键属性和方法,包括图片填充后的高度、原始图片高度、动画变化因子以及布局重置等。 ... [详细]
author-avatar
gloriamm_520
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有