质量工程化,交付快速化

质量和速度之间权衡让人很难取舍,而通过推进质量工程,以系统化的方式识别和优化系统痛点,可以帮助团队构建既快又好的精益软件生产系统。原文: Quality Engineered, Speed Delivered

alt

所有人都想要更快的速度。

但需要解决复杂问题:

  • 权衡质量会让我们变慢
  • 质量实践在一开始会减缓速度
  • 仅靠方法或技术是不够的

从软件工程师到CIO/CTO的经历使我确信,可以构建基于MAMOS的精益软件生产系统,从而以可持续的速度交付软件。

质量和速度的痛点

这个复杂而不确定的世界要求企业能以极短的周期适应变化。

在软件驱动的组织中,业务速度直接依赖于快速变更软件的能力,使其成为生存的必要条件。

软件的痛点可以分为两类:

  1. 质量: 满意度、可用性、质量、可靠性等。
  2. 速度: 交付时间、迭代周期、确认或解决问题的时间。

目标是识别软件生产系统中最重要的质量和速度问题。不是所有问题都很重要,有些是原因,而有些是结果。

基于此,可以利用MAMOS软件生产系统架构来映射问题根源。

MAMOS: 质量工程背后的力量

作为软件工程师,我曾为自己无法控制问题而感到痛苦: 等待外部运维团队来"计划"变更,无法刷新数据,糟糕的规格说明。

当我转到项目管理时,我充满乐观,希望能有更多权力,但在管理和组织层面却面临着其他结构性问题。

有时我意识到把精力浪费在了错误的优先级上,例如,在质量实践上,这些实践在单独推动之后无法持续下去。

当我获得整个软件生产系统的自主权时,情况发生了变化。

我能够:

  • 将业务内部化,注入协作和自助服务的文化
  • 帮助业务人员获得业务分析的正确数据
  • 在职责范围内分享愿景和使命
  • 改变团队架构以创建平台和支持团队
  • 设置与全球转型目标一致的管理激励机制

这些行动使我们能够以可持续的速度加速软件交付,并意识到在整个价值链上注入质量可以更快获得有价值的回报。

MAMOS是基于方法(Methods)、架构(Architecture)、管理(Management)、组织(Organization)和技能(Skills) 这5个领域来组织软件生产系统的简化架构。

alt
制定行动计划

质量工程软件生产系统需要在更改任何内容之前对当前状态有很好的理解。

MAMOS帮助我们看清系统图景,构建正确视角,使我们能够识别最重要的质量和速度问题。

制定行动计划需要:

  1. 映射MAMOS系统的当前状态
  2. 确定质量和速度的痛点
  3. 根据MAMOS领域定义优先级
alt

步骤1提供了软件生产系统元素之间发生交互的可见性: 哪些方法用于计划或审查工作,架构风格如何影响迭代流程,正在推动哪些激励管理措施,组织设计如何影响团队架构和流程。

步骤2使我们能够对问题进行排序,以关注影响业务目标的限制因素。这个阶段是适应精益实践的阶段,比如影响映射、根因分析、价值流或流程。

步骤3整合执行计划,有效解决每个MAMOS区域识别的难点。例如,分散的团队组织需要对组织采取行动,而后期的返工问题则需要通过左移针对方法采取行动。在这个阶段,时间限制、增量步骤和关注价值的敏捷实践比较受欢迎。

通过执行扩大影响力

在处理软件生产系统时,很容易陷入消极的优化陷阱,将精力浪费在与业务结果无关的优先级上。

质量和速度的痛点必须与业务目标相联系,业务目标通过结果、KPI及其他指标有助于衡量转化是否成功。

成功的计划将支持企业快速适应不断变化的环境,并为快速交付的软件生产系统进行质量工程。

欢迎来到质量工程。

alt

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。为了方便大家以后能第一时间看到文章,请朋友们关注公众号"DeepNoMind",并设个星标吧,如果能一键三连(转发、点赞、在看),则能给我带来更多的支持和动力,激励我持续写下去,和大家共同成长进步!

- END -

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/209659.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kotlin(十四) 扩展函数和运算符重载

目录 扩展函数 语法结构 代码示例 运算符重载 语法结构 一元操作符 二元操作符 数值类型操作符 等于和不等于操作符 比较操作符 调用操作符 扩展函数 语法结构 对于扩张函数的语法结构其实很简单,你想在那个类中添加扩张函数,那么你就用该类…

6. Zigzag Conversion

按照下标找规律注意leetcode的运行输出,如果其中一组用例出现死循环,输出结果会在一个文件,即部分测试用例正确,部分错误且出现死循环,则需辨别输出结果属于哪一份测试用例 class Solution { public:string convert(s…

(二)五种最新算法(SWO、COA、LSO、GRO、LO)求解无人机路径规划MATLAB

一、五种算法(SWO、COA、LSO、GRO、LO)简介 1、蜘蛛蜂优化算法SWO 蜘蛛蜂优化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为&…

w3school学习笔记3(NumPy)

系列文章目录 文章目录 系列文章目录前言一、NumPy简介二、NumPy入门三、NumPy创建四、NumPy数组索引五、NumPy数组裁切六、NumPy数据类型七、NumPy副本/视图八、NumPy数据形状九、NumPy数组重塑十、NumPy数组迭代总结 前言 一、NumPy简介 1、什么是Numpy? NumPy是…

线上盲盒小程序,开启互联网盲盒时代

近年来,盲盒经济在国内非常火爆,各类盲盒品牌层出不穷,深受国内外年轻人、消费者的喜爱。 目前,根据数据显示,盲盒市场不仅在线下异常火热,线上盲盒也是成为了大众的新选择。各类电商平台中盲盒的成交额更…

Esxi7Esxi8设置VMFSL虚拟闪存的大小

Esxi7Esxi8设置VMFSL虚拟闪存的大小 ESXi7,8 默认安装会分配一个 VMFSL(VMFS-L)(Local VMFS)很大空间(120G), 感觉很浪费, 实际给 8G 就可以了, 最少 6G , 经实验,给2G没法安装 . Esxi7是虚拟闪存的 修改的方法是: 在安装时修改 设置 autoPartitionOSDataSize8192 在cdromBoo…

快捷切换raw页面到repo页面-Raw2Repo插件

Raw2Repo By Rick 📖快捷切换代码托管平台raw页面到repo页面 🔗github链接 https://github.com/rickhqh/Raw2Repo ✨Features 功能: ✅单击 Raw2Repo 插件按钮,即可跳转到相应的代码仓库页面。✅支持 GitHub、Gitee、GitCode …

spring boot整合mybatis进行部门管理管理的增删改查

部门列表查询: 功能实现: 需求:查询数据库表中的所有部门数据,展示在页面上。 准备工作: 准备数据库表dept(部门表),实体类Dept。在项目中引入mybatis的起步依赖,mysql的…

【ET8】1.ET8入门-运行指南

主要学习网址 论坛地址为:https://et-framework.cn Git地址为:GitHub - egametang/ET: Unity3D Client And C# Server Framework 官方QQ群 : 474643097 项目检出 检出项目切换到release8.0分支 GitHub地址:GitHub - egametang/ET: Unity…

[足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-5Laplace Transform of Convolution卷积的拉普拉斯变换

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-数学基础Ch0-5Laplace Transform of Convolution卷积的拉普拉斯变换 Laplace Transform : X ( s ) L [ x ( t ) ] ∫ 0 ∞ x ( t ) e − s t d t X\left( s \right) \mathcal{L} \left[ x\lef…

基于Swin_Transformer的图像超分辨率系统

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 随着科技的不断发展,图像超分辨率技术在计算机视觉领域中变得越来越重要。图像超分辨率是指通过使用计算机算法将低分辨率图像转换为高分辨率图像的过…

AI:91-基于深度学习的手写数学表达式识别

🚀 本文选自专栏:人工智能领域200例教程专栏 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的核心代码,详细讲解供大家学习,希望可以帮到大家。欢迎订阅支持,正在不断更新…

51单片机的时钟电路与时序以及 复位电路和电源模式

51单片机的时钟电路与时序以及 复位电路和电源模式 本文主要涉及51单片机的时钟电路以及相关时序的知识,也讲解了了51单片机的复位电路以及电源模式。 文章目录 51单片机的时钟电路与时序以及 复位电路和电源模式一、时钟电路与时序1、 时钟电路设计1.1 内部时钟方式…

用stl写一个自动打分比赛的案例

我们要实现六名选手进行随机平均分为两组,先分别淘汰两组中的最后一名, 再决出第一名。 抽象选手 class player { public:string name;int score; }; 一个选手有名字和分数 首先我们需要vector容器保存选手的编号,便于后续的操作。 再用…

导入PR的视频画面是黑屏的怎么办?

在现代视频编辑领域中,越来越多的人使用Adobe Premiere Pro来编辑和制作视频,但是在某些情况下,用户可能需要透明背景的视频进行创作,那么如何创作透明背景的视频呢? 要制作具有透明背景的视频,我们需要使…

如何赢得并留住订阅者:12 个必须尝试的订阅营销策略

Netflix、Hubspot、Spotify 和 Slack 都是流行的基于订阅的服务,您可能每天都会使用它们,无论是工作还是娱乐。这些例子表明,订阅业务模式深受 SaaS 创业者的青睐。 这种模式的吸引力很容易理解,特别是考虑到订阅市场预计到 2025…

C //例10.5 有一个磁盘文件,内有一些信息。要求第1次将它的内容显示在屏幕上,第2次把它复制到另一文件上。

C程序设计 (第四版) 谭浩强 例10.5 例10.5 有一个磁盘文件,内有一些信息。要求第1次将它的内容显示在屏幕上,第2次把它复制到另一文件上。 IDE工具:VS2010 Note: 使用不同的IDE工具可能有部分差异。 代码块 方法&a…

mysql支持的整数类型、各类型整数能够表示的数值范围

MySQL :: MySQL 8.2 Reference Manual :: 11.1.2 Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT mysql支持的整数有:TINYINT、SMALLINT、MEDIUMINT、INT(INT和INTEGER是同义词)、BIGINT,各…

【C#】序列化和反序列化,以及System.Text.Json和Newtonsoft.Json比较

给自己一个目标,然后坚持一段时间,总会有收获和感悟! 序列化和反序列化,在实际项目开发过程中用的最多。特别是有对接接口的小伙伴就深有体会。本篇文章就简单聊聊这个知识点。 目录 一、基本概念1.1、序列化1.2反序列化1.3、举例…

AI 赋能 | 智能制造的 AI 算法开发和工程实现

谈到智能制造、智慧工厂,愿景是美好的,借助计算机视觉技术和 AI 算法,为自动化生产线赋予环境感知的能力,从而改善工艺流程,提高生产效率。但是,随着柔性化生产的需求增长,产线的布局调整和功能…