DevOps赋能:优化业务价值流的实战策略与路径(下)
下篇:加速工作项流动与持续改进优化 —— 跨越差距,迈向卓越交付
在上篇中,我们已经深入探讨了看板方法的四大核心实践,它们共同致力于实现“顺畅且高质量地交付价值”的终极目标。然而,理想与现实之间往往存在一定的差距,这些差距既是挑战,也是推动我们不断前行的宝贵机遇。关键在于,我们需要以正确的视角审视这些差距,并积极采取行动去缩小乃至消除它们。这正是接下来我们将要深入探讨的——“建立反馈机制,实现持续改进”,以及如何通过这一实践,不断逼近并最终达成我们的交付目标。
一、加速工作项流动:协同与沟通
1、看板站会
1.1 目标
看板站会旨在促进价值的顺畅流动,而非仅仅关注个人工作进度。它应聚焦于价值流动的状态,确保用户价值得到高效、高质量的交付。
1.2 组织形式
站会通常在每个工作日的同一时间、同一地点(看板前)进行。团队成员需提前更新看板,反映最新状态和问题。协调人(可固定或轮流担任)带领团队成员从右至左审视看板,体现价值拉动的方向,并优先解决阻碍价值流动的问题。
1.3 重点信息
-
瓶颈:关注导致需求积压的环节,寻找并解决瓶颈问题。
-
中断:识别供给不足导致的价值流动中断,并采取措施恢复。
-
重点需求:关注涉及重大商业利益或风险的需求。
-
被阻碍的需求:跟踪和解决因外部或内部原因受阻的需求。
-
即将或已到期需求:确保按时完成,以满足承诺。
-
长时间无进展需求:识别并解决流动阻滞问题。
-
额外沟通:询问团队成员是否有未在看板上反映的问题。
1.4 过程
站会应高效进行(15人以内团队建议在10分钟内完成)。会前确保看板更新,会中聚焦问题,会后小范围讨论遗留问题。站会结束时,看板应反映最新状态,问题得到识别和解决,成员了解整体状态和优先级。
站会结束时应该达成以下几个结果:
• 看板处于最新的状态,反映站会讨论的结果。
• 识别阻碍需求流动的问题,并现场解决或安排了会后跟踪。
• 每个成员了解项目的整体状态
• 每个成员清楚工作的优先级
2、就绪队列填充
对应价值输入的管理,是看板方法中最主要的计划活动
2.1 定义
就绪队列是开发团队的输入列,填充活动意味着业务方和开发团队的共同承诺。就绪需求需达到特定标准。
2.2 节奏
频繁填充提高敏捷性,但合理频率需平衡成本和必要性。二级填充可平衡这两点,如团队内按周填充,与业务方按更低频率。
2.3 组织
就绪队列填充会议旨在选择和准备好适当数量的满足标准的需求。关注“适当数量”和“满足标准”两个关键词。适当数量指保证团队有足够需求但不积压。就绪标准包括充分澄清需求、明确验收标准、评估技术风险和关联风险等。具体如下:
1.要解决的问题是什么。
2.用户与系统的交互流程是什么样的。
3.涉及到哪些业务规则,并生成具体的验收标准。实例化需求活动保证开发、测试和业务对以上问题的一致理解。
4.技术风险:评估重大潜在技术风险,必要时做出应对。
5.关联风险:评估需求对外的依赖,需要时并做出安排。例如,确认依赖外部服务的接口标准和交付时间
业务方和开发团队选择下一次填充前可以完成或略多的需求,澄清这些需求,处理好相关的业务风险、技术风险和关联风险,并确保需求已经拆分得足够小。
3、发布规划会议
3.1 发布规划会议的内容和节奏
3.1.1 发布规划会议的内容
-
确认发布条件:确认哪些需求已满足发布标准。
-
确定发布需求:选择并评估业务上完整的需求进行发布。
-
安排软件部署:若涉及,则规划相关部署工作。
-
评估与规避风险:评估发布风险,制定应对措施。
-
发布前后事务:撰写版本说明,协调运营工作等。
-
责任与跟踪:明确发布活动的责任人及跟踪事项。
3.1.2 发布规划会议的节奏
-
平衡敏捷与开销:频繁发布提升敏捷性,但合理节奏需平衡业务需求、开发团队能力与内外部开销。
3.2 部署与发布的区别
-
部署(Deployment):将软件安装至特定环境。
-
发布(Release):使特性对用户可见并可用。
3.3 解耦部署与发布
解耦意味着部署与发布可独立进行,业务部门决定何时、向谁发布已部署的特性。
3.3.1 蓝绿部署
-
定义:维护蓝、绿两个独立生产环境,一个在线服务,另一个用于部署与测试。
-
优势:持续部署测试,灵活选择发布时机,降低发布风险,快速回滚。
-
局限:通常需一次性发布所有已部署功能,灵活性有限。
3.3.2 特性开关
-
决策点:在代码中加入开关,控制特性启用。
-
配置区:集中设置开关状态,如针对特定用户群。
-
路由:根据用户属性和配置决定特性是否启用。
-
好处:持续部署验证,大特性分次部署,灵活用户发布,动态调整特性可见性。
3.3.3 模拟环境
-
适用场景:非本地部署软件,创建模拟环境进行持续部署。
-
目的:降低发布风险,提高交付能力。
3.3.4 在看板系统中区分
-
独立阶段:在看板系统中,将部署与发布作为独立阶段区分。
3.4 完美的敏捷愿景
从业务角度看,敏捷意味着更早交付价值与更灵活响应变化。达成业务敏捷需做到:
-
按需填充,以终为始:根据需求规划,确保目标导向。
-
聚焦价值,快速完成:集中资源于高价值任务,加速完成。
-
持续部署,灵活发布:实现部署与发布的独立与灵活,支持快速响应变化。
这三点对应看板方法中的价值流动管理实践,是达成业务敏捷的关键。
二、 建立反馈机制:持续改进与优化
我们已经探讨了看板方法的四个核心实践,它们共同致力于实现“顺畅且高质量地交付价值”的目标。然而,现实与目标之间总会存在差距,这些差距既是问题,也是改进的机会。关键在于如何正视这些差距,并采取有效的行动。接下来,我们将深入探讨“建立反馈,持续改进”这一实践。
1、定性反馈和改进
反馈:团队应将反馈机制嵌入价值流动过程中,以衡量现实状态与目标的差距,揭示存在的问题和改进空间。除了定性反馈外,后续章节还将介绍综合精益度量图表。
分析:团队应定期分析反馈数据,探究问题根源,并制定具体的改进行动计划。在看板方法中,团队级别的改进分析被称为团队交付评审,建议每两周进行一次。当团队间的价值交付关联紧密时,还可以进行跨团队的改进分析,建议每月一次。
行动:分析的结果应转化为具体的行动措施,并落实到协作流程、开发环境、代码设计、测试守护以及人员技能等五个方面。为了评估行动效果,团队需要回到“度量反馈”阶段,根据新的反馈结果来衡量改进成效,并确定下一步的改进行动。这样,就形成了一个“反馈-分析-改进”的循环,持续提升团队的价值交付能力,以适应不断变化的外部环境。
1.1 如何建立良好的反馈
团队应将反馈机制内建于价值流动过程中,实时衡量状态与目标之间的差距,并系统性地分析差距背后的共同原因,从而制定改进行动计划,提升团队能力,缩小实际状态与目标的差距。有效的反馈应遵循以下三个原则:
-
方便获取:反馈应嵌入价值流动过程中,便于团队随时获取。
-
易于理解:反馈的含义应清晰明了,便于团队快速理解。
-
与目标相关:团队应明确反馈的目的,以及如何利用反馈来帮助达成目标。
1.2 关于顺畅程度的反馈
为了评估价值流动是否顺畅,团队应采用逆向思维,识别不顺畅的表现。价值流动不畅的两个明显迹象是:流动过程中发生阻碍,以及需求交付时间过长。
-
阻碍原因及影响分布矩阵:该矩阵用于反馈价值流动的顺畅程度。纵坐标表示阻碍原因分类,包括团队内部和外部原因;横坐标表示阻碍需求流动的时长。团队应定期分析这些阻碍项,重点关注条目多、影响时间长的分类,并深入挖掘背后的根源,提出改进措施。
-
前置时间控制图:前置时间是指需求交付前所需的时间,从团队做出承诺(需求进入就绪队列)开始计时。控制图的横坐标表示需求交付日期,纵坐标表示前置时间。团队应关注并分析控制线以上的点,这些点可能表示异常的交付情况。
1.3 关于质量的反馈
为了获取质量方面的反馈,团队可以直接分析缺陷。缺陷原因分类及分布矩阵是最常用的质量反馈工具。团队可以分析不同阶段(如测试、验收或用户反馈)发现的缺陷,并探究缺陷的引入点和控制点,以支持缺陷预防和及早发现方面的改进。
1.4 将改进落实为具体行动
反馈的目的是为了分析和改进,只有转化为具体的行动,改进才可能发生。产品开发团队的改进通常应从以下五个方面落实:
-
流程操作:包括团队协作方式和流程规则的调整,可能涉及看板墙的调整、团队结构及职责划分的变动等。
-
开发环境:涉及开发、测试、集成和交付相关的环境、工具及设备等。
-
代码与设计:包括代码或设计的重构,以及设计原则和方法的调整等。
-
测试守护:涉及自动化测试的覆盖、演进策略和运行策略等。
-
人员技能:包括人员能力的培养和团队能力结构的调整等。
2、定量的综合反馈和改进
接下来,我们将重点介绍三个关于价值流动的综合度量图表,它们简单实用且功能强大,是精益度量的核心工具,也是团队深入和持续改进的重要武器。
2.1累积流图
累积流图反映了各个阶段累积处理的需求数量以及它们随时间的变化趋势。横坐标为日期,纵坐标为各阶段累积完成的需求数目。
-
解读数据:在制品数量指正在处理的需求数目,即所有开始但尚未完成的需求数目。平均前置时间指需求从开始到结束所经历的平均时间。交付速率则指单位时间内交付的需求数目。
-
分析改进机会:累积流图既反映了团队整体的协作模式和动态交付过程,也揭示了交付模式和交付能力的变化趋势。团队可以从图中分析协作和交付模式,并发现改进机会。例如,通过分析计划模式、需求转测试的模式以及需求发布模式等,团队可以识别出潜在的改进点,如减少在制品数量、缩短前置时间等。
2.2控制图
控制图是一个散点图,用于反映需求交付的状况,如前置时间的波动情况和趋势。横坐标为需求的交付日期,纵坐标为前置时间。
-
分析过程稳定性:控制图常用于判断一个过程是否处于受控状态。通过观察点的分布和趋势,团队可以评估需求交付过程的稳定性和可控性。
-
综合解读:结合累积流图和在制品数量随时间变化的曲线,团队可以进行更深刻的分析。例如,通过观察迭代开发模式中的交付情况、在制品数量的变化趋势以及前置时间的分布等,团队可以识别出潜在的赶工情况、异常点以及改进方向等。
2.3前置时间分布图
前置时间分布图是一个柱状图,用于统计一段时间内前置时间的分布状况。横坐标为前置时间(天数),纵坐标为前置时间为该值的需求个数。
-
对外承诺的依据:团队可以根据过去实际交付的前置时间分布来做出客观可靠的承诺,即承诺需求多长时间可以交付。
-
改进方向的依据:前置时间分布图还可以为团队的改进方向提供依据。通过观察前置时间的分布情况,团队可以识别出改进的三个方向:截尾(减少异常点)、瘦身(减小方差)和左移(减小均值)。这些改进方向有助于团队提高风险管理水平、加强团队协作和风险应对能力,并加快交付速率。