当前位置: 首页 > news >正文

DevOps赋能:优化业务价值流的实战策略与路径(上)

上篇:价值流引领与可视化体系构建

一、前言

在快速迭代的软件项目和产品开发生态中,我们始终围绕两个核心目标:一是确保每一项工作都能为客户创造实际价值,这是产品团队的核心使命;二是确保这些有价值的工作能够高效、顺畅地执行,而价值流理念正是实现这一目标的金钥匙。价值流,作为DevOps及精益生产的核心理念,它引导我们从客户需求和价值创造的角度出发,全面审视并优化企业的业务流程。价值流映射,作为一种强大的可视化工具,能够深入剖析工作流程的每个环节,揭示潜在问题,并为优化提供明确的方向。

在产品开发领域,真正的挑战不在于资源的分配,而在于价值的流动。单纯的过程迭代和任务执行,并不能确保价值的快速交付和灵活应变。因此,我们需要将关注的焦点从资源效率转向流动效率,这是精益产品开发的根本所在。

1.1 价值流的作用与优势

  • 可视化软件过程,软件项目相较于传统项目,其过程往往更加复杂且难以直观理解,尤其是当团队规模较大、职位层次较高且领导对业务理解不够深入时,更容易出现管理上的盲区。价值流通过可视化手段,将软件过程中的价值流转和项目管控等环节清晰地展示出来,帮助管理者和团队成员更好地理解项目进展和存在的问题。

  • 促进跨部门协作,价值流的可视化特性使得问题瓶颈一目了然,这有助于打破部门间的壁垒,促进各部门之间的沟通与协作。通过共同分析价值流图,各部门可以明确各自的责任和角色,共同寻找解决问题的方案,从而提升整体业务运作的效率和协调性。

  • 系统性优化,价值流的可视化特性使得问题瓶颈一目了然,这有助于打破部门间的壁垒,促进各部门之间的沟通与协作。通过共同分析价值流图,各部门可以明确各自的责任和角色,共同寻找解决问题的方案,从而提升整体业务运作的效率和协调性。

  • 提升决策效率:价值流分析为企业的决策提供了有力的支持。通过对比现状图和未来状态图,可以清晰地看到改进前后的差异和效果,从而更加准确地判断哪些措施是有效的、哪些是需要调整的。这有助于提升决策效率和准确性。

1.2目标与原则

目标:顺畅、高质量地交付有用的价值。

原则:

  1. 探索和发现有用的价值:

    1. 深入理解客户需求,确保所开发的产品或服务能够真正满足客户的期望和需求。

    2. 通过与客户的紧密沟通,不断迭代和优化产品,确保价值的持续交付。

  2. 聚焦和提升价值流动效率:

    1. 可视化整个价值流,识别并消除阻碍价值流动的障碍。

    2. 减少无效等待和浪费,提升流程的整体效率。

    3. 促进团队间的紧密协作,确保价值在价值流中的顺畅传递。

接下来我会以看板为载体展开描述价值流的落地过程

二、构建可视化价值流动体系:看板系统设计与实施

在产品开发领域,价值流动往往不可见,因此其管理和优化相较于生产制造更为复杂。看板方法的首要实践便是将工作及其流动过程可视化,以更好地进行管理和优化。以下是对可视化价值流动及看板系统建模的详细阐述与优化。

1、可视化价值流动的核心要点

  1. 用户价值可视化:产品开发的终极目标是交付用户价值。在看板系统中,每个蓝色卡片代表一个用户价值,通常是可验证、可交付的用户需求。这些卡片从用户视角出发,体现了团队交付的核心价值。

  2. 端到端流动过程可视化:价值从提出到交付的整个过程被称为端到端流动。这个过程包含多个工作环节和等待环节,图中灰色阴影的列即表示等待环节。用户价值在这些列中流动,直至最终交付给用户。

  3. 问题与瓶颈可视化:阻碍价值流动的因素(如需求不明确、技术障碍等)以及价值流动不畅的环节(即瓶颈)均需被可视化。这有助于团队快速识别并处理这些问题,从而优化价值流动。

2、可视化价值流动的设计原则

  1. 体现价值:展示团队对外交付的所有价值,包括用户需求、业务及产品团队需求、技术及业务探索价值等。

  2. 反映协作:清晰描绘团队协作过程,包括步骤间、环节内以及价值流动中的分解与合并过程。

  3. 暴露问题:即时反映价值流动中的问题,以便团队识别并处理。

3、可视化价值流动的设计步骤

3.1分析价值流动过程

看板系统的设计应该从分析团队交付的价值类型和价值流动过程开始

2.1.1 识别团队交付的价值类型

从团队外部视角审视团队提供的服务,识别并分类价值类型,如业务需求、关联需求、技术改进等。

价值类型

来源

内容

到达频率

处理原则

占比

业务需求

用户或产品规划

产品特性需求

每两周一次正式输入

平时会有少量插入

每周进行一次计划

一般按优先级排列

少量紧急需求需立刻响应

~65%

关联需求

其它开发团队

其它团队开发过程中对本团队的依赖

随时提出

每周一次汇总安排

双方协商交付时间

存在很少量紧急需求

~10%

技术改进

团队自身

内部提出的改善性需求,如代码重构、测试优化等

随时提出

比较均匀受控

重要但不紧急

空闲时安排相对较多

希望能持续有规律地投入

~10%

其他任务

多种来源

运营类支持、线上的问题修复、文档的整理、能力建设等

部分随机出现:如线上问题,运营支持

部分周期出现:如月度汇总等

各不相同,因事而异

~15%

2.2.2 确定看板系统的基本流动单元

根据价值类型确定看板系统的基本流动单元。

2.2.3 分析流动单元的流动步骤

确定价值流动所经历的主要工作步骤,并识别出交接或等待环节。

主要工作步骤,需求分析,界面设计,架构设计,需求传递,研发,测试,发布等;在这些工作步骤之间可能会发生明显的交接或等待,如需求传递后等待开始实现,开发完成后向测试移交等。等待环节虽然没有具体的工作,却也占用了价值流动的时间,并可能产生积压,也需要识别出来。

2.2.4 识别流动过程中的价值分解和合并

在流动过程中,价值可能会被分解并由多个人完成后合并。识别这些分解和合并点,以便在看板系统中准确表达。

在流动过程中,价值可能会被分解并由多个人完成后,再进行合并。它往往发生在工作量占比较大的阶段。

在实现阶段,工作被分解为各个模块的开发和联调任务,完成后再进行合并,并将整合的需求移交测试;测试阶段发现的Bug,也会单独跟踪和处理,直到解决后需求才会移交至下一阶段。这时,价值流就会出现层级关系。

2.2选取可视化设计元素

2.2.1 队列
  1. 作用:队列在看板系统中至关重要,反映工作流状态并指导团队协作。

  2. 分类:根据工作流状态,可划分为工作列和等待列。同时,设置“就绪”队列表示团队即将处理的需求。

  3. 细化与划分:

    1. 细化级别:根据工作停留情况和使用者关注焦点灵活调整。

    2. 起止阶段:从用户问题开始到问题完全解决,形成业务闭环。实际操作中,可从局部流程入手并逐步延伸。

“就绪”队列的设置

“就绪”队列是看板系统中一个特殊的等待队列,它位于需求池之后,团队正式承诺计划之前。这个队列的重要性在于它代表了团队的输入,即那些已经准备好进入开发阶段的需求。一个需求被视为“就绪”时,应满足以下条件:

  • 用户的需求已经明确且清晰;

  • 团队已经充分理解了用户的需求;

  • 相关的关联系统或依赖项已经得到确认或准备就绪。

2.2.2 泳道
  1. 划分依据:

    1. 处理规则:根据工作项类型和处理流程设置泳道。

    2. 关注程度:根据工作项重要性或受益方进行区分。

  2. 层级表达:泳道能清晰表达工作项层级关系,如需求与子需求、需求与任务的关系。

  3. 限制并行需求:泳道还起到限制并行需求数量的作用,有助于暴露问题并促进团队协作解决。

2.2.3 区域

在看板上划分出特定区域来表达特定的信息

  1. 需求池区域:将需求池划分为多个区域,分别放置不同业务方和来源的需求,为就绪队列的填充和计划提供更明确的信息。

  2. 就绪队列区域:将就绪队列划分为两个区域,分别放置本发布周期和下一发布周期内要完成的内容,以明确优先顺序。

  3. 待发布队列区域:将待发布队列分成多个区域,分别放置要部署到不同目标系统的需求,以更好地安排发布计划。

2.2.3 卡片及标识
  1. 卡片设计:卡片空间有限,设计应简洁,包含需求基本信息(如标题、负责人、ID索引)和时间信息。

  2. 标识使用:

    1. 名字贴:表示谁正工作在这个需求或任务上。

    2. 阻碍项:表明遇到的问题和阻碍及其开始时间。

    3. 缺陷:与特定需求关联的bug。

2.3建模价值流动过程

  1. 综合分析团队需求、工作流程、可视化效果等因素,选取合适的可视化设计元素,并建模产出反映价值流动的看板墙设计。确保看板系统能够真实、清晰地反映团队协作交付价值的过程,同时体现价值、反映协作和暴露问题。

三、明确流程规则:标准化与规范化管理

显式化流程规则,即明确并达成对价值流转和团队协作规则的共识,是团队协作的基石,也是团队持续改进的出发点。

1、组织并明确流程规则

  • 价值流转规则:详细规定价值项(如用户需求)在不同阶段间转移的标准。例如,何时接收并分析需求、需求达到就绪状态的标准、代码提交和任务完成的准则、功能转入测试的标准、功能验收的标准,以及需求发布的条件等。

  • 周期性事件规则:涉及团队定期活动的规则,如站会频率、就绪队列填充的规则等。这包括活动的频率、组织形式、适用规则以及处理例外情况(如紧急需求)的机制。

  • 其他协作规则:涵盖团队日常运作和协作的各个方面,如看板墙的更新和维护规则、在制品数量限制、度量与反馈的收集与分析机制,以及改进行动的制定与跟踪等。

2、让团队共同拥有流程规则

团队掌握规则不仅是对团队的赋权,也是确保开发过程质量的关键。明确规则后,团队需达成对这些规则的一致理解,以便更自主地做出决策和协作,减少对上级或中央控制的依赖。

3、持续改进流程规则

显式化的流程规则为团队提供了讨论和改进的基础。基于这些明确的基线,团队可以更加客观和理性地识别改进机会。通过将改进落实为新的流程规则,可以确保改进的可靠性和有序性,避免反复和脆弱性。这样,团队就能在不断学习和迭代中不断进步。

四、控制在制品数量:优化资源利用

1、为什么要控制

  • 加速交付,提升响应速度。

  • 暴露问题,推动持续改进。

  • 确保工作围绕用户价值展开。

2、控制什么

  • 优先完成已启动工作,避免盲目启动新项目。

  • 以用户价值为控制单位,而非单个任务。

  • 通过组织任务、处理障碍等方式实现有效控制,不过度限制。

3、如何控制

渐进式改进,从可行但有挑战的限制值开始,逐步优化。

3.1限制原则

  • 现实性:与团队能力匹配。

  • 有用性:偶尔触及,提醒团队关注问题。

3.2限制在制品的常见形式

  • 泳道限制:限制泳道中正在实现的需求数量。

  • 阶段需求数限制:明确阶段最大并行需求数。

  • 个人并行任务数限制:降低任务切换损耗。

3.3确定初始限制值

  • 基于现状调整,确保符合团队实际。

  • 根据团队人数和并行系数计算。

  • 目标交付周期反推:当团队有明确交付周期目标时,利用利特尔法则(交付周期 = 在制品数量 / 交付速率)反推出最大在制品数。

相关文章:

DevOps赋能:优化业务价值流的实战策略与路径(上)

上篇:价值流引领与可视化体系构建 一、前言 在快速迭代的软件项目和产品开发生态中,我们始终围绕两个核心目标:一是确保每一项工作都能为客户创造实际价值,这是产品团队的核心使命;二是确保这些有价值的工作能够高效…...

int的取值范围

原码(True form):原码是一种计算机中对数字的二进制表示方法,数码序列中最高位为符号位,符号位为0表示正数,符号位为1表示负数;其余有效值部分用二进制的绝对值表示。 反码&#xf…...

图文检索(16):IDC: Boost Text-to-Image Retrieval via Indirect and Direct Connections

IDC: Boost Text-to-Image Retrieval via Indirect and Direct Connections 摘要3 方法3.1 直接连接3.2 间接连接3.3 DLB 正则化 结论 发布时间(2024 LREC-COLING) 标题:IDC:通过间接和直接连接增强文本到图像的检索 摘要 本文&…...

企业数字化转型:重识、深思、重启新征程-亿发

在当下这个日新月异的时代,企业数字化转型已然成为众多企业竞相追逐的发展方向,可真正能将其领悟透彻并有效落地实施的企业,却并非比比皆是。此刻,亿发软件针对企业数字化转型展开一次更为深入的重识、全面的深思,进而…...

仓颉刷题录-字符串数字转换(一)

文章目录 背景题目:交换后字典序最小的字符串个人感受 这是双子专栏: Cangjie仓颉程序设计-个人总结 本专栏还在持续更新: 仓颉编程cangjie刷题录 背景 报名了一个仓颉的比赛,感觉条件要求挺低的,就想上。哈哈哈。但…...

SpringBoot【实用篇】- 配置高级

文章目录 目标:1.ConfigurationProperties2.宽松绑定/松散绑定3. 常用计量单位绑定4.数据校验 目标: ConfigurationProperties宽松绑定/松散绑定常用计量单位绑定数据校验 1.ConfigurationProperties ConfigurationProperties 在学习yml的时候我们了解…...

liunx CentOs7安装MQTT服务器(mosquitto)

查找 mosquitto 软件包 yum list all | grep mosquitto出现以上两个即可进行安装,如果没有出现则需要安装EPEL软件库。 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm查看 mosquitto 信息 yum info mosquitto安装 mosquitt…...

【银河麒麟高级服务器操作系统】虚拟机lvm分区丢失现象分析及解决建议

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn 环境描述 系统环境 物理机/虚拟机/云/容器 虚拟…...

Android 原子性类型都有哪些

1. 基本类型原子类 AtomicInteger:用于对整数进行原子操作,如incrementAndGet()方法可以原子地将当前值加1并返回新值,getAndSet()方法可以原子地设置新值并返回旧值。AtomicLong:和AtomicInteger类似,用于长整型的原…...

MySQL(上)

一、SQL优化 1、如何定位及优化SQL语句的性能问题?创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因? 对于性能比较低的sql语句定位,最重要的也是最有效的方法其实还是看sql的执行计划,而对于mysql来说&a…...

ffplay 实现视频流中音频的延迟

ffplay -rtsp_transport tcp -i rtsp://admin:1234qwer192.168.1.64:554/Streaming/Channels/101 -vn -af "adelay5000|5000"在这个命令中: -vn 参数表示只播放音频。 -af "adelay5000|5000" 参数表示将音频延迟5000毫秒(即5秒&…...

CSDN资源变现

根据搜索结果,CSDN资源变现主要有以下几种方式: 1、上传付费资源: 用户可以在CSDN上上传资源并设置付费,其他用户支付费用下载这些资源,上传者则获得一部分收益。这种方式适合上传大量资源,通过量变达到质变…...

Rembg模型构建教程

一、介绍 Rembg,全称为“Remove Background”,是一款基于深度学习的图像背景去除工具。它的主要功能是通过智能识别图像中的前景物体,并将其从背景中分离出来,从而创建具有透明背景的图像。 二、基础环境 系统:Ubun…...

向量的基础知识和矩阵向量的坐标旋转

向量的基础: 定义: 既有大小,又有方向的量叫做向量(Vector)。 在几何上,向量用有向线段来表示,有向线段长度表示向量的大小,有向线段的方向表示向量的方向。其实有向线段本身也是向…...

GeoSever发布图层(保姆姬)

发布服务的具体步骤。 1. 安装 GeoServer 下载 GeoServer 安装包:GeoServer 官网按照安装说明进行安装,可以选择 Windows、Linux 或其他平台。 2. 启动 GeoServer 启动 GeoServer 通常通过访问 http://localhost:8080/geoserver 进行。默认用户名和密…...

AI 大模型的发展趋势是怎样的?

AI 大模型的发展趋势呈现出多方面的特点,包括技术、应用、商业模式等多个维度,具体如下: 技术层面: 多模态融合:未来,AI 大模型将不断加强对多模态数据的处理能力,融合文本、图像、音频、视频等…...

win10怎么关掉自动更新-小白必看

1.搜索栏搜索服务单机点开 2.在服务里面找到windows Update服务双击进去 3.如下图把他禁用然后点应用即可...

大学城水电资源管理:Spring Boot解决方案

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理大学城水电管理系统的相关信息成为必然。开…...

躺平成长-运营日记-第三天

开源竞争: (自己没有办法完全掌握技术的时候就开源掉,培养出更多的技术依赖,让更多的人完善你的技术,那么这不就是在砸罐子吗?一个行业里面你不去砸罐子,其他人就会砸罐子,你不如先砸…...

智慧税务管理:金融企业报税效率与合规性提升

前言 在数字化浪潮席卷全球的今天,金融行业正面临前所未有的挑战与机遇。如何在复杂的税务环境中保持合规并提高效率,已成为每个金融企业的重中之重。今天小编就为大家介绍一下如何通过借助智能税务平台,实现税务管理的智能化革新&#xff0…...

掌握Git核心:版本控制、分支管理与远程操作

前言 无论热爱技术的阅读者你是希望掌握Git的企业级应用,能够深刻理解Git操作过程及操作原理,理解工作区暂存区、版本库的含义;还是想要掌握Git的版本、分支管理,自由的进行版本回退、撤销、修改等Git操作方式与背后原理和通过分…...

【LLM-Agent】智能体的记忆缓存设计

note 实践:https://modelscope-agent.readthedocs.io/zh-cn/latest/modules/memory.html 文章目录 note一、Agent的记忆实现二、相关综述三、记忆体的构建四、cursor的记忆设计1. 记忆生成提示词2. 记忆评估提示词 五、记忆相关的MCPReference 一、Agent的记忆实现…...

DLL动态库实现文件遍历功能(Windows编程)

源文件: 文件遍历功能的动态库,并支持用户注册回调函数处理遍历到的文件 a8f80ba 周不才/cpp_linux study - Gitee.com 知识准备 1.Windows中的数据类型 2.DLL导出/导入宏 使用__declspec(dllexport)修饰函数,将函数标记为导出函数存放到…...

win32相关(IAT HOOK)

IAT HOOK 什么是IAT Hook? IAT Hook(Import Address Table Hook,导入地址表钩子)是一种Windows平台下的API钩取技术,通过修改目标程序的导入地址表(IAT)来拦截和重定向API调用 在我们之前学习pe文件结构的导入表时&am…...

Linux中su与sudo命令的区别:权限管理的关键差异解析

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...

c++学习-this指针

1.基本概念 非静态成员函数都会默认传递this指针(静态成员函数属于类本身,不属于某个实例对象),方便访问对象对类成员变量和 成员函数。 2.基本使用 编译器实际处理类成员函数,this是第一个隐藏的参数,类…...

【CSS-4】掌握CSS文字样式:从基础到高级技巧

文字是网页内容的核心载体,良好的文字样式设计不仅能提升可读性,还能增强网站的整体视觉效果。本文将全面介绍CSS中控制文字样式的各种属性和技巧,帮助您打造专业级的网页排版。 1. 基础文字属性 1.1 字体设置 (font-family) body {font-f…...

【基础算法】枚举(普通枚举、二进制枚举)

文章目录 一、普通枚举1. 铺地毯(1) 解题思路(2) 代码实现 2. 回文日期(1) 解题思路思路一:暴力枚举思路二:枚举年份思路三:枚举月日 (2) 代码实现 3. 扫雷(2) 解题思路(2) 代码实现 二、二进制枚举1. 子集(1) 解题思路(2) 代码实现 2. 费解的…...

Spring中循环依赖问题的解决机制总结

一、解决机制 1. 什么是循环依赖 循环依赖是指两个或多个Bean之间相互依赖对方,形成一个闭环的依赖关系。最常见的情况是当Bean A依赖Bean B,而Bean B又依赖Bean A时,就形成了循环依赖。在Spring容器初始化过程中,如果不加以特殊…...

SDC命令详解:使用set_propagated_clock命令进行约束

相关阅读 SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482 目录 指定端口列表/集合 简单使用 注意事项 传播时钟是在进行了时钟树综合后,使用set_propagated_clock命令可以将一个理想时钟转换为传播时钟&#x…...