《SAFe 4.0参考指南:精益软件与系统工程的规模化敏捷框架》一2.4 原则#4——通过快速集成学习环,进行增量式构建

简介:

本节书摘来自华章出版社《SAFe 4.0参考指南:精益软件与系统工程的规模化敏捷框架》一书中的第2,第2.4节 作者[美]迪恩·莱芬(DeanLeffingwell),更多章节内容可以访问云栖社区“华章计算机”公众号查看。


2.4 原则#4——通过快速集成学习环,进行增量式构建

产品的集成点,是控制产品开发和提升系统的关键支点(杠杆点)。如果没有处理好集成点的时间,项目就会陷入困境。

——Dantar P. Oosterwal

增量式构建系统

在传统的方法中,根据“阶段–门限”进行开发,项目一开始就立刻投入成本,随后成本逐渐累积直到最终方案得以交付。通常,在项目执行期间极少交付实际价值,而是直到所有功能完成后才在最后一次性交付价值,有时候项目也会面临时间延期或者成本超支的问题。在开发过程中,一般很难收集到有意义的反馈,因为流程并不支持反馈收集;而且系统也并没有按照客户需求和能力的逐步提升进行相应的增量式设计和实现。风险在项目执行中会一直存在,直到项目结束,有时候甚至会进入到部署和客户最初使用环节。这种流程所导致的错误和问题,往往会破坏系统构建者和客户之间的信任关系。其实,系统构建者和客户也在努力调整这些问题,他们会在项目早期进行需求定义,并选择“最好的”设计,他们也会执行更加严格的“阶段–门限”评审。但是,使用这种流程所生成的解决方案,总会产生一些潜在的问题。这是开发流程中存在的一个系统级别的问题,所以必须从系统化的角度去解决这个问题。

集成点可以从不确定性中获取知识

精益系统构建者解决问题的方式与上述方法有所不同,他们并不是在项目早期选择单一的需求和设计方案,也并不假设这些设计是完全可行和满足要求的,相反,他们会基于一定范围的需求和多种设计选项(原则#3)进行一系列短周期(时间盒)的增量式解决方案构建。每一个时间盒都会产出一个可工作系统的增量,可以交给系统构建者和客户进行评审。后续的时间盒会在之前增量的基础上,逐渐交付演进的解决方案,直至最后发布。在集成点上,获取经验知识不仅仅是为了技术可行性研究,也可以得到最小可行解决方案或者原型,供市场验证、建立可用性、获取客户反馈等。在必要的地方,这些快速反馈点允许系统构建者找到一个采取下一步方案的“支点”,从而可以更好地服务于目标客户的需要。

根据意图设置集成点

基于节奏的集成点逐渐成为系统构建者的主要关注焦点,它可以根据特定的目标设计相应的开发流程和解决方案架构。每一个集成点都会创建一个“拉动事件”,拉动各种方案要素进行整体集成,即使只解决了系统的一部分目标也会进行集成。集成点也会将利益相关者拉动到一起,定期的同步有助于确保方案的演进,从而解决真正的问题和当前的业务需要,而不是仅仅依赖于在项目开始时建立起来的假设。每一个集成点都会根据技术可行性和当前的设计选项,将不确定性转化成经验知识,进而交付一定的价值,而且对于解决方案潜在可行性的经验知识,都是基于目标进行度量的(原则#5)。

通过更快的周期进行更快的学习

集成点是休哈特(shewhart)PDCA(Plan-Do-Check-Adjust)循环(参考资料[3])的一个实例,因此它可以作为控制解决方案开发中变异性的主要机制。

集成点越频繁,学习速度就越快。在复杂系统开发中,本地集成点用于确保系统中的每个元素和能力都能够服务于满足整体解决方案的目标,它也必须进一步集成到更高的系统级别中。系统规模越大,集成的层级就越多。系统构建者们明白:最高层级的、发生频率最低的集成点,提供了度量系统进展的唯一标准,他们也在努力尽可能多地实现这些集成点。所有的利益相关者也明白:如果集成点的时间没有控制好,项目就会陷入困境。但是即便是这样,及时获取经验知识也会有助于促进对范围、技术方法和成本的必要调整,也有助于更新交付时间让项目可跟踪,从而调整客户的预期。

参考资料

[1] Oosterwal, Dantar P. The Lean Machine: How Harley-Davidson Drove Top-Line Growth and Profitability with Revolutionary Lean Product Development. Amacom, 2010.

[2] Ward, Allan C. and Durward Sobek. Lean Product and Process Development. Lean Enterprise Institute Inc., 2014.

[3] Deming, W. Edwards. Out of the Crisis. MIT Press, 2000.

相关文章
|
3月前
|
缓存 Devops jenkins
专家视角:构建可维护的测试架构与持续集成
【10月更文挑战第14天】在现代软件开发过程中,构建一个可维护且易于扩展的测试架构对于确保产品质量至关重要。本文将探讨如何设计这样的测试架构,并将单元测试无缝地融入持续集成(CI)流程之中。我们将讨论最佳实践、自动化测试部署、性能优化技巧以及如何管理和扩展日益增长的测试套件规模。
60 3
|
4天前
|
人工智能 数据挖掘 API
R2R:开源的 RAG 集成系统,支持多模态处理、混合搜索、知识图谱构建等增强检索技术
R2R 是一款先进的 AI 检索增强生成平台,支持多模态内容处理、混合搜索和知识图谱构建,适用于复杂数据处理和分析的生产环境。
43 3
R2R:开源的 RAG 集成系统,支持多模态处理、混合搜索、知识图谱构建等增强检索技术
|
20天前
|
人工智能 数据可视化 JavaScript
NodeTool:AI 工作流可视化构建器,通过拖放节点设计复杂的工作流,集成 OpenAI 等多个平台
NodeTool 是一个开源的 AI 工作流可视化构建器,通过拖放节点的方式设计复杂的工作流,无需编码即可快速原型设计和测试。它支持本地 GPU 运行 AI 模型,并与 Hugging Face、OpenAI 等平台集成,提供模型访问能力。
96 14
NodeTool:AI 工作流可视化构建器,通过拖放节点设计复杂的工作流,集成 OpenAI 等多个平台
|
5天前
|
运维 监控 Cloud Native
构建深度可观测、可集成的网络智能运维平台
本文介绍了构建深度可观测、可集成的网络智能运维平台(简称NIS),旨在解决云上网络运维面临的复杂挑战。内容涵盖云网络运维的三大难题、打造云原生AIOps工具集的解决思路、可观测性对业务稳定的重要性,以及产品发布的亮点,包括流量分析NPM、网络架构巡检和自动化运维OpenAPI,助力客户实现自助运维与优化。
|
26天前
|
DataWorks 数据挖掘 大数据
方案实践测评 | DataWorks集成Hologres构建一站式高性能的OLAP数据分析
DataWorks在任务开发便捷性、任务运行速度、产品使用门槛等方面都表现出色。在数据处理场景方面仍有改进和扩展的空间,通过引入更多的智能技术、扩展数据源支持、优化任务调度和可视化功能以及提升团队协作效率,DataWorks将能够为企业提供更全面、更高效的数据处理解决方案。
|
2月前
|
机器学习/深度学习 算法 Python
随机森林算法是一种强大的集成学习方法,通过构建多个决策树并综合其结果进行预测。
随机森林算法是一种强大的集成学习方法,通过构建多个决策树并综合其结果进行预测。本文详细介绍了随机森林的工作原理、性能优势、影响因素及调优方法,并提供了Python实现示例。适用于分类、回归及特征选择等多种应用场景。
60 7
|
2月前
|
关系型数据库 MySQL PHP
PHP与MySQL的无缝集成:构建动态网站的艺术####
本文将深入探讨PHP与MySQL如何携手合作,为开发者提供一套强大的工具集,以构建高效、动态且用户友好的网站。不同于传统的摘要概述,本文将以一个生动的案例引入,逐步揭示两者结合的魅力所在,最终展示如何通过简单几步实现数据驱动的Web应用开发。 ####
|
2月前
|
消息中间件 Java Kafka
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
58 1
|
2月前
|
XML 存储 Java
SpringBoot集成Flowable:构建强大的工作流引擎
在企业级应用开发中,工作流管理是核心功能之一。Flowable是一个开源的工作流引擎,它提供了BPMN 2.0规范的实现,并且与SpringBoot框架完美集成。本文将探讨如何使用SpringBoot和Flowable构建一个强大的工作流引擎,并分享一些实践技巧。
214 0
|
3月前
|
存储 JavaScript 前端开发
使用 Openkoda 构建具有 ClickUp API 集成的时间跟踪应用程序
使用 Openkoda 构建具有 ClickUp API 集成的时间跟踪应用程序
45 0

热门文章

最新文章