1. 程式人生 > >關於CMMI學習感悟及遇到的問題

關於CMMI學習感悟及遇到的問題

CMMI模型由一系列的PA(過程域)組成,這些PA構成了整合能力模型的核心,為企業提供了軟體工程、系統工程、整合產品及過程開發方面的過程改進框架和指南。在CMMI中,軟體組織可以按照兩中模型改進自己的軟體開發過程——連續的和階段性的模型。CMMI的目標是建立一個超脫於軟體產品型別和組織結構的軟體管理框架。

優點:
1、提高軟體開發的管理能力,因為CMM可提供軟體公司自我評估的方法和自我提高 的手段;
2、提高軟體開發效率;
3、提高軟體質量;
4、提高軟體競爭力;

描述要達到某個過程成熟度等級所要求的軟體實踐。
為軟體過程的有序進行及一致性評價提供基礎;
為過程的持續改進提供一個路標;

如果我們已經達到了CMMI 2級的要求,有什麼辦法可以公佈我們的成熟度級別呢? 為組織的過程能力的度量定義一種尺度。
CMM可分為五個等級:一級為初始級,二級為可重複級,三級為已定義級,四級為已管理級,五級為優化級.其中任何軟體企業都可以認為是成熟度級別為一級的組織.換句話說,一級的企業在軟體過程中是有很多問題,但隨著成熟度級別的升高,企業軟體過程的能力也會越來越強.目前,CMM模式已被公認為是當前最好的軟體過程管理模式,它已成為業界事實上的軟體過程的工業標準.但是需要提醒的是,並不是實施了CMM,軟體專案的質量就一定有了保障.因為按照CMM思想進行管理與通過CMM認證並不能劃上等號.

軟體過程能力成熟度的五個等級的關鍵特徵是:

1.初始級。企業的專案開發過程始終處於黑盒狀態,專案經常失控,對於關鍵開發人員的依賴性極大,專案組也始終處於一種救火式的狀態。成功來源於個人英雄主義而非機構行為,因此它不可重複,更換人員後成功便難以維持。

2.管理級。明確了基本的專案管理和控制;對特定的專案,建立了管理該專案的策略,以及實現這些策略的過程;新專案的計劃和管理,基於類似專案經驗;過程能力主要通過管理單個專案的過程,來得到提高和增強;不同的專案可有不同的軟體過程。

3.已定義級。軟體過程已被提升成標準化過程,從而更加具有穩定性、重複性和可控性;工程活動和管理活動,整合為一個有機的整體;軟體工程組(SEPG)專門負責訂立機構的標準軟體過程;標準的軟體過程結合具體專案的特點,經過裁剪形成專案的過程;時間、成本和實現功能均可跟蹤和控制,產品的質量得到保證。企業由專案組級管理機制轉向組織級管理機制,組織內的每一個專案組都遵循組織級開發過程進行開發工作。

4.量化管理級。定量、可預測、異常控制和高質量;軟體的過程和產品,有定量的質量指標;產品和生產過程的控制具有可預測性。

5.優化管理級。機構集中於持續的過程改進。

遇到的問題:
1.如果軟體的需求和後續完成的軟體有一定衝突的話,那是是否一定要根據軟體需求做更改?
2、測試是否應該獨立出來,獨立出來的話,每個人寫的程式碼風格不一致,得重新研究還很難找到bug,找到bug,是不是還得交回給專業寫程式碼的人修復,那豈不是增加了繁雜的步驟?
3.在團隊開發中,每個人的性格也不盡相同,有人喜歡把事情儘早做完,但也有人喜歡把事情放在後面,拖到最後,出現兩極分化,這樣就會產生衝突、工作進展緩慢、合作不愉快等,那如何協調和解決這件事情,從而來保證團隊的高度團結和團隊開發的效率?
4.在前期做需求分析的時候。需求分析人員發現,使用者所提出的需求和他真正需要的需求存在差異。當面對一位偏執的使用者時,到底應該以使用者提出的需求作為需求,還是應該說服使用者接受自己提出的需求?
5.在設計使用者UI介面時,應該以客戶的喜好為準還是以實際的操作人員喜好為準?