摘 要:SQA是CMM/CMMI的關(guān)鍵過程域之一,文章通過在信息系統(tǒng)開發(fā)中引入SQA的對比,闡述了SQA作為獨立的第三方在信息系統(tǒng)開發(fā)中的工作過程及重要作用。
關(guān)鍵詞:CMM/CMMI;SQA;信息系統(tǒng)開發(fā)
中圖分類號:TP311052 文獻(xiàn)標(biāo)識碼:A 文章編號:1006-8937(2012)20-0083-02
1 CMM/CMMI概述
CMM(Capability Maturity Model,能力成熟度模型)是用來協(xié)助組織啟動改進(jìn)過程的計劃,通過對目前軟件的實際應(yīng)用和CMM的基準(zhǔn)做比較,識別出能夠進(jìn)行改進(jìn)的一些過程,再選擇對這些過程進(jìn)行有序改進(jìn)的方法。通過對一個有限的活動集合進(jìn)行關(guān)注并努力地達(dá)到目標(biāo),一個組織能夠穩(wěn)步地改進(jìn)整個組織的軟件過程,逐漸取得在軟件過程成熟度上的持久的、連續(xù)的收獲并最終形成軟件工程的文化和優(yōu)秀的管理水平。
CMMI(Capability Maturity Model Integration,集成能力成熟度模型)是CMM模型的最新版本。CMMI的專業(yè)領(lǐng)域涵蓋軟件工程、集成產(chǎn)品開發(fā)IPD、集成產(chǎn)品開發(fā)系統(tǒng)工程和系統(tǒng)采購等,因此CMMI的涉及面更加廣泛。
2 SQA介紹
SQA(Software Quality Assure軟件質(zhì)量保證)是CMM可重復(fù)級中6個關(guān)鍵過程域(KPA Key Process Area)之一,在CMMI中該關(guān)鍵過程升級為管理級中的過程與產(chǎn)品質(zhì)量保證過程。軟件質(zhì)量保證包括評審、對軟件產(chǎn)品和活動的審計工作,以此驗證它們是否符合適用的標(biāo)準(zhǔn)和規(guī)程,還應(yīng)向軟件項目和其他相關(guān)管理人員提供審計和評審的結(jié)果。
CMM/CMMI為滿足這個關(guān)鍵過程域,應(yīng)達(dá)到的目標(biāo)為:軟件質(zhì)量保證工作需要有計劃的進(jìn)行;客觀地驗證軟件項目、產(chǎn)品和工作是否遵循適當(dāng)?shù)臉?biāo)準(zhǔn)、步驟和用戶需求;將軟件質(zhì)量保證工作及結(jié)果通知給有關(guān)組別成員;高級管理層能夠?qū)υ陧椖績?nèi)部不能解決的不符合類問題進(jìn)行掌控。
SQA不在項目中,是獨立于項目的第三方,這樣更便于SQA通過深入項目,與項目組的成員保持良好的溝通,最終及時獲得真實的項目情況。
3 SQA在信息系統(tǒng)開發(fā)中的應(yīng)用
3.1 信息系統(tǒng)開發(fā)過程中遇到的常見問題
在公司推行CMM/CMMI之前,我們發(fā)現(xiàn)在大部分信息系統(tǒng)開發(fā)項目中,隨著項目的開展,用戶會不斷增加或修改需求,我們的研發(fā)人員不得不重新設(shè)計、修改。由于沒有對項目進(jìn)行指導(dǎo)和監(jiān)督,往往使項目失控從而造成無法保質(zhì)保量的及時將產(chǎn)品交付給客戶的嚴(yán)重后果。以數(shù)字化調(diào)度第一代產(chǎn)品為例,項目進(jìn)度已經(jīng)進(jìn)入測試階段,此時用戶不斷以口頭形式提出新的修改要求致使項目組開發(fā)人員不斷更新產(chǎn)品版本號,測試人員不得不重新測試,項目一再延期;在產(chǎn)品驗收前發(fā)現(xiàn)發(fā)布版本與交付版本不一致;由于當(dāng)時沒有對口頭提出的變更需求進(jìn)行文字確認(rèn),最終產(chǎn)品功能缺失而無據(jù)可查。此時的組織架構(gòu)如圖1所示。
3.2 SQA應(yīng)用于信息系統(tǒng)開發(fā)
我們的信息系統(tǒng)開發(fā)項目大部分采用的是傳統(tǒng)的瀑布式開發(fā)模式,對開發(fā)過程的次序和管理活動的規(guī)范比較重視,恰好與CMM基本思想相似,而還有一些項目借鑒傳統(tǒng)瀑布開發(fā)業(yè)務(wù)的案例、原型方案,細(xì)化后納入基線結(jié)構(gòu)的迭代開發(fā)模式,這與CMMI基本思想相似?;贑MM/CMMI的SQA過程應(yīng)用于我們的信息系統(tǒng)開發(fā)中,可以達(dá)到改進(jìn)信息系統(tǒng)開發(fā)過程,保證信息系統(tǒng)開發(fā)質(zhì)量的目的。所以公司決定推行CMM/CMMI,在項目中增加SQA人員。此時的組織架構(gòu)如圖2所示。
質(zhì)量管理體系中戴明環(huán),又稱為PDCA循環(huán),如圖3所示。依照P(Plan)—計劃,D(Do)—執(zhí)行,C(Check)—檢查,A(Act)—行動的循環(huán)過程,對檢查的結(jié)果進(jìn)行處理,成功的經(jīng)驗加以肯定并適當(dāng)推廣、標(biāo)準(zhǔn)化;失敗的教訓(xùn)加以總結(jié),未解決的問題放到下一個PDCA循環(huán)里。
SQA的工作流程正是遵循了戴明環(huán)的原理執(zhí)行。在項目管理計劃審批通過后,指定相應(yīng)SQA人員負(fù)責(zé)該項目的指導(dǎo)與監(jiān)督,SQA人員根據(jù)質(zhì)量方針、項目的目的、范圍和標(biāo)準(zhǔn)規(guī)范等制訂SQA計劃。SQA計劃的目的是保證軟件產(chǎn)品或項目滿足質(zhì)量方針?biāo)x的活動,它詳細(xì)描述每個階段要執(zhí)行的軟件質(zhì)量保證活動,清楚定義評審的內(nèi)容和過程。SQA根據(jù)制訂的SQA計劃對項目的關(guān)鍵過程域進(jìn)行檢查。在需求階段,SQA人員必須檢查項目組的《客戶需求文檔》評審記錄,確定給定需求在交給項目組之前經(jīng)過評審,確保需求沒有問題。遇到類似數(shù)字化調(diào)度第一代產(chǎn)品中,當(dāng)用戶提出新需求或刪改需求導(dǎo)致需求發(fā)生變更時,SQA人員要檢查項目開發(fā)計劃、工作產(chǎn)物和活動是否都進(jìn)行了相應(yīng)的修改。對于需求變更引起了約定的變更,SQA人員也要審核這些變更是否經(jīng)過相關(guān)小組的協(xié)商。這樣不僅保證了需求與產(chǎn)品的功能一致性,對于變更帶來的異議也有據(jù)可查。由于SQA人員要根據(jù)項目開發(fā)計劃制定SQA計劃,所以不但要密切關(guān)注項目組的計劃制定情況,也要審核開發(fā)計劃的活動。在開發(fā)計劃制定完成后,SQA人員必須對開發(fā)計劃進(jìn)行評審,首先要根據(jù)開發(fā)計劃的模板,審核計劃的內(nèi)容是否完整,是否符合需求、項目、用戶等的標(biāo)準(zhǔn),審核計劃中是否有工作產(chǎn)品的進(jìn)度、成本、風(fēng)險評估等,評估的方法是否合適。在項目進(jìn)度計劃設(shè)置的各里程碑時,SQA通過檢查之前約定修改和評審的記錄內(nèi)容,審核其活動是否進(jìn)行。檢查開發(fā)活動是否與計劃相符,如果不符,審核是否有修訂軟件開發(fā)計劃的活動。通過檢查項目組的項目進(jìn)度完成情況,審核項目的進(jìn)度計劃、風(fēng)險、技術(shù)和設(shè)計限制等有關(guān)活動是否進(jìn)行。SQA人員也要定期對配置管理活動進(jìn)行審核,根據(jù)配置管理計劃檢查配置管理員是否按時將配置項納入配置管理庫,成為基線的配置項是否進(jìn)行過同行評審和變更控制委員會(CCB)的批準(zhǔn)。還要檢查配置管理員是否定時報告基線庫狀態(tài),以及項目經(jīng)理是否定時對基線庫進(jìn)行審核。通過對關(guān)鍵過程域的檢查,保證了整個開發(fā)過程按照過程要求執(zhí)行了相應(yīng)的活動,同時產(chǎn)生了相應(yīng)的文檔和產(chǎn)品。通過SQA報告,相關(guān)的管理人員能實時監(jiān)控項目進(jìn)展情況,并能清楚的了解到項目的開發(fā)是否遵循標(biāo)準(zhǔn)化過程和導(dǎo)致產(chǎn)生不符合標(biāo)準(zhǔn)過程的原因,從而給出建議或意見。對檢查中發(fā)現(xiàn)的問題進(jìn)行識別,要求項目組按照CMM/CMMI標(biāo)準(zhǔn)進(jìn)行糾正。及時對糾正問題進(jìn)行復(fù)查,記錄問題解決情況,并及時與項目經(jīng)理和項目組成員溝通直到解決,同時更新風(fēng)險登記冊,記錄問題及解決方法。
通過以上SQA的活動內(nèi)容,項目組圓滿地完成了數(shù)字化調(diào)度第二代產(chǎn)品的開發(fā)工作。而所形成與項目質(zhì)量保證活動相關(guān)的數(shù)據(jù)都將放入過程資產(chǎn)庫。該過程資產(chǎn)庫將作為組織軟件質(zhì)量保證工作有關(guān)的全部歷史數(shù)據(jù)源。有了這些歷史數(shù)據(jù),我們的組織就能夠開始考慮對質(zhì)量進(jìn)行測量并向CMM/CMMI的更高級別前進(jìn)。
3.3 SQA的工作方法
公司在推行CMM/CMMI時,會對于信息系統(tǒng)開發(fā)項目相關(guān)的人員進(jìn)行有關(guān)CMM/CMMI的培訓(xùn),但雖然如此并不能迅速使CMM/CMMI標(biāo)準(zhǔn)被理解、使用,只有通過和他們密切相關(guān)的SQA人員對產(chǎn)生疑問的解答,使項目相關(guān)人員更多的了解CMM/CMMI標(biāo)準(zhǔn),在工作中按照CMM/CMMI標(biāo)準(zhǔn)去做。在剛開始實施CMM/CMMI時,會遇到諸多問題,作為SQA,要基于解決這些問題的目的去開展自己的工作,而并不只是起到監(jiān)督的作用。SQA人員在負(fù)責(zé)一個項目的質(zhì)量保證工作時,要時刻了解項目的進(jìn)展情況,在軟件項目的每個活動前,與項目組成員特別是項目經(jīng)理進(jìn)行溝通,指導(dǎo)他們按照CMM/CMMI標(biāo)準(zhǔn)應(yīng)該如何去做。比如,在制定項目進(jìn)度計劃時,就要告訴項目經(jīng)理如何設(shè)置里程碑以及里程碑完成標(biāo)準(zhǔn)。即使項目組的每項活動都是在SQA人員的指導(dǎo)下完成的,但在對項目活動進(jìn)行評審時,SQA仍可以找到一些與CMM/CMMI標(biāo)準(zhǔn)不符合的問題,因為項目組的每個人對CMM/CMMI標(biāo)準(zhǔn)的理解程度不同,實際執(zhí)行起來仍會存在偏差。SQA人員發(fā)現(xiàn)問題后,首先應(yīng)及時與項目經(jīng)理進(jìn)行交流,爭取對這些問題達(dá)成共識,同時要對他們的工作給予肯定,否則很容易打擊項目組的積極性,甚至引起抵觸情緒??傊?,SQA人員在對CMM/CMMI標(biāo)準(zhǔn)掌握地非常熟練的情況下,要有足夠的耐心和決心,把CMM/CMMI標(biāo)準(zhǔn)推廣到項目中去。隨著項目組成員在項目中對這種工作流程和標(biāo)準(zhǔn)的熟悉,并且執(zhí)行后的優(yōu)越性逐步展現(xiàn),SQA的工作也會變得輕松。
4 結(jié) 語
引入SQA作為過程改進(jìn)、降低風(fēng)險、保證信息系統(tǒng)開發(fā)質(zhì)量的策略是當(dāng)今信息系統(tǒng)開發(fā)過程的必然趨勢。以SQA為CMM/CMMI具體實施的突破口,對信息系統(tǒng)開發(fā)過程進(jìn)行標(biāo)準(zhǔn)化的管理和改進(jìn),以此提高企業(yè)信息系統(tǒng)開發(fā)產(chǎn)品的質(zhì)量和企業(yè)形象。
參考文獻(xiàn):
[1] 郭澎,陳林.基于CMM/CMMI的DP過程實施方法及其WEB實現(xiàn)[J].軟件導(dǎo)刊,2006,(21).