引言
作為一種十分經(jīng)典的質(zhì)量管理工具鳞尔,PDCA 在軟件行業(yè)逐漸呈現(xiàn)出旺盛的活力浅侨,特別是敏捷軟件開發(fā)方法在軟件行業(yè)內(nèi)的普及溪北,持續(xù)的迭代與改進已成為軟件項目管理的主流智玻。從中國知網(wǎng)的論文數(shù)量來看遂唧,1980年 PDCA 相關(guān)論文僅有7篇而到了2019年已有2751篇相關(guān)研究論文,但大部分集中在醫(yī)療領(lǐng)域吊奢,在軟件開發(fā)領(lǐng)域相對較少只有2%左右盖彭。
定義
PDCA循環(huán)又叫“戴明循環(huán)”,簡稱“戴明環(huán)”页滚。戴明環(huán)是美國質(zhì)量管理專家戴明博士首先提出召边,戴明循環(huán)研究起源于20世紀(jì)20年代,有“統(tǒng)計質(zhì)量控制之父”之稱的著名的統(tǒng)計學(xué)家沃特·阿曼德·休哈特(Walter A. Shewhart)在當(dāng)時引入了“計劃-執(zhí)行-檢查(Plan-Do-See)”的概念裹驰, 戴明后將休哈特的PDS循環(huán)進一步發(fā)展成為:計劃-執(zhí)行-檢查-處理(Plan(計劃)隧熙、Do(執(zhí)行)、Check(檢查)和Action(處理))幻林。
P(Plan - 計劃):評估當(dāng)前現(xiàn)狀贱鼻,確定目標(biāo)與方向宴卖,明確實施計劃、資源與預(yù)算邻悬。
D(Do -?執(zhí)行):項目日常工作的實施症昏。
C(Check -?檢查):評估執(zhí)行結(jié)果,分析并找出成功經(jīng)驗與問題父丰。
A(Action - 處理):對檢查結(jié)果進行處理肝谭,對于成功經(jīng)驗加以推廣,對于問題進行改進與完善蛾扇,將本周期內(nèi)未改進的問題納入下一個迭代周期內(nèi)加以完善攘烛。
每一件事情先做計劃,計劃完成后去實施,實施過程中檢查記錄镀首,之后分析并加以改進坟漱。遺留事項納入下一個循環(huán)周期,周而復(fù)始更哄,持續(xù)完善芋齿。
軟件研發(fā)模式的演進
瀑布開發(fā)模式
需求是完整的、清晰的成翩、固定的
敏捷開發(fā)模式
需求變化頻繁觅捆、開發(fā)過程需要更新快速高效
DevOps開發(fā)模式
需求變化頻繁、開發(fā)過程需要敏捷麻敌、協(xié)作需要敏捷
從項目管理的演變我們不難發(fā)現(xiàn)栅炒,從瀑布式的一個項目一個大周期,到敏捷開發(fā)的每一個迭代一個周期术羔,到 DevOps 的循環(huán)周期疊加赢赊,軟件開發(fā)模式的循環(huán)周期顆粒度越來越小。而 PDCA的持續(xù)改進對于軟件項目以至整個組織的管理提升都將啟動十分重要的作用级历。
PDCA敏捷項目
管理流程
標(biāo)準(zhǔn)的實施方法與公司實際采用的方法往往存在差異域携。一般來說,各個公司與組織由于資源鱼喉、制度、管理方式等自身情況的差異性趋观,對于項目管理流程都會根據(jù)自身的實際需要加以定制扛禽,已符合自身。包括流程皱坛、模板编曼、規(guī)范等。
在一個研發(fā)團隊中剩辟,詳細定義每一個迭代過程中的PDCA 過程掐场,以保證在整個軟件生產(chǎn)中得以持續(xù)的改進往扔,使得在持續(xù)的交付過程中隨著時間的推移,產(chǎn)品功能與質(zhì)量得以不斷完善熊户。
其中每個迭代周期為2~4周萍膛,每個迭代都包含了完整的 PDCA 循環(huán)。
P -?迭代計劃
定義在迭代周期內(nèi)的工作目標(biāo)嚷堡、工作范圍蝗罗,并對工作做 WBS任務(wù)分解,最終行程迭代計劃蝌戒。
D -?迭代執(zhí)行
上一輪遺留:落地上一輪迭代轉(zhuǎn)入本論的改進計劃并衡量執(zhí)行結(jié)果串塑。
每日站會:團隊所有成員固定時間開一個10~15分鐘的會議。要求盡量用簡短的語言描述實際的個人進展情況北苟,溝通并承諾當(dāng)天的工作計劃桩匪,并根據(jù)會議結(jié)果更新迭代計劃與投產(chǎn)計劃。不在會議上進行需求友鼻、技術(shù)與功能上的討論傻昙。
常規(guī)任務(wù):定義并執(zhí)行,需求分析桃移、開發(fā)屋匕、測試任務(wù)。
收集執(zhí)行數(shù)據(jù):執(zhí)行階段每一個動作與進度均需記錄在案借杰,為后續(xù)評審與度量提供數(shù)據(jù)支撐过吻。
目標(biāo)為輸出可工作程序,已達到對業(yè)務(wù)快速響應(yīng)提高客戶滿意度的目的蔗衡。
C -?迭代檢查
檢查貫穿整個迭代周期纤虽,在執(zhí)行過程中與執(zhí)行過程外均需要根據(jù)實際情況增加檢查動作。
執(zhí)行過程中:
每日站會——識別風(fēng)險绞惦,溝通問題逼纸。
單元測試——開發(fā)人員執(zhí)行測試檢查。
代碼走查——測試前對核心代碼重點走查济蝉,其它代碼抽查杰刽。
進度分析——對剩余時間,工作量王滤,問題贺嫂,缺陷等綜合分析。
質(zhì)量工具——應(yīng)用代碼掃描工具雁乡,對代碼質(zhì)量進行分析第喳。
執(zhí)行過程外:需求評審、測試案例評審踱稍、技術(shù)方案評審曲饱、迭代總結(jié)會議等悠抹。
A -?迭代改進
在每個迭代結(jié)束后,項目組成員與干系人對本次迭代已不同的視角進行總結(jié)回顧扩淀,發(fā)現(xiàn)并暴露問題楔敌,探討改進措施并最終形成改進方案。對于成功經(jīng)驗引矩,加以總結(jié)抽象梁丘,形成通用方法加以推廣。所有結(jié)論形成文檔旺韭,并有專人負責(zé)跟蹤氛谜,以確保在后續(xù)迭代中得以落實。
結(jié)束語
任何一種方法與理論都存在局限性区端, PDCA 可以很好的持續(xù)改進質(zhì)量值漫,但一定程度上也限制了組織內(nèi)的創(chuàng)造性,只有靈活的使用工具并不斷的自我完善织盼,才能在未來的挑戰(zhàn)中保持活力杨何。