當前位置:工程項目OA系統(tǒng) > 建筑OA系統(tǒng) > 項目進度管理軟件
軟件工程與能力成熟度模型CMM
20世紀70年代中期,軟件工程管理引起廣泛注意。當時美國國防部曾立題專門研究軟件項目做不好的原因,發(fā)現70%的失敗項目是因為管理不善而引起的,而不是因為技術實力不夠。他們進而得出一個結論,即管理是影響軟件研發(fā)項目全局的因素,而技術只影響局部。這個結論非常重要。軟件項目失敗的主要原因有:需求定義不明確;缺乏一個好的軟件開發(fā)過程;沒有一個統(tǒng)一領導的產品研發(fā)小組;子合同管理不嚴格;沒有經常注意改善軟件過程;對軟件構架很不重視;軟件界面定義不善且缺乏合適的控制等等。在關系到軟件項目成功與否的眾多因素中,軟件度量、工作量估計、項目規(guī)劃、進展控制、需求變化和風險管理等都是與工程管理直接相關的因素。由此可見,軟件工程管理的意義至關重要。
軟件項目的特殊性
軟件工程管理和其它工程管理相比有其特殊性。首先,軟件是知識產品,進度和質量都較難度量,生產效率也較難保證。其次,軟件系統(tǒng)復雜程度也是超乎想象的。例如,宇宙飛船的軟件系統(tǒng)源程序代碼多達2000萬行,如果按過去的生產效率一個人一年只能寫1萬行代碼的話,將需要2000人年的工作量,這是非常驚人的。正因為軟件如此復雜和難以度量,軟件工程管理的發(fā)展還很不成熟。
CMM,逐步的成熟
美國Carnegie Mellon大學軟件工程研究所(CMU/SEI)主持研究與開發(fā)的CMM/PSP/TSP技術,為軟件工程管理開辟了一條新的途經。CMM是英文“Capability Maturity Model”的簡稱,意為能力成熟度模型。CMM的本質是軟件管理工程的一個部分。根據軟件生產的歷史與現狀,CMM框架可用5個不斷進化的層次來表達:其中初始層是混沌的過程,可重復層是經過訓練的軟件過程,定義層是標準一致的軟件過程,管理層是可預測的軟件過程,優(yōu)化層是能持續(xù)改善的軟件過程。任何單位所實施的軟件過程,都可能在某一方面比較成熟,在另一方面不夠成熟,但總體上必然屬于這5個層次中的某一個層次。在某個層次內部,也有成熟程度的區(qū)別。在一個較低層次的上沿,很可能與一個較高層次的下沿非常接近,此時由這個較低層次向該較高層次進化也就比較容易。反之,在一個較低層次的下沿向較高層次進化,就比較困難。在CMM框架的不同層次中,需要解決帶有不同層次特征的軟件過程問題。因此,一個軟件開發(fā)單位首先需要了解自己處于哪一個層次,然后才能夠對癥下藥地針對該層次的特殊要求解決相關問題,這樣才能收到事半功倍的軟件過程改善效果。任何軟件開發(fā)單位在致力于軟件過程改善時,只能由所處的層次向緊鄰的上一層次進化,即軟件過程的進化是漸進的,而不能是跳躍的。而且在由某一成熟層次向上一更成熟層次進化時,在原有層次中的那些已經具備的能力還應該得到保持與發(fā)揚。
CMM家族包括CMM集成產品集、SACMM(軟件獲取能力成熟度模型)、SECMM(系統(tǒng)工程能力成熟度模型)和IDEAL模型。其中CMM集成產品集為工業(yè)界和政府部門提供了一系列集成產品,以支持軟件過程和產品的改善;SACMM用于單位獲取和采購基于軟件的應用系統(tǒng)的軟件過程,美國國防部、陸軍、海軍和一些商用單位都已采用SACMM對他們的獲取能力進行評估;SECMM是描述一個單位為保證實現一個好的系統(tǒng)工程的主要元素;而IDEAL模型則是一個單位用于啟動、規(guī)劃和實現過程改善措施藍圖的模型,概括了建立一個成功的過程改善項目的必要步驟,其中I代表Initiating(啟動)、D代表Diagnosing(診斷)、E代表Establishing(建造)、A代表Acting(措施)、L代表Learning(學習)。
美國曾在1995年做過軟件產業(yè)成熟程度的調查,發(fā)現在美國的軟件產業(yè)中,CMM成熟度等級為初始級的竟占70%,其特征是軟件開發(fā)過程不能預測,風險度高;為可重復級的占15%,其特征是軟件開發(fā)過程需小心謹慎方能避免失??;為定義級的所占比例小于10%,其特征是軟件開發(fā)過程相當穩(wěn)定,進展順利且可以預測;為管理級的所占比例小于5%,其特征是軟件過程預測準確、值得信賴;為優(yōu)化級的所占比例小于1%,其特征是軟件過程能持續(xù)改善。
CMM還需綠葉配
需要注意的是,并不是實施了CMM,軟件項目的質量就能有所保障。CMM不是萬能的,它的成功與否,與一個組織內部有關人員的積極參與和創(chuàng)造性活動是密不可分的,而且CMM并未提供實現有關子過程域所需要的具體知識和技能。因此,個體軟件過程PSP(Personal Software Process)也就應運而生。PSP為基于個體和小型群組軟件過程的優(yōu)化提供了具體而有效的途徑,例如如何制訂計劃,如何控制質量,如何與其他人相互協作等等。在軟件設計階段,PSP的著眼點在于軟件缺陷的預防,其具體辦法是強化設計結束準則,而不是設計方法的選擇。根據對參加培訓的104位軟件人員的統(tǒng)計數據表明,在應用了PSP后,軟件中總的缺陷減少了58.0%,在測試階段發(fā)現的缺陷減少了71.9%,生產效率提高了20.8%.PSP的研究結果還表明,絕大多數軟件缺陷是由于對問題的錯誤理解或簡單的失誤所造成的,只有很少一部分是由于技術問題而產生的。而且根據多年來的軟件工程統(tǒng)計數據表明,如果在設計階段注入一個差錯,則這個差錯在編碼階段要引發(fā)35個新的缺陷,要修復這些缺陷所花的費用要比修復這個設計缺陷所花的費用多一個數量級。因此,PSP保障軟件產品質量的一個重要途徑是提高設計質量。PSP的推出,在軟件工程界引起了極大的轟動,可以說是由定向軟件工程走向定量軟件工程的一個標志。
僅有CMM和PSP還是不夠的,因此,CMU/SEI又在此基礎上提出了群組軟件過程TSP(Team Software Process)的方法。TSP指導項目組中的成員如何有效地規(guī)劃和管理所面臨的項目開發(fā)任務,并且告訴管理人員如何指導軟件開發(fā)隊伍始終以最佳狀態(tài)來完成工作。TSP實施集體管理與自我管理相結合的原則,最終目的在于指導一切人員如何在最少的時間內,以預定的費用生產出高質量的軟件產品;所采用的方法是對群組軟件開發(fā)過程的定義、度量和改進。實施TSP的先決條件有3條:首先,需要有高層主管和各級經理的支持,以取得必要的資源;其次,項目組開發(fā)人員需要經過PSP的培訓并有按TSP工作的愿望和熱情;第三,整個單位在總體上應處于CMM二級以上。在實施TSP的過程中,首先要有明確的目標,開發(fā)人員要努力完成已經接受的委托任務。在每一階段開始,要做好工作計劃。如果發(fā)現未能按期按質完成計劃,應分析原因,以判定問題是由于工作內容不合適或工作計劃不實際所引起,還是由于資源不足或主觀努力不夠所引起。開發(fā)小組一方面應隨時追蹤項目進展狀態(tài)并進行定期匯報,另一方面應經常評審自己是否按PSP的原理工作。開發(fā)人員應按自己管理自己的原則管理軟件過程,如發(fā)現過程不合適,應及時改進,以保證用高質量的過程來生產高質量的軟件。項目開發(fā)小組則按集體管理的原則進行管理,全體成員都要參加和關心小組的規(guī)劃、進展的追蹤和決策的制訂等項工作。
總之,單純實施CMM,永遠不能真正做到能力成熟度的升級,只有將實施CMM與實施PSP和TSP有機地結合起來,才能發(fā)揮最大的效力。
目前國內對軟件工程管理存在的最大問題是認識不足。管理實際上是一把手工程,需要高層管理人員的足夠重視。據國外有些大公司的介紹,他們在軟件工程管理方面的投資一般占軟件開發(fā)費用的10%左右,這些都需要得到高層管理人員的支持。而且軟件過程的重大修改也必須由高層管理部門啟動,這是軟件過程改善能否進行到底的關鍵。此外,軟件過程的改善還有待于全體有關人員的積極參與,否則不僅他本人將失去從軟件過程改善中獲得提高的機會,甚至還會成為過程改善的阻力。
除了要認識到過程改善工作是一把手工程這個關鍵因素外,還應認識到軟件過程成熟度的升級本身就是一個過程,且有一個生命周期。因此,過程改善工作必然具有一切過程所具有的固有特征,即需要循序漸進,不能一蹴而就,需要持續(xù)改善,不能停滯不前;需要聯系實際,不能照本宣科;需要適應變革,不能凝固不變。而且我認為,要將CMM/PSP/TSP引入軟件企業(yè),最有效的途徑是要對單位主管和主要開發(fā)人員進行系統(tǒng)的培訓。美國 Carnegie Mellon 大學軟件工程研究所曾經嘗試讓軟件工程師通過自學的方式來進行,但實際上只有不到20%的人能夠堅持到底。另外一個有效的途徑是自頂向下的課程培訓,即從高層主管依次普及到下面的工程師。
現在國內軟件產業(yè)的發(fā)展可以說已經具有一定規(guī)模了,但除了北大方正、東大阿爾派、用友等大企業(yè)外,做軟件工程項目更多的是一些規(guī)模在數十人左右的中小企業(yè)。也許有人會問,像這樣一些人力物力資源匱乏的企業(yè),如何進行軟件開發(fā)項目的管理呢?我建議這些中小企業(yè)可以以CMM為框架,先從PSP做起,然后在些基礎上逐漸過渡到TSP,以保證CMM/PSP/TSP確實在企業(yè)中生根開花。總之,我們必須從軟件過程、過程工程的角度來看待CMM的發(fā)展,從經濟學的觀點來分析這個過程的價值。我相信在實施CMM/PSP/TSP的過程中,只要堅持改善軟件工程的管理,并在實踐中注意總結適合自身的經驗,一定能取得很好的效果。
- 1臺風、雨季施工安全保證措施
- 2淺談如何加強進度管理以提高帶動項目管理
- 32015機電工程要點:非金屬材料的類型及應用
- 42015礦業(yè)工程要點:礦業(yè)工程施工組織設計的編制依據
- 52015機電工程要點:風管系統(tǒng)的施工技術要求
- 6海南省文昌“兩橋一路”工程濱海旅游公路昌灑至鋪前段工程中心試驗室招標中標公示
- 7工程項目竣工結算管理
- 8柳州某大橋改造工程(三防)應急安全預案
- 9揭陽市交警支隊高速公路重點路段、主要出入口監(jiān)控抓拍系統(tǒng)采購項目中標公告
- 10一級建造師復習資料:防治施工照明污染
- 11住房城鄉(xiāng)建設部關于印發(fā)2013年國家建筑標準設計編制工作計劃的通知
- 12【建筑工程管理與實務知識匯總】第3章 第五節(jié)
- 13一級建造師復習資料:建造合同的類型
- 14深圳地鐵某區(qū)間安全專項施工方案(2011年 基坑支護)
- 15建設部安全生產委員會第三次會議紀要
- 16【碩士】模糊事故樹分析及其在施工安全管理中的應用
- 17樁基礎安全施工方案
- 18江蘇2015年造價員考試大綱:工程造價計價依據概述
- 19職業(yè)化項目經理是怎樣鍛造的
- 20施工合同風險管理的防范
- 21同源高速公路工程某段施工便道與國道交叉口安全方案
- 22關于發(fā)布二○○一年度部級優(yōu)秀勘察設計評選結果的公告
- 23關于對近期發(fā)生的兩起建筑施工重大傷亡事故的緊急通報
- 24青蘭高速某段火災應急預案
- 252015年造價員考試知識點輔導:各種涂料容量比重參考
- 262015礦業(yè)工程要點:常用鋼材加工方法及對鋼材性能的影響
- 27廣西南寧市環(huán)城高速公路收費站遷建項目工程(一期工程)監(jiān)控、通信、收費綜合系統(tǒng)工程施工招標評標結果公示
- 28西游記 古代最成功的項目管理案例
- 29一級建造師復習資料:竣工質量驗收的標準
- 30襄城縣公路運輸管理所采購交通運政執(zhí)勤作訓服項目(二次)成交公告
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓