PDCA循环

PDCA循环 近年来,软件项目的规模及其复杂性正在以空前的速度增长,互联网用户市场庞大,互联网公司和相应的软件产品层出不穷。快速响应需求变化往往是互联网行业的常态,软件产品的快速开发迭代对于公司迅速占领市场、抢占商机有着举足轻重的意义。

伴随着行业的快速发展,原有的研发模式逐渐不能适应高速发展的市场大环境。因此,敏捷开发模式应用而生。敏捷开发方法以其简单高效、灵活快速、持续交付等特点,与迅猛发展的互联网节奏有诸多契合,为互联网的进一步发展提供了助力。在国外以微软、IBM、Google、Amazon为首的超过50%的软件企业中已经采用这种方法。调查数据显示,实施敏捷方法的软件企业在产品上市时间、交付效率、客户满意度方面都会有显著提升。

一、敏捷开发与软件质量

敏捷开发模式已经被越来越多的研发团队和企业重视并使用,但很多敏捷项目的产品质量却并不尽人意。而且从传统模式到敏捷模式的转变,对质量管理团队来说,从观念到流程上的革新对团队来说都是巨大跨越。加之,为了响应敏捷开发快速迭代的要求,能够如期交付,团队往往会忽视软件交付质量。选择在快速交付后,在客户发现并反馈严重问题后短期内修复问题并发布。

所以,质量问题在敏捷项目很常见,大多数团队对待质量问题的态度也是轻视,甚至习惯于在客户有反馈之后再予以修复。经常的崩溃、重启、出先Bug,会消费者对产品质量满意度也持续降低,有些用户甚至转而应用其他产品。每一个小的质量问题,都会引发一场蝴蝶效应,让软件质量问题负面影响渐渐凸显,对企业声誉和经营造成很大影响。总的来说,提升软件的质量,能够为企业带来以下帮助:
1、缺陷发现越早修复成本越小,所以在开发过程中提高产品质量管理能很大程度上降低成本。
2、高质量的软件能够保障企业声誉,增加产收;
3、帮助企业自身避免因为软件质量遭受损失;并且用户满意度也直接受到产品质量的影响。

二、PDCA 循环

故而,软件项目的质量越来越重要,因此研究如何提高软件项目质量非常有意义。为了协助提高软件质量水平,很多公司开始注重软件交付质量,开始注重项目管理,PDCA循环因其易操作性,在我国企业的应用则较为普遍。

PDCA 循环又名戴明循环,被人们尊称为”统计质量控制之父”的休哈特博士是 PDCA 循环最初的构想提出者。由戴明采纳、宣传,获得普及,它是全面质量管理所应遵循的科学程序。全面质量管理活动的全部过程,就是质量计划的制订和组织实现的过程,这个过程就是按照PDCA循环不停地运转。 PDCA循环不仅能够在质量管理体系中运用,也适用于高速迭代的软件开发领域。

PDCA循环主要分为以下四个步骤:

  • P(Plan)—计划 ;

  • D(Do)— 执行;

  • C(Check)—检查;

  • A(Action)—修正。

PDCA循环

三、PDCA循环的特点

PDCA循环以英文 Plan(计划)、Do(实施)、Check(检查)和Action(处理)四个单词首字母的组合,分别代表质量管理的四个阶段。这四个阶段构成了一个完整的回路,是一个循环往复的过程。PDCA是一个循环往复、不断迭代的过程。具有以下特点:

  • PDCA 循环是阶梯式上升的过程,每个循环是一个管理周期。

  • PDCA 循环注重对现状的分析和原因的探究,不断确定更高层次的质量目标,寻求进一步改善的机会。

  • PDCA 循环本身就是个动态的过程,不光可以运用在整个项目的开发中,同时也运用在具体阶段相关过程中。

PDCA循环

我们可以通过这种模式对项目和产品进行检查处理,对成功的经验加以肯定并适当地推广,将其标准化;对失败的教训加以总结,并将未解决的问题放到下一个PDCA循环里,如此循环,直到问题被成功解决。在具体的实施操作过程中,PDCA循环,又可以在计划、实施、检查和处理,四大模块中细分为下图中的八个步骤。

PDCA循环

在整个项目开发周期中,PDCA循环本身就是个动态的过程,不光可以运用在整个项目的开发中,同时也运用在具体阶段相关过程中。

四、PDCA循环如何提升软件质量

1、每个迭代的PDCA循环

软件开发的每个迭代实际上都是一个 PDCA循环,经历了计划(需求分析)、实施(代码开发)、检查(产品测试)和处理(发布上线)四个阶段。但发布上线并不意味着结束。需要从内部和外部两个方面,不断收集反馈,识别改进机会,制订改进策划,进而实施计划和监控,检验效果。实现内环和外环两个层面的良性循环。

2、产品功能的PDCA循环

在软件开发的每个迭代的PDCA循环中,还可以根据影响软件质量的最主要的三个方面,拆分出每个环节对应的PDCA 循环。通常软件项目的质量问题主要集中三个方面,他们分别是:产品功能、研发过程、团队协作。那么我们就可以从这三个方面入手,在每个迭代PDCA循环的基础上,在影响软件质量的三个方面,同时引入PDCA循环。形成内外双循环的模式。

这里的产品可以是最终交付给用户的产品 , 也可以是阶段、过程所产生的结果比如需求阶段的需求文档,如果需求没有调研清楚,开发阶段的产品那肯定会受到影响。所以这一阶段的PDCA循环过程交替时,要特别关注输入和输出的产品需求,如发现质量问题,必须要反馈到前面的过程并采取纠正措施,给予提前的质量管控和干预。产品功能阶段的质量提升,需要尽量在以下方面做到优化:

  • 规范化研发模板;
  • 精细化需求文档;
  • 测试前移,缺陷早发现早修复;
  • 降低Bug的修复的成本;
  • 建立明确的需求调研与分析体系;
  • 建立完善的需求评审与确认体系。

3、研发过程PDCA循环

研发过程,分为管理过程和技术过程两种类型。管理过程包括了计划、监控、资源分配和组织工作。技术过程则以软件工程方法为特征。无论是技术过程还是管理过程 , 都对软件的交付质量都有着直接的影响。在研发过程中,引入PDCA 循环模式,能够快速准确的发现问题,有效的保证软件质量。研发阶段的质量提升,需要尽量在以下方面做到优化:

  • 代码设计规范
  • 代码文档规范
  • 代码评审规范
  • 及时的Bug反馈机制

4、团队协作PDCA循环

指完成整个项目中所需的时间、人力、资金设备等。人是整个项目中最不可控的因素、人员的有效管理是质量保证的前提条件。时间和资金得不到保障 , 产品的投入和研发投入将大大减少,同时产品测试的时间也会被大幅度压缩,而这些则是软件质量的直接保障。

  • 加强团队沟通,打造敏捷团队;

  • 加强客户沟通,明确项目需求;

  • 注重团队内部反馈;

  • 根据PDCA循环的实施和反馈情况,制定有效的改进策略。

PDCA循环

随着软件研发行业的不断发展与完善,软件项目质量管理逐也受到越来越多企业的重视。当前的软件质量的提升和管控,主要集中在产品功能、研发过程、团队协作领域的质量整体态势的监控和评价。通过PDCA的动态循环模式,可以有效实现软件质量管理的精细化、准确化,实时化。帮助企业实现软件质量的可预测、可控制、可改进、可优化,为企业综合实力提升和研发能力持续改进提供强有力的支撑。

Original: https://www.cnblogs.com/Leo_wl/p/16549230.html
Author: HackerVirus
Title: PDCA循环

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/546432/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 树莓派远程连接工具SSH使用教程

    树莓派远程连接工具SSH使用教程 树莓派 背景故事 树莓派作为一款迷你小主机,大部分的使用场景都会用到远程调试,远程调试用到最多的方式一般就是VNC和SSH,SSH就是命令行型的远…

    技术杂谈 2023年7月23日
    090
  • idea集成maven插件和使用骨架创建maven的java工程

    idea集成maven插件 打开idea点击配置搜索maven 配置自己的maven路径和仓库位置 使用骨架创建maven的java工程 项目结构: Original: https…

    技术杂谈 2023年6月21日
    099
  • Java-泛型

    泛型出现的原因 Java的泛型是在JDK1.5开始才加上的。在此之前的Java是没有泛型的。没有泛型的Java使用起来给人感觉非常的笨重,为了体会泛型带来的好处,来看看如果没有泛型…

    技术杂谈 2023年7月11日
    071
  • 【计算题】考研数据结构计算题型整理

    题型1:递归程序,一般使用公式进行递推 int fact(int n){ if(n 本题是求阶乘的递归代码,即n * (n-1) * …. * 1。每次递归调用 fac…

    技术杂谈 2023年7月10日
    078
  • 浏览器端用JS实现创建和下载图片

    问题场景 在前端很多的项目中,文件下载的需求很常见。尤其是通过JS生成文件内容,然后通过浏览器端执行下载的操作。如 图片, Execl 等的导出功能。日前,项目中就遇到了这类需求,…

    技术杂谈 2023年5月31日
    0115
  • 什么是BASH?

    BASH是Bourne Again SHell的缩写。它由Steve Bourne编写,作为原始Bourne Shell(由/ bin / sh表示)的替代品。它结合了原始版本的B…

    技术杂谈 2023年5月31日
    0121
  • [学习笔记]Java重写和重载

    重写(Override) 重写是子类对允许访问的父类方法的方法体重新进行编写,返回值和形参不发生改变; 通过重写,子类可以根据需要定义特定于自身的行为,根据需要实现父类的方法; 方…

    技术杂谈 2023年7月24日
    083
  • lightdb生成随机数

    lightdb内置函数可生成 `[zjh@hs-10-20-30-193 data]$ ltsql -p9999ltsql (13.3-22.2)Type “help&…

    技术杂谈 2023年6月1日
    098
  • java学习之JSP

    JSP:全拼写:java Server pages:java 服务器端页面可以理解为一个特殊的页面:可以定义html代码也可以定义java的代码定义:JSP是简化Servlet编写…

    技术杂谈 2023年6月21日
    091
  • 玩SpringBoot踩的小坑~

    ; ; SpringBoot想必都学过吧,但是隔段时间没怎么用,往往犯一些低级的错误!!! 今天做了一个springboot项目的小实验,但是项目启动后却怎么都访问不到页面; 就这…

    技术杂谈 2023年7月23日
    0101
  • Vim 练级攻略

    以下的文章翻译自《Learn Vim Progressively》,我认为这是给新手最好的VIM的升级教程了,没有列举全部的命令,仅仅是列举了那些最实用的命令。 很不错。 ————…

    技术杂谈 2023年5月31日
    0104
  • APACHE快速安装流程梳理

    快速安装开始: 【环境配置1】 yum -y install gcc gcc-c++ wget 保留操作(可跳过): yum -y removeapr-util-devel apr…

    技术杂谈 2023年7月10日
    058
  • 2022.15 数字水印

    在数字化转型当下,越来越多事物在被电子数字化,我们在收获数字化便利好处的同时,也要面对数据信息更容易被泄漏、篡改、盗版等问题,而数字水印技术就是为解决上述问题的。 数字水印,是指将…

    技术杂谈 2023年5月30日
    093
  • Git 11 不同项目设置不同提交人

    前面介绍了可以给 Git 设置全局提交人,这样当前电脑所有项目提交人都会变成设置的值。 但实际开发中有时候需要给 不同项目设置不同提交人。 比如工作的项目是一个提交人,自己维护的开…

    技术杂谈 2023年7月24日
    070
  • Spring事务(四)-事务失效场景

    有时候,我们明明在类或者方法上添加了 @Transactional注解,却发现方法并没有按事务处理。其实,以下场景会导致事务失效。 1、事务方法所在的类没有加载到Spring IO…

    技术杂谈 2023年7月11日
    071
  • Vue随机验证码组件

    组件代码如下: html;gutter:true; export default { name: 'SIdentify', props: { identifyC…

    技术杂谈 2023年5月31日
    093
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球