5M1E,软件质量管理最佳解决方案
- 如何做好一个产品?
- 用户、需求、文化、价值、设计、流程,这些因素缺一不可。
- 那么,如何做好产品的质量管理?
- 人、机器、物料、方法、环境、测量,这些因素同样缺一不可。
能够影响产品质量波动的因素包括如下方面: 人员(Man)、 机器(Machine)、 物料(Material)、 方法(Method)、 环境(Environment)、 测量(Measure),简称人、机、料、法、环、测。此为产品质量管理的5M1E。
最初,5M1E分析法用于生产车间中制造件的质量管理过程中,以期通过作业工序质量的改善,降低成本,提高作业系统的整体效率、质量。在实施了一段时间后,5M1E分析法帮助车间管理者在质量管理方面取得了巨大的成功,随着精益应用在软件行业的范围越来越广,人们逐渐发现,5M1E产品质量管理分析法在软件研发过程中的潜力也是无穷的。
一、人员
在操作人员这一方面,产品质量可能会因操作人员的厌烦情绪、意识不够以及操作动作不熟练等问题,降低产品质量。
同样,在软件研发过程中,也需要在人员方面将质量风险降至最低。那如何管理人呢?
- 首先,通过宣传、培训 提高研发人员自身的研发技能、业务素养以及研发质量意识。通过研发人员自觉地加强质量意识,从而提高可控性。
- 其次,加强 研发过程的沟通,让工作透明化,减少工作过程中因沟通不便、流程冲突而产生的产品设计缺陷。
- 然后, 明确“自管理”,责任具体落实到个人。避免产生将质量和研发割裂的情况,调动起研发人员的积极性,提高研发人员的参与感与责任感。
- 最后,主动 核实、明确用户需求。避免产生产品设计不能满足用户需求的情况。

二、机器
在机器设备这一方面,设备的损耗、性能检测等方面出现的问题也会对产品质量产生影响。
在软件研发方面,合理使用工具也会提高产品质量,如:
- 通过项目管理工具,方便查看、管理项目进度、人员状态;
- 搭建测试管理工具,方便编写及后期跟踪用例、查看测试详情;
- 善用自动化测试工具,减少人工测试成本,提高测试效率等。

三、物料
实际的产品生产流程中,供应商提供的原材料决定了交付的产品质量,一般情况下,原材料需要标注来源,经过质检合格后才能用于生产过程。
同样,在实际动手写代码前,则需要产品经理厘清需求、设计原型。与传统制造业所打造的大量流水线产品不同,软件产品的需求是不断变化的,如果最初的需求不清晰,或者中途更改的需求没有同步到研发人员的手中,那就无法把控软件的产品质量/价值。
如何把控软件的“料”呢?
一方面是产品经理需要 严格记录需求,评估可行性,做好产品计划。
另一方面,产品经理要为研发人员与实际客户(用户)之间牵线搭桥, 减少需求传递时出现的失真,毕竟,有些需求说着说着就变质了。
四、方法
为了减少流程方法对产品质量的影响,精益生产决定实现“自働化”,也就是在生产过程中加入自动化机器。例如,当流水线发生异常时,机器本身能够感应到并及时停止。通过“自働化”,能够确保安全、保证产品质量。此外,精益生产还会通过“ 尽量缩小批量,快速变换模具”来保证多种类产品的产品质量。
5M1E中的“法”意味着研发团队要足够重视代码规范:不论是命名规范、格式规范、日志规范,还是单元测试覆盖率,都是保证代码质量的有利武器。同时,看到烂代码也应“ 大胆重构,小心测试”。

五、环境
环境,一般指的是生产现场的温度、湿度、噪音干扰、振动、照明、室内净化和现场污染程度等。在确保产品对环境条件的特殊要求外,还要做好现场的整理、整顿和清扫工作,大力搞好文明生产,为持久地生产优质产品创造条件。
软件研发除保证必要的办公环境整洁之外,还有保证虚拟环境的整洁,这也一部分会在“5S管理”一篇中详细展开。在这里想要着重强调的一点是,团队要尽可能地在同一地点办公,进行充分的沟通、交流,避免产生信息孤岛。
六、测量
测量,要注意测量过程中的仪器的选择、测量维度、测量标准等。
不论是传统制造业的测量,还是软件行业的测试,目的都是为了发现问题,证明问题存在,从而使产品尽善尽美。

具体来说要如何去做?
- 首先要确保测试流程的规范程度:提取测试需求 - 编写测试用例 - 测试执行 - 提交Bug - Bug验证跟踪 - 回归测试 - 验收 - 生成测试报告;
- 其次要通过各种方法 编写合理的测试用例,如:等价类划分、因果图法、场景分析法、正交分析法、路径覆盖、逻辑覆盖、语句覆盖等;
- 最后要确保用例的广度和深度,以及测试执行的充分性。
随着各个流程环节的逐渐增加,5M1E产品质量管理分析法能够帮助团队快速厘清是哪一环节出现的问题。但方法起到的只是辅助作用,在实践过程中,我们仍需要融会贯通,不断地优化、改进产品交付流程。
5M1E,软件质量管理最佳解决方案的更多相关文章
- 精通Web Analytics 2.0 (12) 第十章:针对潜在的网站分析陷阱的最佳解决方案
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第十章:针对潜在的网站分析陷阱的最佳解决方案 是时候去处理网站分析中最棘手的一些问题了,然后获得属于你的黑带,这是成为分析忍者的 ...
- 读《软件需求最佳实践》YOUGAN
这几天在看<软件需求最佳实践>作者徐锋老师的软件需求培训,三天的课程,虽然原来对需求也关注了很多,自己也做过需求分析和开发的工作,但是这次培训感觉收获还是很多.三天的培训先做个记录,后续多 ...
- synergy最佳解决方案——barrier
synergy最佳解决方案--barrier 不知道大家有没有一套键盘鼠标控制多台电脑的需求,主流的硬件或说软件有大神整理如下: 软件方案: Windows 之间:Mouse Without Bo ...
- Atitit 桌面软件跨平台gui解决方案 javafx webview
Atitit 桌面软件跨平台gui解决方案 javafx webview 1.1. 双向js交互1 1.2. 新弹出窗口解决1 1.3. 3.文档对象入口dom解析1 1.4. 所以果断JavaFX, ...
- Atitit 全屏模式的cs桌面客户端软件gui h5解决方案 Kiosk模式
Atitit 全屏模式的cs桌面客户端软件gui h5解决方案 Kiosk模式 1.1. Kiosk Software广泛用于公共电脑或者嵌入系统,最常用的就是ATM机.自动服务机之类的系统了.,1 ...
- Maven WEB 项目使用ProGuard进行混淆,最佳解决方案
Maven WEB 项目使用ProGuard进行混淆,最佳解决方案 近期公司的Android项目做了混淆,虽说对于保护代码并不是100%的,但混淆后的代码可以使那些不法份子难以阅读,这样也能对代码的保 ...
- radio中最佳解决方案
radio中最佳解决方案 1.html中 <td> <input id="status" name="status" type="r ...
- php如何实现定时任务,php定时任务方法,最佳解决方案,php自动任务处理
php如何实现定时任务,php定时任务方法,最佳解决方案,php自动任务处理 Joe PHP 2012-01-18 定时任务对于php来说一直都是很多朋友的一个难题,但却很多地方都遇到了.比如说:游戏 ...
- javascript 解决默认取整的坑(目前已知的最佳解决方案)
javascript 解决默认取整的坑(目前已知的最佳解决方案) 复现该问题 js在数字操作时总会取更高精度的结果,例如1234/10结果就是123.4,但是在c或者java中整数除以10的结果还是整 ...
随机推荐
- informix错误代码小结
informix错误代码小结 所有错误可以用finderr+错误代码查到,英文的,这里中文注释便于理解. -100 错误的描述:C-ISAM错误:向具有唯一索引的字段加入一个重复值. 系统的操作:该 ...
- 第四篇 -- CSS基础
表单.单选.下拉框.文本域.多选框.提交.重置.按钮 <!DOCTYPE html> <html lang="en"> <head> <m ...
- 【硬核】MMU是如何完成地址翻译的
目录 1. 什么是虚拟内存? 2. 虚拟内存的作用 3. 虚拟内存与物理内存 3.1 CPU存取数据 3.2 物理地址常用术语 3.3 虚拟地址常用术语 3.4 页表常用术语 3.5 页命中/缺页 4 ...
- 开机时自动启动的AutoHotkey脚本
;;; 开机时自动启动的AutoHotkey脚本;; 此脚本修改时间 2019年06月18日20时48分;; 计时器创建代码段 ------------------------------------ ...
- 巧用map解决nginx的Location里if失效问题
需求: Nginx根据参数来输出不同的header 我们想用Nginx来判断一些通用的参数, 根据参数情况在输出中不同的header, 或者cookie, 那么根据正常思路, 有如下配置: locat ...
- OpenFaaS实战之九:终篇,自制模板(springboot+maven+jdk8)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- vulnhub靶机-XXE Lab 1
目录 信息收集 漏洞利用 信息收集 扫描目标主机,ip为192.168.88.154 nmap扫描结果 存在robots.txt文件.直接访问其中的admin.php显示404,加一层目录访问/xxe ...
- HCIA-数据链路层
数据链路层 1.数据的差错检测 |FCS| 2.组帧|解帧 |数据帧帧头 帧尾| 3.标识身份 |MAC地址| 以太网络标准数据链路层的标准 数据链路层不仅仅只有以太网 地域来进行分类 局域网:小型地 ...
- jmeter之JDBC类组件
~什么是JDBC?:全称名为Java DataBase Connectivity,(java数据库连接),在jmeter中是一种可以远程操作数据库的一类组件. ~jmeter如何操作数据库?:jmet ...
- 常见的Web攻击手段,拿捏了!
大家好,我是小菜. 一个希望能够成为 吹着牛X谈架构 的男人!如果你也想成为我想成为的人,不然点个关注做个伴,让小菜不再孤单! 本文主要介绍 互联网中常见的 Web 攻击手段 如有需要,可以参考 如有 ...