PDCA循环——快速提升软件质量的必备工具
伴随着行业的快速发展,原有的研发模式逐渐不能适应高速发展的市场大环境。因此,敏捷开发模式应用而生。敏捷开发方法以其简单高效、灵活快速、持续交付等特点,与迅猛发展的互联网节奏有诸多契合,为互联网的进一步发展提供了助力。在国外以微软、IBM、Google、Amazon为首的超过50%的软件企业中已经采用这种方法。调查数据显示,实施敏捷方法的软件企业在产品上市时间、交付效率、客户满意度方面都会有显著提升。
敏捷开发模式已经被越来越多的研发团队和企业重视并使用,但很多敏捷项目的产品质量却并不尽人意。而且从传统模式到敏捷模式的转变,对质量管理团队来说,从观念到流程上的革新对团队来说都是巨大跨越。加之,为了响应敏捷开发快速迭代的要求,能够如期交付,团队往往会忽视软件交付质量。选择在快速交付后,在客户发现并反馈严重问题后短期内修复问题并发布。
1、缺陷发现越早修复成本越小,所以在开发过程中提高产品质量管理能很大程度上降低成本。
2、高质量的软件能够保障企业声誉,增加产收;
3、帮助企业自身避免因为软件质量遭受损失;并且用户满意度也直接受到产品质量的影响。
二、PDCA 循环
故而,软件项目的质量越来越重要,因此研究如何提高软件项目质量非常有意义。为了协助提高软件质量水平,很多公司开始注重软件交付质量,开始注重项目管理,PDCA循环因其易操作性,在我国企业的应用则较为普遍。
PDCA 循环又名戴明循环,被人们尊称为“统计质量控制之父”的休哈特博士是 PDCA 循环最初的构想提出者。由戴明采纳、宣传,获得普及,它是全面质量管理所应遵循的科学程序。全面质量管理活动的全部过程,就是质量计划的制订和组织实现的过程,这个过程就是按照PDCA循环不停地运转。 PDCA循环不仅能够在质量管理体系中运用,也适用于高速迭代的软件开发领域。
PDCA循环主要分为以下四个步骤:
- P(Plan)—计划 ;
- D(Do)— 执行;
- C(Check)—检查;
- A(Action)—修正。
三、PDCA循环的特点
PDCA循环以英文 Plan(计划)、Do(实施)、Check(检查)和Action(处理)四个单词首字母的组合,分别代表质量管理的四个阶段。这四个阶段构成了一个完整的回路,是一个循环往复的过程。PDCA是一个循环往复、不断迭代的过程。具有以下特点:
- PDCA 循环是阶梯式上升的过程,每个循环是一个管理周期。
- PDCA 循环注重对现状的分析和原因的探究,不断确定更高层次的质量目标,寻求进一步改善的机会。
- PDCA 循环本身就是个动态的过程,不光可以运用在整个项目的开发中,同时也运用在具体阶段相关过程中。
我们可以通过这种模式对项目和产品进行检查处理,对成功的经验加以肯定并适当地推广,将其标准化;对失败的教训加以总结,并将未解决的问题放到下一个PDCA循环里,如此循环,直到问题被成功解决。在具体的实施操作过程中,PDCA循环,又可以在计划、实施、检查和处理,四大模块中细分为下图中的八个步骤。
在整个项目开发周期中,PDCA循环本身就是个动态的过程,不光可以运用在整个项目的开发中,同时也运用在具体阶段相关过程中。
四、PDCA循环如何提升软件质量
1、每个迭代的PDCA循环
软件开发的每个迭代实际上都是一个 PDCA循环,经历了计划(需求分析)、实施(代码开发)、检查(产品测试)和处理(发布上线)四个阶段。但发布上线并不意味着结束。需要从内部和外部两个方面,不断收集反馈,识别改进机会,制订改进策划,进而实施计划和监控,检验效果。实现内环和外环两个层面的良性循环。
在软件开发的每个迭代的PDCA循环中,还可以根据影响软件质量的最主要的三个方面,拆分出每个环节对应的PDCA 循环。通常软件项目的质量问题主要集中三个方面,他们分别是:产品功能、研发过程、团队协作。那么我们就可以从这三个方面入手,在每个迭代PDCA循环的基础上,在影响软件质量的三个方面,同时引入PDCA循环。形成内外双循环的模式。
这里的产品可以是最终交付给用户的产品 , 也可以是阶段、过程所产生的结果比如需求阶段的需求文档,如果需求没有调研清楚,开发阶段的产品那肯定会受到影响。所以这一阶段的PDCA循环过程交替时,要特别关注输入和输出的产品需求,如发现质量问题,必须要反馈到前面的过程并采取纠正措施,给予提前的质量管控和干预。产品功能阶段的质量提升,需要尽量在以下方面做到优化:
- 规范化研发模板;
- 精细化需求文档;
- 测试前移,缺陷早发现早修复;
- 降低Bug的修复的成本;
- 建立明确的需求调研与分析体系;
- 建立完善的需求评审与确认体系。
研发过程,分为管理过程和技术过程两种类型。管理过程包括了计划、监控、资源分配和组织工作。技术过程则以软件工程方法为特征。无论是技术过程还是管理过程 , 都对软件的交付质量都有着直接的影响。在研发过程中,引入PDCA 循环模式,能够快速准确的发现问题,有效的保证软件质量。研发阶段的质量提升,需要尽量在以下方面做到优化:
- 代码设计规范
- 代码文档规范
- 代码评审规范
- 及时的Bug反馈机制
指完成整个项目中所需的时间、人力、资金设备等。人是整个项目中最不可控的因素、人员的有效管理是质量保证的前提条件。时间和资金得不到保障 , 产品的投入和研发投入将大大减少,同时产品测试的时间也会被大幅度压缩,而这些则是软件质量的直接保障。
- 加强团队沟通,打造敏捷团队;
- 加强客户沟通,明确项目需求;
- 注重团队内部反馈;
- 根据PDCA循环的实施和反馈情况,制定有效的改进策略。
随着软件研发行业的不断发展与完善,软件项目质量管理逐也受到越来越多企业的重视。当前的软件质量的提升和管控,主要集中在产品功能、研发过程、团队协作领域的质量整体态势的监控和评价。通过PDCA的动态循环模式,可以有效实现软件质量管理的精细化、准确化,实时化。帮助企业实现软件质量的可预测、可控制、可改进、可优化,为企业综合实力提升和研发能力持续改进提供强有力的支撑。