研发质量管理---(1)质量管理总结



目录
第一章 质量管理知识
•质量管理体系
•技能知识
•业务知识
第二章 质量管理技能
•过程改进
•质量策划
•过程跟踪和控制
•度量及数据分析
•问题风险识别与管控
•成本控制与效率提升
第三章 心得体会

本人毕业后干了两年的开发,后来一直从事质量管理、敏捷教练工作,到现在将近十年了。最近心血来潮,对这几年的质量工作做个简单的梳理,主要是QA方面的,这是个不受人待见的岗位,能坚持这么多年自己都觉得不容易。

主要从三方面思考吧,首先是质量管理知识,然后是质量管理技能,最后是一些心得体会。

第一章 质量管理知识

第一节 质量管理体系
研发质量管理---(1)质量管理总结_第1张图片

–ISO9001:2015:最常见的质量管理标准,适用各行业。
–ISO20000:2011:IT服务管理(ITSM)标准,它从ITIL发展而来,含13个管理流程。跟ITIL的区别:ITIL是最佳实践的集合,ISO20000是一种国际标准。
–TL9000:电信行业质量管理体系的要求和测量标准,含TL9000要求手册5.5、TL9000测量手册5.0。以ISO9001标准TL9000认证为基本要求,增加电信行业的专业要求和电信产品的测量指标。
–ISO27001:2013:信息安全管理标准,一般政府、银行、证券、网络公司才要求
–GJB国军标:国家军用标准,军工企业涉及,元器件的标准。
–可靠性认证:可靠性不算一个质量管理体系,但是跟质量密切相关的概念。目的是发现产品在设计、材料和工艺等方面的各种缺陷,经分析和改进,使产品可靠性逐步得到增长,最终达到预定的可靠性水平。最常见的有3C认证。
–六西格玛:最早由摩托罗拉提出的基于数据度量分析的管理策略,原理是检测到多少缺陷,就可以找出如何系统地减少缺陷。6 σ标准是出错率不超百万分之3.4,在制造业中较常用。分为绿带、黑带、黑带大师。
–IPD/HPPD:集成产品开发, IBM最先将IPD付诸实践。核心思想是在开发过程设置检查点,通过阶段性评审,基于市场需求和竞争分析来决定项目继续、暂停、终止还是改变方向。分六个阶段,四个决策,六个TR点。
研发质量管理---(1)质量管理总结_第2张图片
–CMMI-dev-V1.3:软件能力成熟度模型集成,1994年由美国国防部与卡内基-梅隆大学共同制定的(当时叫CMM),衡量软件开发过程成熟度的模型,含五个级别,共22个过程域。
研发质量管理---(1)质量管理总结_第3张图片
研发质量管理---(1)质量管理总结_第4张图片
–敏捷:是针对传统的瀑布开发模式的弊端而产生的一种开发模式。2001年敏捷宣言及原则发布、敏捷联盟成立。主流方法Scrum、XP、FDD等
–PMP:虽然是项目管理的证书,但一般管质量的都要熟悉项目管理。通过考PMP可以将项目管理知识系统的学习一遍,还是有收获的。
研发质量管理---(1)质量管理总结_第5张图片
第二节 质量管理工具
–Minitab:最初作为六西格玛实施的辅助工具,现在各种质量统计分析都会用到,可统计分析各种复杂图表
–思维导图:Xmind\FreeMind\MindMind
–TFS:Team Foundation Server,微软的生命周期管理工具,集成源代码管理、数据收集、报告和项目跟踪,较适合敏捷项目管理
–旧QC七大工具(还有新QA七大工具的说法,但使用较少)
•因果图\鱼骨图\石川图:找原因
•层别法:按层分类,分别统计分析
•检查表:调查记录数据用以分析
•柏拉图\排列图:找出重要的少数,二八原则
•直方图:了解数据分布
•控制图:找异常点
•散点图:找出两者的关系
–其他常用图表
•亲和图\FMEA\PDCA
研发质量管理---(1)质量管理总结_第6张图片

第三节 技术知识-研发和运维相关知识

•掌握完整产品生命周期知识:需求、设计、编码、测试、发布等研发过程涉及的相关技术
•运维知识,如:部署更新、开局、运维度量指标
•产品周边相关知识领域,如:电信项目要了解通信协议知识,音视频通讯项目要了解网络基础知识,银行项目要了解金融相关知识
•熟悉相关岗位及相应工具的使用,如:项目管理、配置管理、测试、EPG
•含硬件的项目还需熟悉硬件开发相关知识,如:结构、工艺、元器件、物料选型、原理图\PCB、逻辑、微码、可靠性测试、生产、物流等知识

第四节 业务知识-产品形态、业务模式或运营模式

•对自己所跟进项目的特点非常熟悉,如:产品形态、业务模式、常用功能、面向用户、产品演进、面临的挑战、关联项目

•能够和产品经理、项目经理有效沟通和讨论产品形态、业务模式或运营模式
•能将自己了解的产品知识跟他人讲解清楚
•还要了解上线后常见的问题,了解这些问题对应的处理责任人
•QA的瓶颈往往是在业务知识上,因为不同行业的业务知识差别较大,去到一个新的行业就要了解这个行业的知识,挑战还是比较大的。

第二章 质量管理技能

第一节过程改进-过程制定、改进及推广

  • 有能力根据经验制定某个过程的流程规范、工作指引、审核检查单,能固化日常工作流程、最佳实践,形成标准流程

  • 对公司现有的流程规范非常熟悉,能对项目成员提供培训,传播公司质量管理文化,能随时回答项目成员对流程的疑问

  • 能够针对不同项目的特点,设计适合本项目的质量管理流程,并不断改进和完善

  • 在项目团队内部建立质量意识,促使团队成员主动改进产品质量,形成质量内建文化

  • 随时记录各种途径收集到的过程改进意见,不断优化流程


  • 第二节质量策划-目标、策略、计划

  • 质量目标

    • 质量目标是项目的交付标准,未达目标一般意味着产品还存在重大缺陷,不允许提交给客户

    • 规划阶段,需与项目经理一起制定项目质量目标,并让项目成员了解项目达到什么标准,才能放行。

  • 质量策略

    • 为达到质量目标,需针对每一项质量目标制定对应的质量策略,否则空有目标也很难达成,或者到了放行阶段又不得不放行

    • 比如质量目标“BUG关闭率>=85%”,相应的策略可以是:1、各项BUG信息需完整正确的录入;2、所有BUG都有明确的责任人;3、当前负责人处理后需及时指派BUG,测试及时完成验证;4QA每周收集BUG关闭数据,出现异常的及时与项目负责人沟通;……

  • 质量保证计划

    • 质量保证计划是QA执行质量保证活动的纲领,内容一般包含:角色职责、过程审核计划、工作产品审核计划、审核频度、审核方法、沟通计划、记录和保存

    • 质量保证计划需与项目开发计划相对应,并跟随项目的开发过程不断更新,项目发生变更,质量保证计划也需相应调整

  • 质量保证计划是逐步细化的过程,项目每进入一个阶段要跟项目团队明确本阶段的质量活动。


  • 第三节过程跟踪和控制-跟踪和控制

  • QA根据质量保证计划,参与各项活动,并对活动过程进行跟踪,控制项目全流程符合公司规范,同时还要将项目的真实情况客观的展示给干系人。

  • 发现问题后,能及时提出改进意见,并与责任人一起制定改进措施,跟踪措施的落地,保证项目健康运行。

    • 发现问题后,如何让责任人接受你的观点,是最考验QA能力的

    • 发现未后还要确保问题得到闭环处理

  • QA执行过程跟踪和控制最重要的产出物:审核报告、质量报告、质量回溯报告。

    • 按照QA审核检查单,对项目全过程、重要交付物、关键活动都可以进行审核,并输出客观的审核报告。审核报告必须能体现做的好的,需要改进的

    • 定期发布质量保证报告,将本周期内项目的质量状况反映出来,重点报告项目的问题和风险,提醒项目注意改进。

    • 重大问题要组织项目进行质量回溯(复盘),输出回溯报告。

  • 常用审核方法

    • 直接参与\访谈\旁观\内审\外审\供应商审核

    • 直接参与是比较好的办法,比如参与需求设计评审、代码会议评审等活动,虽然不一定能提出建设性的问题,但至少你能知道各评委提了哪些问题,确保这些问题是否得到记录、跟踪、解决

  • 当你对某个活动一窍不通的时候,可以要求对方给你讲解,讲的通就行了


  • 第四节度量及数据分析-度量方法及数据分析的意义

  • 度量也是质量保证的一项重要活动,由于软件开发是看不见摸不着的,要想客观反应开发过程的真实情况,必须采集度量数据。

  • 度量必须是一面镜子,真实反映项目客观情况,数据一旦造假就失去意义,所以度量指标尽量不用于考核。

  • 度量一般是简单易行的,要考虑度量成本,如果需要花费太大的工作量,那是得不偿失。

  • 数据获取后,还需进行分析,发现数据异常后,需引导项目深入分析原因,并采取纠正措施。常用的数据分析方法,请阅前面的质量管理工具章节。

  • CMMI四级标准中,要求组织建立完善的度量体系,可以利用度量对软件过程和产品做出推断和控制。


  • 第五节问题风险识别与管控-识别并管控

  • 风险说白了就是影响质量目标达成的因素。QA需把规避项目的风险/问题放在质量管理的重要位置,逐步积累风险管控经验。

  • 包括风险识别、风险分析、风险控制和风险跟踪。

    • 风险识别可以对照风险/问题库(清单),从需求、技术、成本和进度等方面依次判断项目是否可能存在类似的问题。平时需要收集整理常见风险,补充到风险/问题库。

    • 风险分析主要是对风险进行量化,确定风险的影响、优先级、概率,确定一个最终的风险系数。

    • 风险系数超过一定阈值的,就要对风险进行控制,是避免、减弱、转移、还是承担?都要制定相应的控制措施。

    • 最后要定期跟踪这些控制措施是否有效执行

  • 风险/问题管理最终是要项目负责人执行的,要引导项目主动识别问题风险,建立质量内控文化才是根本办法。


  • 第六节成本控制与效率提升-控制成本,提升效率

  • 做了一系列的质量活动,是否都值得?质量投入是否能大于产出?需要引入质量成本的概念。

    • 质量成本指在产品生命周期中为预防不符合要求、为评价产品或服务是否符合要求,以及因未达到要求,而发生的所有成本。

  • 质量成本包含一致性成本和非一致性成本。

    • 一致性成本包括预防成本(如同行评审)和评估成本(如测试、QA审核);

    • 非一致性成本又称为失败成本,又分为内部失败成本(项目主动发现问题并弥补发生的成本,如改BUG)和外部失败成本(已给客户造成损失,如返工)。

    • 质量成本=预防成本+评估成本+内部失败成本+外部失败成本

  • 不管是一致性成本还是非一致性成本,都是要降低的。

    • 我们执行质量保证活动的时候要考虑到成本因素。

    • QA不管做什么都是产生质量成本的,要让自己的活动有价值,就要尽量提升效率,减少非一致性成本。

几点心得体会

  • 质量管理核心思想是预防,预计可能出问题时要主动与团队沟通,不要等问题出现了才介入。当然如果团队不配合,先让其受点教训再介入也是个办法。

  • 提出问题要有理有据,自己要先理解我们的流程为什么要这么要求,要想别人接受我们提出的问题,先要说服我们自己。流程没有规定的不能强制要求执行,当然也不能放之不管,可在遵守质量管理基本原则的基础上提出建议,或者事后再给出答复。

  • 有原则性,当观点与团队不一致时,要在遵守基本原则的基础上争取对方的妥协,不能项目说怎样就跟着怎样。也不能死守成规,可在取得相同效果的情况下,简化流程,这就需要掌握好“度”。

  • 主动了解各方面的知识,要想别人接受我们,先要让自身变的比对方强。不需要精通各项知识,但要有基本的了解,比如不懂编码,但可以了解代码静态检查、代码走查等方面的知识。

  • QAQC的区别:QA是要把控全流程的,通过保证开发过程的规范性来规避质量问题,重在预防;QC是工作产品出来后进行测试,当然现在TDDATDD也强调测试提前,但归根结底还是在末端做控制。

  • QACMMI的产物,现在CMMI越来越不受待见,主流是往敏捷方面转型,所以QA也要适应潮流,尽量掌握敏捷教练的技能。

  • QA是服务型的角色,当你给对方提出问题,要项目怎么怎么做时,谁的心里都会不舒服,自然有排斥心里。且由于QA所提问题基本是流程规范强制要求执行的,所以两者经常产生冲突,这是很正常的,我们受点委屈也是正常的。

  • 敏捷教练虽然也是服务型的,但他提的意见更多属于建议,不会强制要求项目要怎么做,更能被项目所接受,所以QA应多学学教练的技巧,弱化警察、法官的角色


你可能感兴趣的:(质量管理)