Skip to main content

6、持续交付中的探索验证环

Y-aong...About 6 mindevopsdevops

6、持续交付中的探索验证环

一、什么是持续交付

《持续交付2.0》是一本由乔梁所著的书籍,它深入探讨了如何在现代软件开发环境中实施持续交付。

持续交付是建立在“可持续地快速发布软件服务”和“最小化可行产品”两种理念基础之上,强调要以业务为导向,从一开始就将业务问题进行分解,并通过不断的科学探索与快速验证,减少浪费的同时,快速找到正确的业务前进方向。其涉及组织中的多个团队,需要各个团队之间紧密合作。

“持续交付”的4个核心工作原则是坚持少做、持续分解问题、坚持快速反馈和持续改进并衡量。只有这样,才能不断缩短持续交付“8”字环的运行周期,提升用户反馈速度,从而提高业务的敏捷性。这要求管理者跳出原有软件交付管理思维模式,摆脱“害怕失败”的恐惧感,拥抱“科学探索—快速验证”思维方法,快速试错,提升持续交付能力,进而发展现有业务,并快速开创新业务。

二、探索环和验证环

image-20250317101651068
image-20250317101651068

阅读《持续交付2.0》,我对DevOps文化和持续交付有了更深层次的理解,尤其是书中提出的探索验证8字环模型,给我留下了深刻的印象。这个模型不仅提供了一种新的视角来看待软件开发过程,而且也揭示了如何有效地结合DevOps实践来加速价值传递,同时确保产品质量。

探索环

探索环中的四个关键环节——提问、锚定、共创和精炼,为团队提供了一个结构化的方法来识别问题并寻找解决方案。首先,“提问”鼓励团队质疑现状,识别出需要改进的地方;其次,“锚定”帮助设定明确的目标,让团队有一个清晰的方向;然后,“共创”促进团队成员之间的合作,利用各自的专业知识共同设计解决方案;最后,“精炼”则是对这些方案进行优化和完善,确保它们能够被实际应用。

探索环中有3个基本原则分别为

  • 分解并快速试错。将大问题分解为小问题,快速试错
  • 一次验证一点。每次只验证一个假设,避免过度复杂
  • 允许失败。勇于尝试,从失败中学习

验证环

与探索环相辅相成的是验证环,它包括构建、测试、部署和监控等步骤。这一环强调了通过自动化的手段来加快软件从开发到上线的过程,并通过实时监控来保证系统的稳定性和可靠性。这种闭环式的反馈机制使得团队能够快速响应变化,及时调整策略以适应新的需求或挑战。

  • 构建环节是将自然语言的描述转换成计算机可执行的软件,即“质量达标的软件包”
  • 运行环节的任务就是将软件包部署于生产环境,并让它对外提供服务
  • 监测环节收集数据,并统计展现结果、及时发现生产系统问题以及业务指标的异常波动,并做出适当的反应
  • 决策是指收到真实的业务数据反馈结果后,根据探索环中已确定的相应衡量指标进行对比分析,从而验证是否符合最初的预期

验证环的目标是让质量可靠的解决方案以最快的速度到达客户手中,从而收集并分析真实的反馈。验证环的主要工作内容是将最小可行性解决方案从描述性语言转换成可运行的软件包,并将其部署到生产环境中运行,准确收集相关数据并呈现,以便团队根据相关数据做出判断和决策。

三、关于验证环四个工作原则的思考

质量内建、消除等待、重复事务自动化和监测一切是验证环的四个工作原则。这些原则不仅为提高软件交付的速度和效率提供了指导,同时也强调了确保产品和服务质量的重要性。

1、质量内建

书中提到的第一个原则是“质量内建”,这一理念彻底改变了我对软件质量的看法。传统上,质量保证往往被视为开发流程的最后一环,通常由专门的测试团队来执行。然而,《持续交付2.0》提出应该从项目的最初阶段就将质量作为核心考虑因素,并通过全员参与的方式在整个开发过程中持续关注和提升产品质量。这种方法不仅能够减少后期修复错误的成本,还能显著提高客户的满意度。

2、消除等待

第二个原则是“消除等待”。任何项目中不可避免地会存在各种各样的等待时间,比如等待代码审查、等待环境准备或是等待测试结果等。这些等待时间不仅降低了工作效率,还可能导致团队士气低落。书中提倡通过优化流程、增加并行任务以及利用技术手段(如自动化)来尽可能地减少或消除这些不必要的等待时间,从而加快整个交付过程。

3、重复事务自动化

第三个原则,“重复事务自动化”,则是指对于那些重复性高且容易出错的任务应尽量实现自动化。这包括但不限于构建、部署、测试等环节。自动化的引入不仅能极大提高工作效率,降低人为错误的可能性,同时也有助于建立一个可靠且可重复的交付流程,这对于快速迭代和响应市场变化至关重要。

4、监测一切

最后一个原则是“监测一切”。在这个数据驱动的时代,有效的监控系统对于及时发现问题、快速定位故障原因以及保障服务稳定性具有不可替代的作用。书中强调了不仅要监测应用本身的性能指标,还需要关注基础设施健康状况、用户行为等多个维度的数据。通过对这些信息的分析,可以帮助团队做出更加明智的决策,进一步提升产品质量和服务水平。

总的来说,《持续交付2.0》为我们提供了一套非常实用的工作指南,尤其是验证环的四个工作原则,它们不仅是理论上的建议,更是可以直接应用于日常工作中的有效策略。这本书使我认识到,在追求高效交付的同时,保持高质量标准同样重要,而这一切都需要团队成员之间的紧密协作以及对最新技术和工具的灵活运用。通过学习这些原则,我相信可以更好地应对未来的挑战,推动软件开发向更高的层次发展。

Comments
  • Latest
  • Oldest
  • Hottest
Powered by Waline v2.15.8