◆苑學(xué)賀 賈冀芳 文建軍
?
基于CMMI和ISO25000的軟件研發(fā)質(zhì)量管理體系設(shè)計(jì)
◆苑學(xué)賀 賈冀芳 文建軍
(北京中電普華信息技術(shù)有限公司研發(fā)事業(yè)部 北京 100192)
為了提高系統(tǒng)/軟件質(zhì)量同時最大限度地降低系統(tǒng)/軟件質(zhì)量風(fēng)險(xiǎn),緩解基于CMMI能力成熟度集成模型在系統(tǒng)/軟件質(zhì)量指標(biāo)要求方面以及ISO25000標(biāo)準(zhǔn)在過程質(zhì)量控制方面的不足,集成CMMI的過程質(zhì)量檢查項(xiàng)和ISO25000的質(zhì)量指標(biāo)設(shè)計(jì)一種基于過程和結(jié)果的軟件質(zhì)量管理體系。在CMMI的需求、設(shè)計(jì)、測試、實(shí)施過程檢查項(xiàng)中增加系統(tǒng)/軟件質(zhì)量指標(biāo)檢查項(xiàng),保證系統(tǒng)/軟件質(zhì)量指標(biāo)要求在研發(fā)各關(guān)鍵環(huán)節(jié)得到落實(shí),從而確保系統(tǒng)/軟件的最終質(zhì)量。該體系彌補(bǔ)了CMMI對系統(tǒng)/軟件質(zhì)量指標(biāo)要求的缺失。也彌補(bǔ)了ISO25000對過程質(zhì)量檢查項(xiàng)的缺失,充分發(fā)揮了CMMI和ISO25000的優(yōu)勢,完備了軟件研發(fā)質(zhì)量管理指標(biāo)體系。
CMMI;ISO25000系列;系統(tǒng)/軟件質(zhì)量;過程質(zhì)量;軟件研發(fā)質(zhì)量管理體系
黨的十九大報(bào)告指出“我國經(jīng)濟(jì)已由高速增長階段轉(zhuǎn)向高質(zhì)量發(fā)展階段”?!百|(zhì)量第一”和“質(zhì)量強(qiáng)國”被同時寫進(jìn)黨的十九大報(bào)告,進(jìn)一步充分體現(xiàn)出質(zhì)量對各行業(yè)發(fā)展的重要性。在信息化時代和即將進(jìn)入的人工智能時代,軟件做為各行業(yè)信息化、智能化的工具,其質(zhì)量高低更加深入影響各行業(yè)的信息化水平、智能化水平以及質(zhì)量水平,因此,其重要性和意義不言而喻。目前,軟件質(zhì)量相關(guān)標(biāo)準(zhǔn)分兩大類:一類是基于過程質(zhì)量管理,比如CMMI,ISO9001;一類基于結(jié)果質(zhì)量評價,比如ISO25000系列。過程質(zhì)量管理標(biāo)準(zhǔn)對過程活動和過程輸出物提出要求。結(jié)果質(zhì)量評價對結(jié)果質(zhì)量提出評價指標(biāo)要求。大多數(shù)軟件公司注重過程質(zhì)量管理,即按照CMMI或ISO9001的要求對軟件研發(fā)各關(guān)鍵過程進(jìn)行質(zhì)量管控,缺少在研發(fā)各關(guān)鍵過程中對軟件自身質(zhì)量提出明確評價要求。導(dǎo)致研發(fā)過程質(zhì)量合格,但是最終軟件質(zhì)量不合格。為了解決這一問題,本文設(shè)計(jì)一種在過程質(zhì)量管理環(huán)節(jié)中增加對結(jié)果質(zhì)量評價要求的質(zhì)量管理體系,即基于CMMI和ISO25000的軟件研發(fā)質(zhì)量管理體系,從而針對過程和結(jié)果兩個方面對軟件質(zhì)量進(jìn)行管控。
隨著信息化建設(shè)與應(yīng)用的不斷深入,以及智能化時代的開啟,信息系統(tǒng)的集成度、復(fù)雜度、深度以及規(guī)模都有了進(jìn)一步提高,信息系統(tǒng)新的質(zhì)量問題也隨之突顯出來。怎樣保證并提高信息系統(tǒng)或軟件的質(zhì)量水平成為亟待解決的問題。國際上用來規(guī)范系統(tǒng)/軟件質(zhì)量的標(biāo)準(zhǔn)分為兩大類:一類是過程質(zhì)量管理,一類是結(jié)果質(zhì)量評價。過程質(zhì)量管理軟件負(fù)責(zé)對軟件研發(fā)各關(guān)鍵過程活動和活動輸出物進(jìn)行質(zhì)量管控。結(jié)果質(zhì)量評價負(fù)責(zé)對研發(fā)完成的系統(tǒng)/軟件質(zhì)量進(jìn)行評價。
目前,針對系統(tǒng)/軟件研發(fā)過程質(zhì)量管理的主流標(biāo)準(zhǔn)有ISO9001[1]和CMMI[2]。針對結(jié)果即系統(tǒng)/軟件質(zhì)量的評級標(biāo)準(zhǔn)主要有ISO25000系列[3]。
質(zhì)量保證體系ISO9000是保證產(chǎn)品及服務(wù)質(zhì)量的管理措施的標(biāo)準(zhǔn)。其中ISO9001適用于軟件企業(yè)。包含四部分內(nèi)容:(1)規(guī)定質(zhì)量相關(guān)管理機(jī)構(gòu)及職責(zé)權(quán)限。(2)規(guī)定過程質(zhì)量檢查程序,并使之文件化。(3)按質(zhì)量檢查程序?qū)ιa(chǎn)過程加以控制,并要求控制過程具有標(biāo)識性、監(jiān)督性、可追溯性。(4)不斷地改進(jìn)質(zhì)量管理體系,使質(zhì)量管理呈螺旋式上升。
ISO9001對軟件企業(yè)從三個方面提出質(zhì)量管理要求:(1)針對研發(fā)方提出研發(fā)過程中每個環(huán)節(jié)的質(zhì)量要求;(2)針對質(zhì)量管理方提出質(zhì)量管理過程要求;(3)針對質(zhì)量測評方提出質(zhì)量測量、評價、分析、改進(jìn)方法。如圖1所示。
圖1 ISO9001體系架構(gòu)
CMMI的全稱為:Capability Maturity Model Integration,即能力成熟度集成模型,從人、程序方法、工具三個維度定義22個關(guān)鍵過程域,用于管理質(zhì)量、進(jìn)度、成本。這些關(guān)鍵過程域?yàn)檐浖髽I(yè)提供基于過程改進(jìn)的管理框架和指南。
CMMI由22個關(guān)鍵過程域構(gòu)成。22個過程域分為四類: 項(xiàng)目管理類,支持類,工程類,過程管理類。每個過程域由目標(biāo)和相應(yīng)的執(zhí)行方法構(gòu)成。目標(biāo)是必須實(shí)現(xiàn)的,執(zhí)行方法是推薦使用的。如圖2所示。
圖2 CMMI體系架構(gòu)I[2]
ISO25000是系統(tǒng)/軟件質(zhì)量要求與評價(SQuaRE)系列標(biāo)準(zhǔn),由六個分部組成:(1)ISO/IEC 2500n質(zhì)量管理分部,概述標(biāo)準(zhǔn)的組成部分、各部分的結(jié)構(gòu)及各部分之間的關(guān)系;(2)ISO/IEC 2501n質(zhì)量模型分部,定義系統(tǒng)/軟件質(zhì)量模型;(3)ISO/IEC 2503n質(zhì)量要求分部,定義系統(tǒng)/軟件質(zhì)量模型對應(yīng)的質(zhì)量指標(biāo)要求;(4)ISO/IEC 2502n 質(zhì)量測量分部,定義系統(tǒng)/軟件質(zhì)量指標(biāo)的度量方法;(5)ISO/IEC 2504n 質(zhì)量評價分部,定義系統(tǒng)/軟件質(zhì)量的評價方法;(6)ISO/IEC 25050~I(xiàn)SO/IEC 25099擴(kuò)展標(biāo)準(zhǔn)分部,保留用于SQuaRE的擴(kuò)展。
圖3 ISO25000系列標(biāo)準(zhǔn)
CMMI和ISO9001是針對系統(tǒng)/軟件研發(fā)過程的質(zhì)量管理體系,ISO25000是針對結(jié)果即系統(tǒng)/軟件質(zhì)量的評價體系。其中CMMI和ISO9001的區(qū)別在于,CMMI對過程規(guī)定目標(biāo)和實(shí)現(xiàn)目標(biāo)要做的事情。ISO9001沒有對過程規(guī)定目標(biāo),只規(guī)定了過程中要做的事情。ISO25000規(guī)定在軟件需求中對系統(tǒng)/軟件的質(zhì)量提出明確要求,在測試時確定質(zhì)量需求的實(shí)現(xiàn)情況。ISO25000與CMMI和ISO9001的關(guān)系從系統(tǒng)/軟件質(zhì)量角度看是直接和間接關(guān)系、也是互為補(bǔ)充的關(guān)系。
表1 三種質(zhì)量標(biāo)準(zhǔn)比較
目前,絕大部分軟件企業(yè)在研發(fā)全過程:需求、設(shè)計(jì)、實(shí)現(xiàn)、測試、發(fā)布、實(shí)施環(huán)節(jié)使用過程質(zhì)量管理體系ISO9001或CMMI,而只在測試環(huán)節(jié)使用結(jié)果即系統(tǒng)/軟件質(zhì)量評價標(biāo)準(zhǔn)ISO25000,沒有在需求、設(shè)計(jì)、實(shí)施階段使用系統(tǒng)/軟件質(zhì)量評價標(biāo)準(zhǔn),導(dǎo)致研發(fā)過程質(zhì)量和結(jié)果質(zhì)量脫節(jié)。過程質(zhì)量合格,結(jié)果質(zhì)量不合格。針對這一問題,本文提出在需求、設(shè)計(jì)、測試和實(shí)施階段中除了使用過程質(zhì)量標(biāo)準(zhǔn)外增加使用系統(tǒng)/軟件質(zhì)量評價標(biāo)準(zhǔn)。確保系統(tǒng)/軟件質(zhì)量要求在研發(fā)各關(guān)鍵環(huán)節(jié)得到落實(shí),從而確保最終系統(tǒng)/軟件的質(zhì)量。
在研發(fā)過程中的需求、設(shè)計(jì)、測試、實(shí)施階段中增加系統(tǒng)/軟件的質(zhì)量評價要求。即在需求階段對系統(tǒng)/軟件質(zhì)量指標(biāo)提出明確需求,在設(shè)計(jì)階段對系統(tǒng)/軟件質(zhì)量指標(biāo)進(jìn)行明確設(shè)計(jì),在測試階段對系統(tǒng)/軟件質(zhì)量指標(biāo)進(jìn)行測試,在實(shí)施階段對系統(tǒng)/軟件質(zhì)量進(jìn)行用戶評價。
在軟件研發(fā)需求階段,項(xiàng)目組質(zhì)量專責(zé)應(yīng)對需求過程進(jìn)行質(zhì)量檢查,并同步完成需求過程檢查單評價表。評價不達(dá)標(biāo)者,進(jìn)行整改,直到需求過程達(dá)標(biāo)才可以進(jìn)行后續(xù)工作。
質(zhì)量管理部門應(yīng)組織專家對《軟件需求規(guī)格說明書》進(jìn)行內(nèi)部評審,并同步完成軟件需求評審檢查單評價表。評價不達(dá)標(biāo)者,進(jìn)行修改,直到達(dá)標(biāo)才可以進(jìn)行后續(xù)工作。
表2 需求階段質(zhì)量評價表
其中《軟件需求評審檢查單》中包括對系統(tǒng)/軟件質(zhì)量指標(biāo)需求的檢查項(xiàng),如下表中的“非功能性需求定義”一項(xiàng)。
表3 需求評審檢查單
其中,《系統(tǒng)/軟件質(zhì)量指標(biāo)項(xiàng)》是依據(jù)ISO25000標(biāo)準(zhǔn)定義的質(zhì)量指標(biāo)。如表4所示。
表4 系統(tǒng)/軟件質(zhì)量指標(biāo)項(xiàng)[3]
在設(shè)計(jì)階段項(xiàng)目組質(zhì)量專責(zé)應(yīng)對設(shè)計(jì)過程進(jìn)行質(zhì)量檢查,并同步完成設(shè)計(jì)過程檢查單評價表。評價不達(dá)標(biāo)者,進(jìn)行整改,直到設(shè)計(jì)過程達(dá)標(biāo)才可以進(jìn)行后續(xù)工作。
質(zhì)量管理部門應(yīng)組織專家對《概要設(shè)計(jì)說明書》進(jìn)行內(nèi)部評審,并同步完成概要設(shè)計(jì)評審檢查單評價表。評價不達(dá)標(biāo)者,進(jìn)行修改,直到達(dá)標(biāo)才可以進(jìn)行后續(xù)工作。
表5 設(shè)計(jì)階段質(zhì)量評價表
其中《軟件概要設(shè)計(jì)評審檢查單》中包括對軟件質(zhì)量指標(biāo)設(shè)計(jì)的檢查項(xiàng),如表6中的“非功能性需求定義”。
表6 概要設(shè)計(jì)評審檢查單
在測試階段質(zhì)量管理部門應(yīng)對項(xiàng)目測試過程進(jìn)行質(zhì)量檢查,并同步完成測試過程檢查單評價表。評價不達(dá)標(biāo)者,進(jìn)行整改,直到設(shè)計(jì)過程達(dá)標(biāo)。
質(zhì)量管理部門應(yīng)組織專家對測試部門編寫的《測試方案及用例》進(jìn)行內(nèi)部評審,并同步完成測試方案及用例評審檢查單評價表。評價不達(dá)標(biāo)者,進(jìn)行修改,直到達(dá)標(biāo)才可以進(jìn)行后續(xù)工作。并且內(nèi)部評審應(yīng)在內(nèi)部測試之前完成。
測試部門應(yīng)對系統(tǒng)/軟件質(zhì)量進(jìn)行內(nèi)部測試,并同步完成系統(tǒng)/軟件質(zhì)量測試評價表。測試不達(dá)標(biāo)者,進(jìn)行修改,直到內(nèi)部測試達(dá)標(biāo)才可以進(jìn)行后續(xù)工作。
表7 測試階段質(zhì)量評價表
其中,軟件質(zhì)量測試依據(jù)即是表4《系統(tǒng)/軟件質(zhì)量指標(biāo)項(xiàng)》。
實(shí)施階段項(xiàng)目組質(zhì)量專責(zé)應(yīng)對項(xiàng)目實(shí)施過程進(jìn)行質(zhì)量檢查,并同步完成實(shí)施過程檢查單評價表。評價不達(dá)標(biāo)者,進(jìn)行整改,直到設(shè)計(jì)過程達(dá)標(biāo)。
質(zhì)量管理部門應(yīng)組織專家對《實(shí)施方案》進(jìn)行內(nèi)部評審,并同步完成實(shí)施方案評審檢查單評價表。評價不達(dá)標(biāo)者,進(jìn)行修改,直到達(dá)標(biāo)才可以進(jìn)行后續(xù)工作。并且內(nèi)部評審應(yīng)在實(shí)施之前完成。
用戶應(yīng)對實(shí)施后的系統(tǒng)/軟件質(zhì)量進(jìn)行評價,并同步完成系統(tǒng)/軟件質(zhì)量用戶評價表。
表8 實(shí)施階段質(zhì)量評價表
表9 系統(tǒng)/軟件質(zhì)量用戶評價指標(biāo)[3]
質(zhì)量模型指標(biāo)名稱 一級指標(biāo) 有效性準(zhǔn)確性 完備性 效率 時間 資源 滿意度有用性 可信性 愉悅性 舒適性 抗風(fēng)險(xiǎn)經(jīng)濟(jì)風(fēng)險(xiǎn)緩解性 健康和安全風(fēng)險(xiǎn)緩解性 環(huán)境風(fēng)險(xiǎn)緩解性 周境覆蓋周境完備性 靈活性
在軟件研發(fā)各關(guān)鍵過程通過結(jié)合CMMI的過程檢查項(xiàng)及ISO25000的系統(tǒng)/軟件質(zhì)量指標(biāo)項(xiàng)完善了現(xiàn)有質(zhì)量管理體系中的檢查要素,從源頭解決了系統(tǒng)/軟件質(zhì)量不可控問題。彌補(bǔ)了CMMI或ISO9001中缺少的針對結(jié)果質(zhì)量指標(biāo)的檢查項(xiàng),同時也彌補(bǔ)了ISO25000中缺少的過程質(zhì)量檢查項(xiàng),充分發(fā)揮了兩類質(zhì)量標(biāo)準(zhǔn)的優(yōu)勢,更加完備和精確地對軟件研發(fā)質(zhì)量進(jìn)行管控。
基于CMMI和ISO25000的軟件研發(fā)質(zhì)量管理體系為軟件質(zhì)量管理提供了一種新的思路,新的管理機(jī)制。對軟件行業(yè)的質(zhì)量提升有比較大的意義,同時,也為其他行業(yè)的質(zhì)量管理體系提供參考。
[1]ISO9000系列標(biāo)準(zhǔn).
[2]CMMI系統(tǒng)標(biāo)準(zhǔn).
[3]ISO25000系統(tǒng)標(biāo)準(zhǔn).