(二)CMM的主要內容
CMM為軟件企業(yè)的過程能力提供了一個階梯式的進化框架,它采用分層的方式來解釋起組成部分,如圖2示。在第二至第五個成熟等級中,每個等級包含一個內部結構的概念,關于內部結構詳細描述將在下面CMM內部結構的一欄中進行。
每一級向上一級邁進的過程中都有其特定的改進計劃,具體情況如下。
初始級的改進方向是:建立項目過程管理,是使規(guī)范化管理,保障項目的承諾;艷進行需求管理方面的工作,建立用戶域軟件項目之間的溝通,使項目真正反映用戶的需求;建立各種軟件項目幾乎,如軟件開發(fā)計劃、軟件質量保證計劃、軟件配置管理計劃、軟件測試計劃、風險管理計劃及過車改進計劃等;積極開展軟件質量保證活動(SQA)。
可重復級的改進方向是:不再按項目制定軟件過程,而是總結各種項目的成功經(jīng)驗,使之規(guī)則化,把具體經(jīng)驗歸納為權組織的標準軟件過程,把改進軟件組織的整體軟件過程能力的軟件過程活動,作為軟件開發(fā)組織的責任;確定全組織的標準軟件過程,把軟件工程及管理活動集成到一個穩(wěn)固確定的軟件過程中,從而可以跨項目改進軟件過程效果,也可以作為軟件過程剪裁的基礎;建立軟件工程過程小組(SPEG)長期承擔評估域調整軟件過程的任務,以適應未來軟件項目的要求;積累數(shù)據(jù),建立組織的軟件過程庫及軟件過程相關的文檔;加強培訓。
已定義級的改進方向是:著手軟件過程的定量分析,已達到定量地控制軟件項目過程的效果;通過軟件的質量管理達到軟件質量的目標。
已管理級的改進方向是:防范缺陷,不僅在發(fā)現(xiàn)了問題能及時改進,而且應采取特定行動防止將來出現(xiàn)這類缺陷;主動進行技術改革管理、標識、選擇和評價新技術,是有效的新技術能在開發(fā)組織中實施;進行過程變更管理,定義過程改進的目的,經(jīng)常不斷地進行過程改進。
優(yōu)化級的改進目方向是:保持持續(xù)不斷的軟件過程改進。
(三)CMM的內部結構
CMM為軟件過程能力的提高提供了一條改進的途徑。CMM由5個成熟度等級組成,每個成熟度等級有著各自的功能。除第一級外,CMM的每一級按完全相同的內部結構構成的,如圖3。成熟度等級為頂層,不同的成熟度等級反映了軟件組織的軟件過程能力和該組織可能實現(xiàn)預期結果的程度。
在CMM中,每個成熟度等級(第一級除外)規(guī)定了不同的關鍵過程域,一個軟件組織如果希望達到某一個成熟度級別,就必須完全滿足關鍵過程域所規(guī)定的要求,即滿足關鍵古城域的目標。
(四)軟件過程評估和軟件能力評價
軟件過程評估所針對的是軟件組織自身內部軟件過程的改進問題,目的在于法子按缺陷,提出改進方向。評估組以CMM模型為指引調查、鑒別軟件過程中的問題,翻過來將這些問題與CMM關鍵實踐活動所提出的指導一起用于確定組織的軟件過程改進策略。
軟件能力評價是對接受評價者在一定條件下、規(guī)定時間內能否完成特定項目的能力考核,即承擔風險的系數(shù)大小。評價包括承包者是否有能力按計劃開發(fā)軟件產品,是否能按預算完成等。通過利用CMM模型確定評價結果后,就可以利用這些結果確定選擇某一承包商的風險。也可以用來判斷承包者的工作進程,推動他們愛進軟件過程。
具體來說,評估過程是:選擇一個工作組;完成問卷調查和取樣工作;結果分析;現(xiàn)場訪問;與CMM模型對照分析;依據(jù)關鍵過程域的基本情況列出評估提綱。以上步驟在軟件過程評估和軟件能力評價題勾勒很有
參考價值的方法,但在具體操作時以下這些特點也值得考慮:
①、在現(xiàn)場訪問和考察中,充分運用成熟度問卷和結果分析為依據(jù)。
②、以CMM模型作為現(xiàn)場調查的路線圖。
③、利用CMM中的關鍵過程域定義軟件過程中的優(yōu)點和缺陷,從中發(fā)現(xiàn)差異。
④、對關鍵過程域目標是否備滿足的實際情況出發(fā),分析滿意程度,寫出書面報告。
盡管軟件過程評估和軟件能力評價有很多相似之處,但由于其目的和結果的不同,它們之間的差異也是必然存在的,如:
①、軟件過程評估和軟件能力評價在出發(fā)點和目標上的不同,使得會談目的、調查范圍、收集的信息和輸出的表示方式上有著本質的不同。尤其在一些細節(jié)規(guī)范方面,評估和評價的方法有很大差異。
②、軟件過程評估和軟件能力評價的結果和結果所起的作用不同。因為兩者的側重點不一樣,即使是對同一個應用項目,運用相同的方法,也不會得出相同的結果。
③、被評估和評價單位的態(tài)度對評估和評價活動的影響。評估在某種意義上被評估單位的態(tài)度較積極,而評價在某種意義上被評價單位的態(tài)度可能比較慎重。軟件過程評估是在一個開放的、互相協(xié)作的環(huán)境中進行的,而軟件能力評價往往是在有較大的阻力的環(huán)境中進行的。
(五)CMM的組織保證
當人們面對CMM實施時,首先想到的就是人員的構成和各種小組的劃分。它是實施CMM的組織保證,是一切活動的基礎。CMM在制定軟件過程實施中本著盡量不和具體的組織機構和組織形式相聯(lián)系的原則,為的是提供一個獨立于具體企業(yè)而又有廣泛指導意義的模型框架。但在實施各種軟件關鍵實踐中,不可避免地要涉及到角色和組織結構。所以為了使CMM能夠使用域各種級別和各種規(guī)模的企業(yè),SEI提出了一個相對抽象的組織結構,它與組織、項目、人員(角色)相關聯(lián),具有自己特定的術語,而且可能不同于其他組織所用的名詞。例如基本概念中提到的主要的軟件工作組的概念。
三、 正確的態(tài)度看待CMM SEI的CMM并不是軟件開發(fā)的方法學,也不是產品模板,更不是過程法律。CMM是過程改進的途徑,是一套指南,幫助你通過持續(xù)的重復、測量和提煉,穩(wěn)步創(chuàng)造與凈化開發(fā)環(huán)境。CMM的假定是:如果你實施一個不斷重復、測量和提煉的大綱,作為環(huán)境改進的副產物,質量便會自然的提高。不要把CMM設想為一套規(guī)則,而應將它理解為一個學科,做事的一般方法。在這套指南下運作,你會發(fā)現(xiàn)這里有著廣闊的空間,讓你剪裁和塑造自己的大綱,以適應組織的特定要求。
CMM不采用“用這種方法做這類事”的風格,它也不對由問題的IT組織提供快速的糾正方案。CMM是一個指南針,指導你如何逃離暴風雪。CMM是一個大綱,要求你對整個IT組織的有關部分,從高層領導到軟件生產的第一次線工作者,都做出堅定的、長期的實施承諾。成熟的過程不可能在已也之間實現(xiàn)。
在如何解釋CMM建議時,它允許極大的靈活性。CMM意識到,IT組織之間存在著很大的差別。他們的客戶不同,使用的工具不同,人員智力和專業(yè)背景不同,從事的項目屬于不同的類型,規(guī)模大小不同,要求也各不相同。因而,他們應當以自己的方式走向成熟。在一處活用的東西,在另一處未必適用。這一點非常重要,中國部分軟件公司的前車之鑒也從某種程度上給了我們建議和經(jīng)驗教訓,那就是,要靈活應用CMM,不要幻想一夜就有成效。
小結 本文只是根據(jù)這兩年的試題和自己的預測向廣大系分考友提供一些CMM方面的知識。CMM不是重點,但也有可能會考到一些知識,如基本概念等。在搜集資料和整理著篇文章時,遇到了一個矛盾,那就是:我要提供足夠的資料以使讀者不必花費金錢再去買一本書就可以復習有關CMM的知識,而同時又不能放太多的內容使讀者浪費太多的時間在這上面。最后采取了一個折衷的辦法,那就是盡量滿足考試需求的情況下減少篇幅。在此聲明,本文所涉及的內容只是本人的預測,并不是說考試范圍不會超過本文的內容。所以有時間的朋友還是盡可能的擴大這方面知識面。希望這篇文章對你有幫助,謝謝。