- 如何做好一个产品?

- 用户、需求、文化、价值、设计、流程,这些因素缺一不可。

- 那么,如何做好产品的质量管理?
- 人、机器、物料、方法、环境、测量,这些因素同样缺一不可。

能够影响产品质量波动的因素包括如下方面: 人员(Man)、 机器(Machine)、 物料(Material)、 方法(Method)、 环境(Environment)、 测量(Measure),简称人、机、料、法、环、测。此为产品质量管理的5M1E。

最初,5M1E分析法用于生产车间中制造件的质量管理过程中,以期通过作业工序质量的改善,降低成本,提高作业系统的整体效率、质量。在实施了一段时间后,5M1E分析法帮助车间管理者在质量管理方面取得了巨大的成功,随着精益应用在软件行业的范围越来越广,人们逐渐发现,5M1E产品质量管理分析法在软件研发过程中的潜力也是无穷的。

一、人员

在操作人员这一方面,产品质量可能会因操作人员的厌烦情绪、意识不够以及操作动作不熟练等问题,降低产品质量。

同样,在软件研发过程中,也需要在人员方面将质量风险降至最低。那如何管理人呢?

  • 首先,通过宣传、培训 提高研发人员自身的研发技能、业务素养以及研发质量意识。通过研发人员自觉地加强质量意识,从而提高可控性。
  • 其次,加强 研发过程的沟通,让工作透明化,减少工作过程中因沟通不便、流程冲突而产生的产品设计缺陷。
  • 然后, 明确“自管理”,责任具体落实到个人。避免产生将质量和研发割裂的情况,调动起研发人员的积极性,提高研发人员的参与感与责任感。
  • 最后,主动 核实、明确用户需求。避免产生产品设计不能满足用户需求的情况。

二、机器

在机器设备这一方面,设备的损耗、性能检测等方面出现的问题也会对产品质量产生影响。

在软件研发方面,合理使用工具也会提高产品质量,如:

  • 通过项目管理工具,方便查看、管理项目进度、人员状态;
  • 搭建测试管理工具,方便编写及后期跟踪用例、查看测试详情;
  • 善用自动化测试工具,减少人工测试成本,提高测试效率等。

三、物料

实际的产品生产流程中,供应商提供的原材料决定了交付的产品质量,一般情况下,原材料需要标注来源,经过质检合格后才能用于生产过程。

同样,在实际动手写代码前,则需要产品经理厘清需求、设计原型。与传统制造业所打造的大量流水线产品不同,软件产品的需求是不断变化的,如果最初的需求不清晰,或者中途更改的需求没有同步到研发人员的手中,那就无法把控软件的产品质量/价值。

如何把控软件的“料”呢?

一方面是产品经理需要 严格记录需求,评估可行性,做好产品计划。

另一方面,产品经理要为研发人员与实际客户(用户)之间牵线搭桥, 减少需求传递时出现的失真,毕竟,有些需求说着说着就变质了。

四、方法

为了减少流程方法对产品质量的影响,精益生产决定实现“自働化”,也就是在生产过程中加入自动化机器。例如,当流水线发生异常时,机器本身能够感应到并及时停止。通过“自働化”,能够确保安全、保证产品质量。此外,精益生产还会通过“ 尽量缩小批量,快速变换模具”来保证多种类产品的产品质量。

5M1E中的“法”意味着研发团队要足够重视代码规范:不论是命名规范、格式规范、日志规范,还是单元测试覆盖率,都是保证代码质量的有利武器。同时,看到烂代码也应“ 大胆重构,小心测试”。

五、环境

环境,一般指的是生产现场的温度、湿度、噪音干扰、振动、照明、室内净化和现场污染程度等。在确保产品对环境条件的特殊要求外,还要做好现场的整理、整顿和清扫工作,大力搞好文明生产,为持久地生产优质产品创造条件。

软件研发除保证必要的办公环境整洁之外,还有保证虚拟环境的整洁,这也一部分会在“5S管理”一篇中详细展开。在这里想要着重强调的一点是,团队要尽可能地在同一地点办公,进行充分的沟通、交流,避免产生信息孤岛。

六、测量

测量,要注意测量过程中的仪器的选择、测量维度、测量标准等。

不论是传统制造业的测量,还是软件行业的测试,目的都是为了发现问题,证明问题存在,从而使产品尽善尽美。

具体来说要如何去做?

  • 首先要确保测试流程的规范程度:提取测试需求 - 编写测试用例 - 测试执行 - 提交Bug - Bug验证跟踪 - 回归测试 - 验收 - 生成测试报告;
  • 其次要通过各种方法 编写合理的测试用例,如:等价类划分、因果图法、场景分析法、正交分析法、路径覆盖、逻辑覆盖、语句覆盖等;
  • 最后要确保用例的广度和深度,以及测试执行的充分性。

随着各个流程环节的逐渐增加,5M1E产品质量管理分析法能够帮助团队快速厘清是哪一环节出现的问题。但方法起到的只是辅助作用,在实践过程中,我们仍需要融会贯通,不断地优化、改进产品交付流程。

5M1E,软件质量管理最佳解决方案的更多相关文章

  1. 精通Web Analytics 2.0 (12) 第十章:针对潜在的网站分析陷阱的最佳解决方案

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第十章:针对潜在的网站分析陷阱的最佳解决方案 是时候去处理网站分析中最棘手的一些问题了,然后获得属于你的黑带,这是成为分析忍者的 ...

  2. 读《软件需求最佳实践》YOUGAN

    这几天在看<软件需求最佳实践>作者徐锋老师的软件需求培训,三天的课程,虽然原来对需求也关注了很多,自己也做过需求分析和开发的工作,但是这次培训感觉收获还是很多.三天的培训先做个记录,后续多 ...

  3. synergy最佳解决方案——barrier

    synergy最佳解决方案--barrier ​ 不知道大家有没有一套键盘鼠标控制多台电脑的需求,主流的硬件或说软件有大神整理如下: 软件方案: Windows 之间:Mouse Without Bo ...

  4. Atitit 桌面软件跨平台gui解决方案 javafx webview

    Atitit 桌面软件跨平台gui解决方案 javafx webview 1.1. 双向js交互1 1.2. 新弹出窗口解决1 1.3. 3.文档对象入口dom解析1 1.4. 所以果断JavaFX, ...

  5. Atitit 全屏模式的cs桌面客户端软件gui h5解决方案 Kiosk模式

    Atitit 全屏模式的cs桌面客户端软件gui h5解决方案 Kiosk模式 1.1. Kiosk Software广泛用于公共电脑或者嵌入系统,最常用的就是ATM机.自动服务机之类的系统了.,1 ...

  6. Maven WEB 项目使用ProGuard进行混淆,最佳解决方案

    Maven WEB 项目使用ProGuard进行混淆,最佳解决方案 近期公司的Android项目做了混淆,虽说对于保护代码并不是100%的,但混淆后的代码可以使那些不法份子难以阅读,这样也能对代码的保 ...

  7. radio中最佳解决方案

    radio中最佳解决方案 1.html中 <td> <input id="status" name="status" type="r ...

  8. php如何实现定时任务,php定时任务方法,最佳解决方案,php自动任务处理

    php如何实现定时任务,php定时任务方法,最佳解决方案,php自动任务处理 Joe PHP 2012-01-18 定时任务对于php来说一直都是很多朋友的一个难题,但却很多地方都遇到了.比如说:游戏 ...

  9. javascript 解决默认取整的坑(目前已知的最佳解决方案)

    javascript 解决默认取整的坑(目前已知的最佳解决方案) 复现该问题 js在数字操作时总会取更高精度的结果,例如1234/10结果就是123.4,但是在c或者java中整数除以10的结果还是整 ...

随机推荐

  1. webpack 安装使用简例

    1. 新建项目文件夹,如 webpack-demo 2. cd 到安装项目根目录,即进入webpack-demo文件夹,命令行工具输入"npm install webpack webpack ...

  2. 深入刨析tomcat 之---第3篇 HTTP/1.1 长连接的实现原理

    writedby 张艳涛 长连接是HTTP/1.1的特征之一,1.1出现的原因是因为一个客户请求一个网页,这是一个http请求,这个网页中如果有图片,那么也会变为一个http请求,对于java客户端, ...

  3. SaltStack 任意文件读写漏洞(CVE-2020-11652)

    漏洞影响 SaltStack < 2019.2.4 SaltStack < 3000.2 同CVE-2020-11651 poc git clone https://github.com/ ...

  4. LATEX学习和IEEE Tran模板介绍

    目录 软件的选择 IEEE 模板下载 模板正文 图 表格 公式 算法 参考文献 Latex学习网站:http://www.latexstudio.net/page/tex-documents/ IEE ...

  5. 三层交换机和VLAN

    目录 一.VLAN的概述及优势 二.VLAN的种类 三.静态VLAN的配置 四.Trunk介绍与配置 五.三层交换机转发原理 一.VLAN的概述及优势 分割广播域 物理分割 逻辑分割 VLAN的优势: ...

  6. MySQL 事务、日志、锁、索引学习总结,

    MySQL架构 MySQL可分为Server和存储引擎两部分,如图1所示. Server层:包括客户端连接器.查询缓存.解析/预处理器.优化器.执行器等,以及MySQL内置函数和所有跨引擎的功能都在这 ...

  7. Java-Dubbo学习及整合SpringBoot

    Dubbo架构 Dubbo是Java的RPC框架,具有三大核心功能:面向接口的远程方法调用,智能容错和负载均衡,以及服务的自动注册和发现 Dubbo架构图: 节点角色说明: 节点 说明 Provide ...

  8. MySQL 不完全入门指南

    由于 MySQL 的整个体系太过于庞大,文章的篇幅有限,不能够完全的覆盖所有的方面.所以我会尽可能的从更加贴进我们日常使用的方式来进行解释. 小白眼中的 MySQL 首先,对于我们来说,MySQL 是 ...

  9. iOS-block循环引用详解和应用

    Block循环引用 什么情况下block会造成循环引用 ARC 情况下 block为了保证代码块内部对象不被提前释放,会对block中的对象进行强引用,就相当于持有了其中的对象,而如果此时block中 ...

  10. 012 PCIe总线的基础知识

    一.PCIe总线的基础知识 与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端.PCIe总线除了总线链路外,还具有多 ...