PDCA迴圈——快速提升軟體質量的必備工具

敏捷開發社群發表於2022-04-24
近年來,軟體專案的規模及其複雜性正在以空前的速度增長,網際網路使用者市場龐大,網際網路公司和相應的軟體產品層出不窮。快速響應需求變化往往是網際網路行業的常態,軟體產品的快速開發迭代對於公司迅速佔領市場、搶佔商機有著舉足輕重的意義。

伴隨著行業的快速發展,原有的研發模式逐漸不能適應高速發展的市場大環境。因此,敏捷開發模式應用而生。敏捷開發方法以其簡單高效、靈活快速、持續交付等特點,與迅猛發展的網際網路節奏有諸多契合,為網際網路的進一步發展提供了助力。在國外以微軟、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迴圈以英文 Plan(計劃)、Do(實施)、Check(檢查)和Action(處理)四個單詞首字母的組合,分別代表質量管理的四個階段。這四個階段構成了一個完整的迴路,是一個迴圈往復的過程。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的動態迴圈模式,可以有效實現軟體質量管理的精細化、準確化,實時化。幫助企業實現軟體質量的可預測、可控制、可改進、可優化,為企業綜合實力提升和研發能力持續改進提供強有力的支撐。

相關文章