- 如何做好一个产品?

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

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

能够影响产品质量波动的因素包括如下方面: 人员(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. odoo ORM中的filed的关系映射的使用详解1

    前言 前面我们详细讲解了odoo ORM中fields中的常见属性的使用,根据不同的属性可以对字段进行不同的限制操作,比如readonly只读,store是否存储到数据库.今天我们继续研究ORM中的关 ...

  2. CAS 原理 应用

    原子CAS操作 原子操作指令里,有原子加,原子减,cas到底是什么呢? 首先看一段代码, bool compare_and_swap(int *accum, int *dest, int newval ...

  3. intouch 开发源程序加密方法

    在先前项目中,因为同行竞争被拷贝走了源程序代码,以至于被上司责备,故而亡羊补牢对intouch(10.1老版本进行源代码加密探索)整理方法如下. 1.intouch wondermarker打开源程序 ...

  4. 大数据学习(11)—— Hive元数据服务模式搭建

    这一篇介绍Hive的安装及操作.版本是Hive3.1.2. 调整部署节点 在Hadoop篇里,我用了5台虚拟机来搭建集群,但是我的电脑只有8G内存,虚拟机启动之后卡到没法操作,把自己坑惨了. Hive ...

  5. webRTC的标准与发展

    Web实时通信(WebRTC)是标准,协议和JavaScript API的集合,两者的组合可实现浏览器(对等)之间的对等音频,视频和数据共享.WebRTC无需依赖第三方插件或专有软件,而是将实时通信转 ...

  6. [GXYCTF2019]Ping Ping Ping(ping命令执行绕过Waf)

    记一道ping注入的题.过滤了很多字符. 分析 简单的测了一下,很容易就拿到了flag.php和index.php. 但是存在waf无法直接查看.直接?ip=127.0.0.1|cat flag.ph ...

  7. C++ //函数调用运算符重载 (仿函数)

    1 //函数调用运算符重载 2 3 #include <iostream> 4 #include <string> 5 using namespace std; 6 7 //函 ...

  8. 刷到血赚!字节跳动内部出品:722页Android开发《360°全方面性能调优》学习手册首次外放,附项目实战!

    前言 我们平时在使用软件的过程中是不是遇到过这样的情况:"这个 app 怎么还没下载完!"."太卡了吧!"."图片怎么还没加载出来!".&q ...

  9. Salesforce Integration 概览(七) Data Virtualization数据可视化

    本篇参考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdf Salesforc ...

  10. Docker部署Jenkins 2.285版持续部署集成实践(1)

    抓取Jenkins镜像 docker pull jenkins/jenkins 创建映射本地路径: 运行Jenkins实例 docker for windows: docker run -it -p ...