发布管理是敏捷实践中交付价值的重要环节,本节敏捷实践案例将为大家分享:如何在增强业务感知的同时降低缺陷率,如何通过“缩短发布周期”解决需求交付时间较长和上线后缺陷较多的难题。
本实践节选自《2021中国企业敏捷实践白皮书》(点击可下载),分享者为黄世荣,是来自启迈检验(深圳)有限公司的 Scrum Master。
问题:
业务侧经常反馈需求交付时间长、响应慢,上线后生产缺陷多。
问题成因:
1.多个团队做同一个产品研发,开发周期长容易导致代码冲突暴增,增加集成时间;
2.开发周期越长,代码量变更范围越多,集成测试时测试压力越大,容易出现潜在缺陷被漏测。
敏捷实践:
基于上述问题做出调整,并将该实践称之为“每周发布”:
-
把用户故事尽量细分,对于大而复杂的需求,要在更早期的分析和规划阶段就引入探针;
-
将开发、测试、验收环境独立,避免混用和争用;
-
通过 DevOps 平台快速建立持续发布流水线,自动集成、部署、逐步实施分层自动化测试;
-
业务频繁参与演示,及时纠偏;
-
持续监测发布后的生产情况。
实践结果:
需求可以做到每周发布,业务感知更明显、满意度也得到很大提升; 生产质量改善明显,生产缺陷减少了35%以上。
总结:
持续发布实践很好地诠释了如下两条敏捷原则:“我们最重要的目标,是通过及早和持续不断地交付有价值的软件使客户满意。”、“经常地交付可工作的软件,相隔几星期或⼀两个月,倾向于采取较短的周期。”
持续发布提升企业竞争力
龚明杰
专家平安科技 敏捷教练
敏捷发布是研发团队把价值交付到用户手中的过程,用户可以真正体验产品、并获得能力。随着数字化时代的到来,企业寄希望借助数字技术提升竞争力的诉求更加迫切,而这直接体现就是快速、可靠的持续价值交付要求,因此,持续发布本质上体现了团队的持续集成、持续部署、自动化等工程能力,以及质量保障能力、风险控制能力、响应变化的能力等。
本次调研中,有三分之⼀的企业能够依照DevOps实践建立适合⾃身的持续发布能力,并正在持续深化。说明最近几年,很多企业都在大力投⼊构建持续交付方面的能力,但仍有近4成的企业团队相对落后不少。在上述案例中,“每周发布〞的实践成效较为显著也较为典型,一方面可以提升业务的价值感知、快速支持业务变化;另一方面也可以降低代码的复杂度、测试难度,改善生产质量,可谓一举两得。
根据以往实践经验,在如何提升持续发布能力方面有个不错的实践推荐——每日预发布:
-
首先准备一个类生产环境、数据是生产快照,代码采用主干开发,分支发布策略,每个版本创建一个预发布分支,通过Jenkins等工具建立预发布流水线;
-
然后,在开发过程中,将每天测试通过的新增代码,摘选合并到预发布分支,打包部署到测试环境进行测试,通过后发布至类生产环境,按需(未完全可用的功能通过特性开关关闭)对用户代表通知,用户可以随时登陆验证;
-
最后将发布过程中的耗时和质量问题记录下来,逐步解决,比如Sonar的代码扫描太耗时且问题发现靠后,就在IDE内置插件,编写时及时纠正,后端修改经常出现关联缺陷且测试工作量大,就将服务测试全部自动化,能力比较强后,服务平台直接发布生产黑启动等。
除此以外,建议大家也同时向前看,特别是传统企业,可引入Design Thinking、精益产品设计、用户故事地图等一些实践,让高价值需求先具备可持续发布性,然后构建起端到端的持续交付能力,否则,持续发布流水线可能会成为没有水的沟渠或者污水横流。
推荐阅读:
Scrum 开发指南: Scrum 框架详解 | Scrum 四个会议及正确召开方式 | 正确的计划和执行Sprint的方式 | 做好迭代计划的4大关键点 | 做好这4点让每日站会更适配敏捷团队 | 开好迭代评审会的3个关键步骤 | 为什么要召开迭代回顾会 | Scrum 3大角色及其岗位的具体职责 | Scrum三大工件在敏捷开发中的作用 | 2022年14个最佳 Scrum 敏捷项目管理软件 | 更多
Kanban 敏捷指南: 使用看板(Kanban)管理方法的5大好处 | 看板 VS Scrum:如何选择? | 看板和 Scrum 的混合模式适合在哪些场景使用 | 更多
规模化敏捷: 规模化敏捷的价值及五大规模化敏捷框架 | 规模化敏捷之 Spotify 模型 | 规模化敏捷框架之LeSS框架 | SAFe 规模化敏捷框架 | Scrum@Scale 模型 | 敏捷项目组合管理 | OKR与敏捷开发 | 更多
产品管理: 如何构建合格的产品路线图 | 如何成为一个优秀的产品经理 | 敏捷路线图的重要性以及构建 | 如何构建简单有效的产品需求文档 | 利用 NPS 确定功能优先级 | 每个产品经理都需要了解的产品分析技能 | 更多