质量和速度之间权衡让人很难取舍,而通过推进质量工程,以系统化的方式识别和优化系统痛点,可以帮助团队构建既快又好的精益软件生产系统。原文: Quality Engineered, Speed Delivered[1]
所有人都想要更快的速度。
但需要解决复杂问题:
权衡质量会让我们变慢 质量实践在一开始会减缓速度 仅靠方法或技术是不够的
从软件工程师到CIO/CTO的经历使我确信,可以构建基于MAMOS的精益软件生产系统,从而以可持续的速度交付软件。
质量和速度的痛点
这个复杂而不确定的世界要求企业能以极短的周期适应变化。
在软件驱动的组织中,业务速度直接依赖于快速变更软件的能力,使其成为生存的必要条件。
软件的痛点可以分为两类:
质量: 满意度、可用性、质量、可靠性等。 速度: 交付时间、迭代周期、确认或解决问题的时间。
目标是识别软件生产系统中最重要的质量和速度问题。不是所有问题都很重要,有些是原因,而有些是结果。
基于此,可以利用MAMOS软件生产系统架构来映射问题根源。
MAMOS: 质量工程背后的力量
作为软件工程师,我曾为自己无法控制问题而感到痛苦: 等待外部运维团队来"计划"变更,无法刷新数据,糟糕的规格说明。
当我转到项目管理时,我充满乐观,希望能有更多权力,但在管理和组织层面却面临着其他结构性问题。
有时我意识到把精力浪费在了错误的优先级上,例如,在质量实践上,这些实践在单独推动之后无法持续下去。
当我获得整个软件生产系统的自主权时,情况发生了变化。
我能够:
将业务内部化,注入协作和自助服务的文化 帮助业务人员获得业务分析的正确数据 在职责范围内分享愿景和使命 改变团队架构以创建平台和支持团队 设置与全球转型目标一致的管理激励机制
这些行动使我们能够以可持续的速度加速软件交付,并意识到在整个价值链上注入质量可以更快获得有价值的回报。
MAMOS是基于方法(Methods)、架构(Architecture)、管理(Management)、组织(Organization)和技能(Skills) 这5个领域来组织软件生产系统的简化架构。
制定行动计划
质量工程软件生产系统需要在更改任何内容之前对当前状态有很好的理解。
MAMOS帮助我们看清系统图景,构建正确视角,使我们能够识别最重要的质量和速度问题。
制定行动计划需要:
映射MAMOS系统的当前状态 确定质量和速度的痛点 根据MAMOS领域定义优先级
步骤1提供了软件生产系统元素之间发生交互的可见性: 哪些方法用于计划或审查工作,架构风格如何影响迭代流程,正在推动哪些激励管理措施,组织设计如何影响团队架构和流程。
步骤2使我们能够对问题进行排序,以关注影响业务目标的限制因素。这个阶段是适应精益实践的阶段,比如影响映射、根因分析、价值流或流程。
步骤3整合执行计划,有效解决每个MAMOS区域识别的难点。例如,分散的团队组织需要对组织采取行动,而后期的返工问题则需要通过左移针对方法采取行动。在这个阶段,时间限制、增量步骤和关注价值的敏捷实践比较受欢迎。
通过执行扩大影响力
在处理软件生产系统时,很容易陷入消极的优化陷阱,将精力浪费在与业务结果无关的优先级上。
质量和速度的痛点必须与业务目标相联系,业务目标通过结果、KPI及其他指标有助于衡量转化是否成功。
成功的计划将支持企业快速适应不断变化的环境,并为快速交付的软件生产系统进行质量工程。
欢迎来到质量工程。
你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。微信公众号:DeepNoMind
参考资料
Quality Engineered, Speed Delivered: https://qeunit.com/blog/quality-engineered-speed-delivered