01为什么要做软件质量管理(Why)
理想
持续地做出高质量的好软件
帮组织挣效率
持续:实现从依赖个人,偶然性做出成功产品,到制度化、持续地做出高质量的好软件。
组织:首先服务于集团内部,为集团内的各“组织”挣效率;其次,本“组织”内部不断改善,提高效率。
现实
人员
1、为了赶进度,人员加班加点;
2、版本上线后,人员仍无法释放,解决各种上线后问题,接到各种新需求;
3、高手经常在客户现场救火;
4、人员能力进阶培养机制缺失,无统一技术共享平台;
5、人的工作量、工作质量缺少量化管理(代码行、缺陷密度、文档质量等)。
规程与方法
1、缺少流程规范指导软件开发过程(自研、外部开发项目);
2、项目过程质量控制手段不足(项目未分类管理,如何开展技术评审,如何测试等);
3、版本发布标准缺失(进度、质量达到什么出口标准方可发版);
4、项目过程资产缺少统一管理(好的实践,失败的教训,需求文档,设计方案,测试用例,测试报告等);
5、项目质量评价激励机制缺失(交付时质量、交付后质量如何评价,如何激励)。
工具与设备
1、缺少项目实施过程数据监控(项目所处阶段、各阶段过程质量情况、变更控制情况、发版频次、缺陷情况等);
2、软件工程过程管理工具缺失(需求文档传递、需求编写与评审、需求基线与变更;软件开发计划、版本计划;缺陷跟踪、缺陷修复速度、缺陷修复质量;测试用例管理等)。
小结
把人员、规程与方法、工具与设备结合到一起,就是组织中所使用的过程。
过程使业务方式协调一致;
过程支撑业务的规模化发展与术业精进的知识整合;
过程促进资源的有效利用与对业务趋势的把握。
综上,必须要做好软件质量管理。
02怎样做好软件质量管理(How)
质量管理就像治病
扁鹊三兄弟的故事
魏文王曾求教于名医扁鹊他们三个兄弟谁的医术最好,扁鹊回答说:长兄最好,中兄次之,我最差。
长兄治未病,预测并及时预防疾病。(事前预防)
中兄治病初起时。(事中控制)
扁鹊治病于膏肓时。(事后弥补)
质量管理的三套体系
建立预防体系
建机制、做营盘,减少依赖个人英雄主义,通过体系保证“人”明确知道在项目的各个阶段,依据哪些输入,使用何种方法或工具,从事哪些活动,输出哪些交付物,这些交付物需要达到什么样的进度/质量/成本的目标。
建立流程,不断提高规范化水平,把经验和教训固化在流程中,按流程做,软件质量不会差;不按流程做,软件质量不确定,也可能好,也可能差,这依赖于人。
流程化的目的就是希望产品质量不要依赖于人,而是依赖于流程、制度和规范。这样做出来的产品质量就比较稳定,即使人员变更也会比较稳定。
流程要适宜、有效,则要在运行过程中不断优化。为保证流程容易执行、落地,应尽量让流程工具化,把流程固化在工具中。在使用工具时,大家按照工具的要求来做,无形中就执行了流程要求。如,使用JIRA管理版本发布申请,必须达到质量目标,经过技术经理、产品经理和版本经理审批通过后方可发版。
建立有效的检查体系
1:10:100法则意思是,在设计阶段花1块钱能解决的问题,在生产时要花10倍的成本来纠错,问题流出到客户,则至少要花100倍的成本来纠错。
事中控制,可以有如下措施:
1、技术评审
需求文档、架构设计、方案设计要进行充分地评审,提前发现问题,并使干系人达成一致。
3、过程与产品审核。流程和规范执行情况要被检查,确保按既定的流程和规范开展项目获得。
4、代码评审。确保代码实现符合设计要求,符合编码规范,符合安全开发规范等,最大限度提前发现问题。
建立快速抢救体系
版本上线后各类事件的处理,要有明确的事件管理流程,而且事件管理与问题管理、变更管理、配置管理打通,互相配合实现全生命周期管理。
03软件质量管理做什么(What)
建体系规范
1、预防体系
DevOps总体规范(含指南、模板、操作指导等)
工具链打通(JIRA、Confluence、Sonar、Jenkins等)
对比CMMI完善体系规范
2、检查体系
决策评审与技术评审分类,共同把关项目各过程
建立质量控制机制(评审、测试、审核等)
3、抢救体系
建立事件管理体系
事件管理与问题管理、变更管理、配置管理打通。
度量并持续改进体系规范
以度量为导向,度量过程执行效率,建立能力基线
体系规范持续优化,提升组织能力
建立并传播质量文化
质量是一把手工程,质量工作需自上而下开展
质量需全员参与,提高质量意识
建立组织资产库
项目线和资源线形成的组织资产应沉淀下来,作为组织的资产传承下去
改变碎片化知识获取,主动去学习提升并贡献经验,形成贡献知识库。
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。