软件开发平台 DevCloud软件开发平台 DevCloud

计算
弹性云服务器 ECS
裸金属服务器 BMS
云手机 CPH
专属主机 DeH
弹性伸缩 AS
镜像服务 IMS
函数工作流 FunctionGraph
云耀云服务器 HECS
VR云渲游平台 CVR
特惠算力专区
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
弹性文件服务 SFS
存储容灾服务 SDRS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属企业存储服务
云存储网关 CSG
专属分布式存储服务 DSS
CDN与智能边缘
内容分发网络 CDN
智能边缘云 IEC
智能边缘小站 IES
智能边缘平台 IEF
人工智能
AI开发平台ModelArts
华为HiLens
图引擎服务 GES
图像识别 Image
文字识别 OCR
自然语言处理 NLP
内容审核 Moderation
图像搜索 ImageSearch
医疗智能体 EIHealth
园区智能体 CampusGo
企业级AI应用开发专业套件 ModelArts Pro
人脸识别服务 FRS
对话机器人服务 CBS
视频分析服务 VAS
语音交互服务 SIS
知识图谱 KG
人证核身服务 IVS
IoT物联网
设备接入 IoTDA
设备管理 IoTDM(联通用户专用)
全球SIM联接 GSL
IoT数据分析 IoTA
路网数字化服务 DRIS
IoT边缘 IoTEdge
设备发放 IoTDP
IoT行业生态工作台
开发与运维
软件开发平台 DevCloud
项目管理 ProjectMan
代码托管 CodeHub
流水线 CloudPipeline
代码检查 CodeCheck
编译构建 CloudBuild
部署 CloudDeploy
云测 CloudTest
发布 CloudRelease
移动应用测试 MobileAPPTest
CloudIDE
Classroom
开源镜像站 Mirrors
应用魔方 AppCube
云性能测试服务 CPTS
应用管理与运维平台 ServiceStage
云应用引擎 CAE
视频
实时音视频 SparkRTC
视频直播 Live
视频点播 VOD
媒体处理 MPC
视频接入服务 VIS
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
资源管理服务 RMS
应用身份管理服务 OneAccess
区块链
区块链服务 BCS
可信跨链服务 TCS
可信分布式身份服务
智能协作
IdeaHub
开发者工具
SDK开发指南
API签名指南
DevStar
HCloud CLI
Terraform
Ansible
云生态
云市场
合作伙伴中心
华为云培训中心
其他
管理控制台
消息中心
产品价格详情
系统权限
我的凭证
客户关联华为云合作伙伴须知
公共问题
宽限期保留期
奖励推广计划
活动
容器
云容器引擎 CCE
云容器实例 CCI
容器镜像服务 SWR
应用编排服务 AOS
多云容器平台 MCP
基因容器 GCS
容器洞察引擎 CIE
云原生服务中心 OSC
容器批量计算 BCE
容器交付流水线 ContainerOps
应用服务网格 ASM
网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
数据库
云数据库 RDS
数据复制服务 DRS
文档数据库服务 DDS
分布式数据库中间件 DDM
云数据库 GaussDB (for openGauss)
云数据库 GaussDB(for MySQL)
云数据库 GaussDB NoSQL
数据管理服务 DAS
数据库和应用迁移 UGO
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
可信智能计算服务 TICS
推荐系统 RES
云搜索服务 CSS
数据可视化 DLV
数据湖治理中心 DGC
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
API网关 APIG
分布式缓存服务 DCS
分布式消息服务RocketMQ版
企业应用
域名注册服务 Domains
云解析服务 DNS
云速建站 CloudSite
网站备案
商标注册
华为云WeLink
会议
隐私保护通话 PrivateNumber
语音通话 VoiceCall
消息&短信 MSGSMS
云管理网络
SD-WAN 云服务
边缘数据中心管理 EDCM
云桌面 Workspace
应用与数据集成平台 ROMA Connect
ROMA资产中心 ROMAExchange
API全生命周期管理 ROMA API
安全与合规
安全技术与应用
DDoS防护 ADS
Web应用防火墙 WAF
云防火墙 CFW
应用信任中心 ATC
企业主机安全 HSS
容器安全服务 CGS
云堡垒机 CBH
数据库安全服务 DBSS
数据加密服务 DEW
数据安全中心 DSC
云证书管理服务 CCM
SSL证书管理 SCM
漏洞扫描服务 VSS
态势感知 SA
威胁检测服务 MTD
管理检测与响应 MDR
安全治理云图 Compass
认证测试中心 CTC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
专属云
专属计算集群 DCC
解决方案
高性能计算 HPC
SAP
混合云灾备
华为工业云平台 IMC
价格
成本优化最佳实践
专属云商业逻辑
用户服务
帐号中心
费用中心
成本中心
资源中心
企业管理
工单管理
客户运营能力
国际站常见问题
支持计划
专业服务
合作伙伴支持计划
更新时间:2021-03-18 GMT+08:00
分享

Scrum实践之冲刺

定义和特性说明

  • 定义

    Scrum框架是目前在敏捷圈内比较流行的,下图展示了Scrum框架实践的全景图。

    在Scrum框架中,工作在建议时间长度的迭代中循环做,这个迭代叫做冲刺。

    • 各个冲刺提交的工作内容必须是对用户和客户来说具有确定价值的交付物。通常来说,在每一个冲刺中,不可以对交付内容的人员和范围等目标做改变。各个冲刺要达到Scrum团队共同认同的完成定义,并且交付一个潜在的可以发布的产品增量。
    • 各个冲刺有固定的开始和结束时间,也就是冲刺应该在一个时间盒(Time Box)内。冲刺要短,长度建议2周到4周之间,每个冲刺的Time Box建议保持一样。
  • 特性说明
    • 时间盒

      每个冲刺以“时间盒”这个概念为基础,用它来安排工作执行情况和管理工作范围。时间盒的优点为,对积压的工作(WIP,Work in Process)设定数量限制,强制排列优先顺序、展示进度,避免不必要的完美主义,促进结束,增强可预测性。具体内容如下:

      1. 时间盒是设定WIP数量限制的技术:WIP是已经开始但还没有完成的工作清单,开发团队只开发自己认为在一个冲刺内可以开始并按时完成的工作事项,因此时间盒是为每个冲刺设定WIP数量限制。
      2. 时间盒可以强制排列优先级:我们需要先执行高优先级的工作,时间盒可以强制我们按优先级排序执行小批量工作,这样我们的注意力可以更集中于快速完成高价值的工作。
      3. 时间盒可以展示进度:时间盒可以展示我们需要多少个时间盒才能完成大特性的进度,帮助准确知道为交付整个特性还需要做多少工作。
      4. 时间盒可以避免不必要的完美主义:有时候团队会花过多的时间把事情做得“完美”。每个冲刺中,时间盒限定了一个固定的结束日期,通过这种方式强制结束可能无休止的工作。
      5. 时间盒可以促进结束:冲刺有明确的最后期限,这个期限不允许修改,这可以激发Scrum团队成员全力以赴按时完成冲刺内的工作。如果没有时间盒的限制,Scrum团队成员就不会有完成工作的紧迫感存在。
      6. 时间盒可以增强预测性:团队不预测后续长时间段内可以完成的工作,但是预测下个冲刺内能够完成的工作是可以做到的。
    • 短持续期

      每个冲刺持续期短有很多好处,持续期短的冲刺更容易规划、反馈快、错误有限、投入产出比(ROI,Return on Invest)高、有助于保持较高的参与热情、检查点多。具体好处如下:

      1. 持续期短的冲刺更容易规划:为短时间的工作范围做规划所需要的工作量,比给长时间的工作范围做规划的工作量要小得很多、结果更准确、可执行性更强。
      2. 持续期短的冲刺可以产生快速的反馈:快速反馈可以去掉不适宜的产品路径和开发方法,避免产生更多的不良质量成本(COPQ,Cost of Poor Quality),最重要的是快速反馈可以使团队更快速地发现和利用稍纵即逝的商机。
      3. 持续期短的冲刺投入产出比(ROI)更高:持续期短可以更早、更频繁地交付,有更多的机会快速投入生产,产生收入。
      4. 持续期短的冲刺所犯的错误是有限的:在短短1或2周的时间内,就算错了,全部搞砸了,也只是失去了短短的1或2周的时间,不会带来巨大的损失。坚持持续期短的冲刺能够进行频繁地试错、协调和反馈。
      5. 持续期短的冲刺有助于保持较高的参与热情:团队参与工作的热情、兴趣和兴奋程度会随着时间的拉长而越来越弱。如果一个项目时间过于长,人们看不到结果,那么显然人们会逐渐失去兴趣。持续期短的冲刺通过频繁快速的交付可用的工作产品,让参与者有满足感、操持较高的参与热情,便团队成员恢复兴趣并渴望继续完成冲刺的目标。
      6. 持续期短的冲刺能提供多个有意义的检查点:传统瀑布式开发有里程碑,例如分析、设计、编码、测试和运行,这些里程碑其实是一些不太靠谱的指标。Scrum在每个冲刺结束时会有一个有意义的检查点(冲刺评审会议),团队中的每个人可以根据展示的可以工作的特性做出判断和决策。有更多的检查点来检验和修正,我们就能更好地应对复杂的项目。
    • 一致长度

      每个冲刺的长度建议保持一致。

      一致的持续期更有节奏感。冲刺中,稳定的节奏感让团队中的成员进入最好的状态;稳定的节奏感使单调而必要的活动成为习惯,从而让团队成员留出心力,集中做有趣、增值的工作。比如,为期一年的开发工作中执行时间盒为2周的冲刺,那么对于接下来二十几个冲刺评审或冲刺回顾活动,我们可以在每个人的日程表发出一个重复发生的事件,否则每个冲刺评审或冲刺回顾需要额外花更多的精力去协调利益干系人的日程。

      一致的持续期还可以简化规划活动。长度一致的冲刺更容易计算出团队的速率,也可以简化剩余的计算活动。

    • 锁定目标

      每个冲刺需要锁定冲刺目标。

      Scrum框架有一个重要的原则:一旦制定冲刺目标,在冲刺执行开始后就不允许有任何变更对冲刺目标实际产生影响。冲刺目标是Scrum团队和产品负责人的共同承诺。Scrum团队承诺按时完成目标,产品负责人承诺在冲刺执行过程中不变更目标。虽然冲刺目标不应该有实质上的变更,但是允许澄清目标。在冲刺开始时,Scrum团队对PBI相关的细节不一定完全明确,在冲刺执行中提供更多的澄清是合理的。变更冲刺目标会引起浪费,损害团队的士气和信任。

      “锁定目标”是一个规则,并不是铁律。Scrum团队在遵守“锁定目标”的同时还要注实效。如果变更冲刺目标造成的经济后果远远小于推迟变更所造成的经济后果,那么就应该选择适时变更。假如冲刺的目标变得完全无效,可以选择终止当前冲刺,终止冲刺是不得已而为之的最后手段。终止冲刺后,Scrum团队应该决定下一个冲刺的长度,尽量考虑节奏重新同步。

    • 定义完成

      每个冲刺需要有团队共同认同的完成的定义(DOD,Definition of “Done”),完成的定义可以随时间演变。例如,很多情况是软件开发的人说:“硬件总是很晚才到位!”像这种情况,如果一个团队构建软件而没有硬件做测试,不能声称在每个冲刺结束时产生的结果是潜在可发布的,需要灵活变通处理完成的定义。引入冲刺的每个PBI都应该有一组由产品负责人指定的完成的定义,或者称之为接收标准(AC,Acceptance Criteria)。这些接收标准在接收测试中进行验证,产品负责人会确认AC是否全部满足。

案例说明

  • 常见问题
    1. 如何增强团队工作紧迫感,完成冲刺内的任务?
    2. 团队无能力预测下一个冲刺可以完成的工作容量,如何增强预测能力?
    3. 只有在冲刺活动中才有时间盒吗?
  • 解决方法
    1. 强调时间盒的概念,团队成员有时间盒的意识,借助时间盒设定冲刺中WIP的数量,设定优先级,强制完成时间,防止无休止的工作。团队务必明确冲刺目标及完成定义。每个冲刺需要由团队共同确定目标,共同定义“完成”的标准。只要完成了定义的“完成”就可以认为完成了冲刺内的任务。
    2. 时间盒可以增强预测性。团队不预测后续长时间段内可以完成的工作,但是预测下个冲刺内能够完成的工作是可以做到的。
    3. 时间盒在Scrum中多处被体现出来,只是有的团队为了赶任务而被忽略。总结起来大概有如下图时间盒或许更多,通常建议如下:
      • 一个冲刺在2到4周。
      • 冲刺计划会议控制在2到4小时。
      • 站立会议控制在15分钟之内。
      • 冲刺评审会议控制在2小时之内。
      • 冲刺回顾会议控制在30分钟之内。
      • 产品经理要提前准备1到2个冲刺的PBI。

      以上并不是绝对要求,只是阐述通常情况下的选择。

  • 主要收益

    短期快速稳定节奏交付可以快速试错、协调和反馈、把握商机、降低COPQ、提高ROI、增强团队成员参与热情、提高可执行性、更好地应对复杂项目,并相对容易对近期工作做出预测和判断。

文章来源:

分享:

    相关文档

    相关产品

关闭导读