對于那些準備通過CMM3級評測的開發機構而言,基于一種被定義和文檔化的標準實踐流程從事軟件開發活動是工作的重點,該級別涉及到七個關鍵過程領域。其?quot;軟件產品工程"一項旨在有機整合各項活動,目標是快速有效地生產高質量的軟件產品。該關鍵過程領域中明確指出: "軟件需求的獲取、維護、歸檔和校驗有賴于系統化的分析,這種分析要以項目所定義的軟件開發流程為根據。"該分析過程的目的是保證軟件需求自身的有效性。
關鍵過程領域"軟件產品工程"中還明確指出: "一致性的維護要貫穿軟件開發過程中的各種類型的工件(工件:由軟件開發流程所生成或使用的一組信息。),包括軟件開發計劃,過程描述,需求信息,軟件設計,編碼,測試計劃,以及測試流程。"根據CMM的指導,各種有價值的軟件工件都需要歸檔和維護以確保其可用。
根據CMM的建議,軟件需求的變更被接受為軟件開發活動中的一個必然組成部分!皟鼋Y需求規約"的做法顯然已經不能適應當今的商業環境和技術環境。取而代之的做法是建立相對穩定的軟件需求基線,并將其融合到系統化的開發活動當中,以確保對需求變更的控制能夠跨越不同工種和覆蓋整個生命周期。
CMM給出了幾點針對性的指導建議: 變更需要經過提請,分析并且在合適的條件下被整合;需求的變更得到批準并加以整和之后,相應的工件和活動才能變更;在變更發生之前確定該變更所帶來的影響,團隊之間要針對變更進行必要的溝通和協商;所有的變更從始至終被跟蹤。在以需求為核心線索的開發過程中,確保所有的需求變更從始至終被跟蹤是掌握開發活動來龍去脈的基本保證。需求的修訂要被一組具有代表性和權威性的涉眾代表審閱并認可后方可得到批準,這樣能夠確保在修訂的需求中體現出不同背景和立場的影響力。涉眾包括客戶,最終用戶,項目管理人員以及軟件測試人員等。
根據CMM的要求,所有被批準的變更都要被從始至終地記錄在案,用作記錄相關信息的文檔也要接受控制和管理。此外,我們還需要掌握用以確定軟件產品功能、質量及開發活動狀態的信息。 總 結
作為一種廣泛的和具有影響力的軟件過程控制和評估框架,CMM只有映射到一個具體的系統化軟件流程中才能體現出其真正的價值。換言之,準備通過CMM評估的開發機構應該以現有的流程和方法作為改進和優化其流程的基本出發點。
在軟件需求管理方面,對于準備通過CMM2級評測的開發機構,團隊應將注意力放在以下幾個方面: