一、前言
二、CMM2實踐
CMM2由6個關鍵過程域(KPA)組成:需求管理(RM)、軟件項目計劃(SPP)、軟件項目跟蹤與監控(SPTO)、軟件子合同管理(SSM)(本文略)、軟件質量保證(SQA)、軟件配置管理(SCM)。
需求管理(Requirement Management)
需求管理的目的是為了在客戶和處理客戶需求的軟件項目之間建立共識。這是軟件項目規劃(SPP)和管理(SPTO)的基礎,需求變更依賴于配置管理(SCM)的變更控制流程
CMM2要求的需求管理的基本流程可如<圖一>所示。該流程描述了軟件工程組開始獲取原始需求,匯總為系統需求,分配系統需求,復審軟件需求,軟件需求必須文檔化形成需求文檔,此文檔必須經過相關組和個人的評審,通過評審之后才納入配置管理,為需求文檔建立基線。軟件項目計劃、活動及軟件工作產品,應和軟件需求的變化保持一致。
根據<圖一>所示流程,可以結合實際開發情況確定項目的需求管理步驟:
a. 獲取需求和確認需求以Use case(用例)為單位,以Rational Requisite Pro作為需求管理工具,使用Rational Rose進行維護Use case和Use case Model。
獲取需求工件是:用例模型(Use case Model)、非功能性的“補充規約”、用例規約(Use case Specification)、詞匯表(Glossary)

<圖一>
b. 通過訪談,從客戶處獲取原始需求,形成需求文檔。
c. 分析軟件需求形成Use case描述文檔,與客戶共同確認需求,向客戶展示Use case文檔,獲得客戶認可。
d. 建立基線的需求必須通過相關組的審查,包括:系統分析組、設計組、編碼組、測試組、質量保證組、配置管理組、文檔管理中心及個人。通過審查,項目組成員發現需求是否可行、是否完善、是否清晰、是否可進行測試。
e. 通過審查后,將需求文檔納入配置管理,為需求創建基線。
f. 通過工具管理,對需求進行跟蹤,盡快找出需求變更受影響的需求及工件,并了解需求的實現情況。
g. 客戶確認后如需變更,項目小組成員向其說明變更的影響,并有可能增加費用及時間,盡量控制客戶的需求。需求變更的流程按配置管理的變更流程執行。
h. 一旦需求發生變更,項目計劃、活動、工序隨之變更,并重新提交相關組和個人復審。
i. 實際項目需求管理中應用的文檔有:
項目需求管理流程定義、項目需求復審流程定義、項目需求及狀態跟蹤流程定義、需求獲取表格、需求狀態報告、需求復審報告、需求變更報告、需求跟蹤報告
軟件項目計劃(Software Project Plan)
軟件項目計劃的目的在于建立合理的計劃,執行軟件工程和管理軟件項目。軟件項目計劃管理在軟件開發過程中處于十分重要的地位,它體現了對客戶需求的理解,是開展項目活動的基礎,是軟件項目跟蹤與監控(SPTO)的基礎。
CMM2軟件項目計劃根據納入配置管理后的軟件需求進行項目估算,并依據文檔化的流程,形成項目計劃文檔。項目計劃文檔經復審后納入配置管理,由項目開發人員遵循,并據此跟蹤檢查計劃的執行。項目計劃文檔在復審過程中,如果項目計劃對風險估算不足或存在其它問題,就需要對項目計劃文檔重新修正,以獲得項目組和高層管理者的支持。軟件項目計劃(SPP)也稱為軟件開發計劃(SDP:Software Development Plan),軟件開發計劃一般是指管理軟件項目的全面計劃。
在項目實施過程中,比較常見的情況一種是制定的軟件項目計劃內容簡單,無法具體到每一個迭代或每周,可變性太大;或者制定了詳細的軟件項目計劃,但實際執行根本就不按照計劃實施。
a) 項目采用 Microsoft Word 擬定計劃文檔,以 Microsoft Project 擬定計劃的進度表。
b) 項目經理根據項目軟件需求進行估算,確定進行項目選擇的生命周期、項目規模、所需的人員、時間、進度、資源、風險等內容。將估算的結果形成估算過程文檔,并擬定軟件開發計劃。
c) 軟件開發計劃內容包含:軟件項目計劃、迭代計劃、進度時間表、配置管理計劃、質量保證計劃、需求管理計劃、項目評測計劃、風險管理計劃、產品驗收計劃、問題解決計劃、測試計劃。
d) 估算過程文檔和軟件項目計劃文檔必須通過相關組的審查,以獲得相關組及個人的支持,包括:系統分析組、設計組、編碼組、測試組、質量保證組、配置管理組、文檔管理中心及個人。通過審查,發現并修正項目估算和項目計劃的偏差。只有獲得了支持,軟件項目組在開發過程中才能盡量避免或消除風險。
e) 在高層管理者復審通過后,項目經理指定人員或參與擬定軟件開發計劃其它部分,并由相關組和個人復審。
f) 配置管理人員將軟件開發計劃文檔納入配置管理。
g) 實際項目中應用的文檔有:
制定項目計劃流程定義、項目估算流程定義、項目評估表、資源評估表、軟件開發計劃模板(包括:軟件項目計劃、迭代計劃、配置管理計劃、質量保證計劃、需求管理計劃、項目評測計劃、風險管理計劃、產品驗收計劃、問題解決計劃、測試計劃)、進度時間表、制訂軟件開發計劃的指南。
軟件項目跟蹤與監控(Software Project Tracking and Oversight)
軟件項目跟蹤和監督的目的是建立對實際進展的適當的可視性,為了及時發現開發過程與項目計劃之間的誤差,使項目經理或高層管理者能夠及時了解軟件開發過程的狀態,能在軟件項目明顯偏離軟件計劃時采取有效措施。
CMM2軟件項目跟蹤與監控的基本流程可如<圖二>所示。該流程描述了軟件項目組根據文檔化的估計、承諾、計劃跟蹤和審查軟件成果,并基于實際調整計劃。文檔化的軟件項目計劃被用作跟蹤軟件活動、了解狀態和修正計劃的基礎。項目經理根據項目開發計劃跟蹤項目的執行情況,定期形成項目進度報告,并與項目開發計劃進行對比,發現問題,根據實際情況對軟件開發計劃進行修正。掌握了這個核心,實施軟件項目跟蹤與監控活動就很容易了。

<圖二>
根據<圖二>所示流程,在進行實際項目計劃跟蹤與監控時,可以采取如下方式:
a) 項目組使用 Rational 的工具進行管理,將 Microsoft Project 擬定的項目計劃進度表導入 ClearQuest,主要以 ClearCase 和 ClearQuest 作為跟蹤監控工具。
b) 項目經理每周根據項目的實際執行情況,擬定項目的進度報告。然后召集項目小組成員,對進度報告進行確認和修正。
c) 項目經理對照計劃與實際執行情況,發現差距并將其紀錄成問題報告,其中包括:費用、進度、風險、人員、資源狀況等。
d) 由高層管理者復審進度報告及問題報告,并敦促項目經理修正其計劃及解決項目存在的問題和風險。
e) 實際項目中應用的文檔有:
項目跟蹤與監控流程定義、項目進度報告、項目進度指標收集指南。
文章來源于領測軟件測試網 http://www.kjueaiud.com/