引言
由 SEI 在 1991 年 8 月發布的軟體能力成熟度等級模型( SW-CMM ),用來評估軟體企業的 成熟度等級層級,使軟體企業瞭解自己的優勢和不足之處,從而持續地改進企業的軟體開發過程,提高管理水 平,降低管理成本,保證軟體開發效率和軟體品質。
然而, CMM 是針對大型項目和企業制定的。 小項目和中小企業由於受到相應條件的限制,如組織圖、角色和關係、過程模式定義等,生搬硬套 CMM 架構只能給自己帶來沉重的負擔。可取的做法是把 CMM 作為一個參考,從 CMM 評估體系中汲取適合於自 身發展的要素,提高軟體開發和管理水平。
1 CMM 可重複級架構
CMM可重複級是針對軟體 項目的管理,包含需求管理、軟體專案計劃、軟體項目跟蹤與監控、軟體子同合管理、軟體組態管理、軟 件品質保證等六個關鍵過程域。其中子合約管理用於選擇合格的軟體承包商並對其進行有效地管理,一般 軟體企業如無外包業務,可將該關鍵過程域忽略,不作為評估範圍。
1.1需求管理
這裡的 需求包括技術需求和非技術需求。目的是在客戶和軟體項目間建立對客戶需求的共同理解。主要任務有: 擷取客戶需求,作為後續工作的基礎;客戶需求通過評審,納入組態管理,建立需求基準;按組態管理的 變更流程執行,跟蹤需求變更。
1.2 軟體專案計劃
制定合理的軟體專案計劃是軟體項目開 展、跟蹤與監控的基礎。項目開始時,專案經理根據需求進行估算,制定軟體開發計劃和進度表;軟體開 發計劃通過項目組評審和高層經理審批,納入組態管理。
1.3 軟體項目跟蹤與監控
為使軟 件項目按計劃的進度和品質完成,需要建立過程可視性,對項目實際進展情況進行跟蹤與監控,使管理者 在軟體項目偏離計劃時採取有效措施。跟蹤軟體項目活動主要包括跟蹤軟體規模、工作量、成本、進度、 風險等。
1.4 軟體品質保證
軟體品質保證貫穿軟體專案生命週期。品質保證人員按品質保 證計劃,對軟體項目所使用的過程及開發的產品進行恰當的管理,評審項目活動,審計工作產品,以驗證 它們符合規程和標準。
1.5 軟體組態管理
軟體組態管理同樣貫穿軟體專案生命週期。由 SCM工程師制定組態管理計劃,完成各項組態管理活動,維護配置項的可跟蹤性,保證在軟體項目整個生 命周期中產品的完整性。
2 專案生命週期模型描述
軟體專案生命週期模型的選擇對項目成 功與否起到很大作用。合適的專案生命週期使項目能夠按計劃順利完成,不合適的專案生命週期不同程度 地阻礙項目的進展。
本文討論的軟體項目是某公司與國外公司合作項目,主要是軟體驗證和測試 。與自主開發軟體不同,該項目來源於國外公司,客戶以任務包形式分配任務,每個任務包開始時間由客 戶決定。因為現有的軟體專案生命週期模型均不能確切描述該項目的特性和過程,為此,公司 SEPG 創造 性地為該項目提出了專門的模型。將項目分為三個階段:策劃、實施和總結。各階段與 5 個 KPA 的關係 如示意圖。