PDCA循環(huán)又叫戴明環(huán),是美國質(zhì)量管理專家戴明博士首先提出的,它是企業(yè)全面質(zhì)量管理所應(yīng)遵循的科學程序。質(zhì)量管理活動的全部過程,是質(zhì)量計劃的制訂和組織實現(xiàn)的過程,這個過程是按照PDCA循環(huán),不停頓地周而復始地運轉(zhuǎn)的。
ISO9001:2000標準指出, PDCA方法可適用于所有過程。其模式可簡述如下:
P--策劃:根據(jù)顧客的要求和組織的方針,為提供結(jié)果建立必要的目標和過程;
D--實施:實施過程;
C--檢查:根據(jù)方針、目標和產(chǎn)品要求,對過程和產(chǎn)品進行監(jiān)視和測量,并報告結(jié)果;
A--處置:采取措施,以持續(xù)改進過程業(yè)績。
PDCA循環(huán)可通過以下八個主要步驟實現(xiàn):①分析和評價現(xiàn)狀,以識別改進的區(qū)域; 、诖_定改進的目標;③尋找可能的解決辦法,以實現(xiàn)這些目標;④評價這些解決辦法并作出選擇;、輰嵤┻x定的解決辦法;⑥測量、驗證、分析和評價實施的結(jié)果,以確定這些目標已經(jīng)實現(xiàn);⑦正式采納更改;⑧必要時,對結(jié)果進行評審,以確定進一步改進的機會。
PDCA是使用資源將輸入轉(zhuǎn)化為輸出的活動或一組活動的一個過程,必須形成閉環(huán)管理,四個階段缺一不可。
在PDCA循環(huán)的四個階段中,每個階段都有自己小的PDCA循環(huán)。比如,ISO 9001:2000標準的管理職責(5)和資源管理(6)是PDCA循環(huán)的P階段,產(chǎn)品實現(xiàn)(7)是D階段,測量、分析(8)是C階段,改進(8)是A階段。而"改進"中的"糾正措施"則是該標準大的PDCA循環(huán)中A階段的小PDCA循環(huán)。這樣,大環(huán)套小環(huán),一環(huán)扣一環(huán),小環(huán)保大環(huán),推動大循環(huán)(圖1)。
若按照PDCA循環(huán)前進,能達到一個新的水平;在新的水平上再進行 PDCA循環(huán),便能達到一個更高的水平(圖2)。
在質(zhì)量管理體系中,PDCA循環(huán)是一個動態(tài)的循環(huán),它可以在組織的每一個過程中層開,也可以在整個過程的系統(tǒng)中展開。它與產(chǎn)品實現(xiàn)過程及質(zhì)量管理體系其他過程的策劃、實施、控制和持續(xù)改進有密切的關(guān)系。
在軟件開發(fā)生命周期模型中,我們的先輩參照建筑業(yè)的管理模式創(chuàng)建了軟件業(yè)的PDCA循環(huán),這是需求分析-設(shè)計-實現(xiàn)-測試-發(fā)布的瀑布模型。我們很容易將瀑布模型與PDCA循環(huán)進行對應(yīng)。但這種模型只是對PDCA循環(huán)的形而上的應(yīng)用,并沒有揭示軟件研發(fā)過程的特點。軟件研發(fā)是一種采用團隊協(xié)作解決問題的過程,而不是任務(wù)完全分隔的方式,可以使開發(fā)更有效率并得到一個改良的產(chǎn)品。當團隊在解決問題的時候他們參與四項活動:
研究:確保他們完全理解問題;
設(shè)計:開發(fā)一種方法以解決問題;
實施:執(zhí)行設(shè)計;
驗證:確認設(shè)計方案是否真正解決預定方案。
把這些理解為活動而不是階段是重要的。活動是指你做一些事而達到某種結(jié)果;階段是指生命周期中標志項目過程的步驟。活動是交叉開展的,而不是線性的或是完全依賴性的。這點很重要。
受控的迭代模型,將軟件研發(fā)過程劃分為初始階段、細化階段、構(gòu)造階段及交付階段
初始階段:對產(chǎn)品定義取得初步的理解并達成一致,即知道將要交付的是什么?
細化階段:對產(chǎn)品的詳細設(shè)計取得初步理解并達成一致,即知道應(yīng)該如何去構(gòu)造。
構(gòu)造階段:完成初始完成整的功能產(chǎn)品構(gòu)造。
交付階段:交付滿足初始目標的產(chǎn)品。
而研究、設(shè)計、實施、驗證則作為一系列的活動分散在四個階段中,在軟件研發(fā)過程表現(xiàn)為用例分析、架構(gòu)設(shè)計、詳細設(shè)計、編碼、測試等過程。
PDCA在軟件研發(fā)的四個階段并非變得模糊,而是顯得更加細致。初始階段應(yīng)是對軟件研發(fā)進行策劃的階段,系統(tǒng)分析師通過用例分析、架構(gòu)設(shè)計、初始模型的建立,實現(xiàn)對軟件研發(fā)過程的計劃。而細化階段可以既有初始階段PDCA小循環(huán)的具體實施,也有作為構(gòu)造階段PDCA小循環(huán)的計劃,其實現(xiàn)的過程包括對所進行的戶級用例的細化與分解、架構(gòu)實現(xiàn)方案的進一步確立、類及關(guān)系模型的建立,在構(gòu)造階段,則包含了D階段的編碼實現(xiàn),也包含了C階段的測試。而在交付階段,實施計劃、實施執(zhí)行、實施過程檢查及實施總結(jié)則直接表現(xiàn)為PDCA循環(huán)中的應(yīng)用。如果理解了分析、設(shè)計、編碼、測試、交付是作為活動而不是階段我們對PDCA在軟件研發(fā)中的應(yīng)用不難理解了。我相信,在軟件研發(fā)過程中,我們通過細致的PDCA循環(huán),一定會使軟件質(zhì)量得到持不斷的提高。