監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉
項(xiàng)目進(jìn)度管理軟件

當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 建筑OA系統(tǒng) > 項(xiàng)目進(jìn)度管理軟件

軟件工程與能力成熟度模型CMM

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

  20世紀(jì)70年代中期,軟件工程管理引起廣泛注意。當(dāng)時(shí)美國(guó)國(guó)防部曾立題專門研究軟件項(xiàng)目做不好的原因,發(fā)現(xiàn)70%的失敗項(xiàng)目是因?yàn)楣芾聿簧贫鸬模皇且驗(yàn)榧夹g(shù)實(shí)力不夠。他們進(jìn)而得出一個(gè)結(jié)論,即管理是影響軟件研發(fā)項(xiàng)目全局的因素,而技術(shù)只影響局部。這個(gè)結(jié)論非常重要。軟件項(xiàng)目失敗的主要原因有:需求定義不明確;缺乏一個(gè)好的軟件開發(fā)過程;沒有一個(gè)統(tǒng)一領(lǐng)導(dǎo)的產(chǎn)品研發(fā)小組;子合同管理不嚴(yán)格;沒有經(jīng)常注意改善軟件過程;對(duì)軟件構(gòu)架很不重視;軟件界面定義不善且缺乏合適的控制等等。在關(guān)系到軟件項(xiàng)目成功與否的眾多因素中,軟件度量、工作量估計(jì)、項(xiàng)目規(guī)劃、進(jìn)展控制、需求變化和風(fēng)險(xiǎn)管理等都是與工程管理直接相關(guān)的因素。由此可見,軟件工程管理的意義至關(guān)重要。

  軟件項(xiàng)目的特殊性

  軟件工程管理和其它工程管理相比有其特殊性。首先,軟件是知識(shí)產(chǎn)品,進(jìn)度和質(zhì)量都較難度量,生產(chǎn)效率也較難保證。其次,軟件系統(tǒng)復(fù)雜程度也是超乎想象的。例如,宇宙飛船的軟件系統(tǒng)源程序代碼多達(dá)2000萬行,如果按過去的生產(chǎn)效率一個(gè)人一年只能寫1萬行代碼的話,將需要2000人年的工作量,這是非常驚人的。正因?yàn)檐浖绱藦?fù)雜和難以度量,軟件工程管理的發(fā)展還很不成熟。

  CMM,逐步的成熟

  美國(guó)Carnegie Mellon大學(xué)軟件工程研究所(CMU/SEI)主持研究與開發(fā)的CMM/PSP/TSP技術(shù),為軟件工程管理開辟了一條新的途經(jīng)。CMM是英文“Capability Maturity Model”的簡(jiǎn)稱,意為能力成熟度模型。CMM的本質(zhì)是軟件管理工程的一個(gè)部分。根據(jù)軟件生產(chǎn)的歷史與現(xiàn)狀,CMM框架可用5個(gè)不斷進(jìn)化的層次來表達(dá):其中初始層是混沌的過程,可重復(fù)層是經(jīng)過訓(xùn)練的軟件過程,定義層是標(biāo)準(zhǔn)一致的軟件過程,管理層是可預(yù)測(cè)的軟件過程,優(yōu)化層是能持續(xù)改善的軟件過程。任何單位所實(shí)施的軟件過程,都可能在某一方面比較成熟,在另一方面不夠成熟,但總體上必然屬于這5個(gè)層次中的某一個(gè)層次。在某個(gè)層次內(nèi)部,也有成熟程度的區(qū)別。在一個(gè)較低層次的上沿,很可能與一個(gè)較高層次的下沿非常接近,此時(shí)由這個(gè)較低層次向該較高層次進(jìn)化也就比較容易。反之,在一個(gè)較低層次的下沿向較高層次進(jìn)化,就比較困難。在CMM框架的不同層次中,需要解決帶有不同層次特征的軟件過程問題。因此,一個(gè)軟件開發(fā)單位首先需要了解自己處于哪一個(gè)層次,然后才能夠?qū)ΠY下藥地針對(duì)該層次的特殊要求解決相關(guān)問題,這樣才能收到事半功倍的軟件過程改善效果。任何軟件開發(fā)單位在致力于軟件過程改善時(shí),只能由所處的層次向緊鄰的上一層次進(jìn)化,即軟件過程的進(jìn)化是漸進(jìn)的,而不能是跳躍的。而且在由某一成熟層次向上一更成熟層次進(jìn)化時(shí),在原有層次中的那些已經(jīng)具備的能力還應(yīng)該得到保持與發(fā)揚(yáng)。

  CMM家族包括CMM集成產(chǎn)品集、SACMM(軟件獲取能力成熟度模型)、SECMM(系統(tǒng)工程能力成熟度模型)和IDEAL模型。其中CMM集成產(chǎn)品集為工業(yè)界和政府部門提供了一系列集成產(chǎn)品,以支持軟件過程和產(chǎn)品的改善;SACMM用于單位獲取和采購(gòu)基于軟件的應(yīng)用系統(tǒng)的軟件過程,美國(guó)國(guó)防部、陸軍、海軍和一些商用單位都已采用SACMM對(duì)他們的獲取能力進(jìn)行評(píng)估;SECMM是描述一個(gè)單位為保證實(shí)現(xiàn)一個(gè)好的系統(tǒng)工程的主要元素;而IDEAL模型則是一個(gè)單位用于啟動(dòng)、規(guī)劃和實(shí)現(xiàn)過程改善措施藍(lán)圖的模型,概括了建立一個(gè)成功的過程改善項(xiàng)目的必要步驟,其中I代表Initiating(啟動(dòng))、D代表Diagnosing(診斷)、E代表Establishing(建造)、A代表Acting(措施)、L代表Learning(學(xué)習(xí))。

  美國(guó)曾在1995年做過軟件產(chǎn)業(yè)成熟程度的調(diào)查,發(fā)現(xiàn)在美國(guó)的軟件產(chǎn)業(yè)中,CMM成熟度等級(jí)為初始級(jí)的竟占70%,其特征是軟件開發(fā)過程不能預(yù)測(cè),風(fēng)險(xiǎn)度高;為可重復(fù)級(jí)的占15%,其特征是軟件開發(fā)過程需小心謹(jǐn)慎方能避免失敗;為定義級(jí)的所占比例小于10%,其特征是軟件開發(fā)過程相當(dāng)穩(wěn)定,進(jìn)展順利且可以預(yù)測(cè);為管理級(jí)的所占比例小于5%,其特征是軟件過程預(yù)測(cè)準(zhǔn)確、值得信賴;為優(yōu)化級(jí)的所占比例小于1%,其特征是軟件過程能持續(xù)改善。

  CMM還需綠葉配

  需要注意的是,并不是實(shí)施了CMM,軟件項(xiàng)目的質(zhì)量就能有所保障。CMM不是萬能的,它的成功與否,與一個(gè)組織內(nèi)部有關(guān)人員的積極參與和創(chuàng)造性活動(dòng)是密不可分的,而且CMM并未提供實(shí)現(xiàn)有關(guān)子過程域所需要的具體知識(shí)和技能。因此,個(gè)體軟件過程PSP(Personal Software Process)也就應(yīng)運(yùn)而生。PSP為基于個(gè)體和小型群組軟件過程的優(yōu)化提供了具體而有效的途徑,例如如何制訂計(jì)劃,如何控制質(zhì)量,如何與其他人相互協(xié)作等等。在軟件設(shè)計(jì)階段,PSP的著眼點(diǎn)在于軟件缺陷的預(yù)防,其具體辦法是強(qiáng)化設(shè)計(jì)結(jié)束準(zhǔn)則,而不是設(shè)計(jì)方法的選擇。根據(jù)對(duì)參加培訓(xùn)的104位軟件人員的統(tǒng)計(jì)數(shù)據(jù)表明,在應(yīng)用了PSP后,軟件中總的缺陷減少了58.0%,在測(cè)試階段發(fā)現(xiàn)的缺陷減少了71.9%,生產(chǎn)效率提高了20.8%.PSP的研究結(jié)果還表明,絕大多數(shù)軟件缺陷是由于對(duì)問題的錯(cuò)誤理解或簡(jiǎn)單的失誤所造成的,只有很少一部分是由于技術(shù)問題而產(chǎn)生的。而且根據(jù)多年來的軟件工程統(tǒng)計(jì)數(shù)據(jù)表明,如果在設(shè)計(jì)階段注入一個(gè)差錯(cuò),則這個(gè)差錯(cuò)在編碼階段要引發(fā)35個(gè)新的缺陷,要修復(fù)這些缺陷所花的費(fèi)用要比修復(fù)這個(gè)設(shè)計(jì)缺陷所花的費(fèi)用多一個(gè)數(shù)量級(jí)。因此,PSP保障軟件產(chǎn)品質(zhì)量的一個(gè)重要途徑是提高設(shè)計(jì)質(zhì)量。PSP的推出,在軟件工程界引起了極大的轟動(dòng),可以說是由定向軟件工程走向定量軟件工程的一個(gè)標(biāo)志。

  僅有CMM和PSP還是不夠的,因此,CMU/SEI又在此基礎(chǔ)上提出了群組軟件過程TSP(Team Software Process)的方法。TSP指導(dǎo)項(xiàng)目組中的成員如何有效地規(guī)劃和管理所面臨的項(xiàng)目開發(fā)任務(wù),并且告訴管理人員如何指導(dǎo)軟件開發(fā)隊(duì)伍始終以最佳狀態(tài)來完成工作。TSP實(shí)施集體管理與自我管理相結(jié)合的原則,最終目的在于指導(dǎo)一切人員如何在最少的時(shí)間內(nèi),以預(yù)定的費(fèi)用生產(chǎn)出高質(zhì)量的軟件產(chǎn)品;所采用的方法是對(duì)群組軟件開發(fā)過程的定義、度量和改進(jìn)。實(shí)施TSP的先決條件有3條:首先,需要有高層主管和各級(jí)經(jīng)理的支持,以取得必要的資源;其次,項(xiàng)目組開發(fā)人員需要經(jīng)過PSP的培訓(xùn)并有按TSP工作的愿望和熱情;第三,整個(gè)單位在總體上應(yīng)處于CMM二級(jí)以上。在實(shí)施TSP的過程中,首先要有明確的目標(biāo),開發(fā)人員要努力完成已經(jīng)接受的委托任務(wù)。在每一階段開始,要做好工作計(jì)劃。如果發(fā)現(xiàn)未能按期按質(zhì)完成計(jì)劃,應(yīng)分析原因,以判定問題是由于工作內(nèi)容不合適或工作計(jì)劃不實(shí)際所引起,還是由于資源不足或主觀努力不夠所引起。開發(fā)小組一方面應(yīng)隨時(shí)追蹤項(xiàng)目進(jìn)展?fàn)顟B(tài)并進(jìn)行定期匯報(bào),另一方面應(yīng)經(jīng)常評(píng)審自己是否按PSP的原理工作。開發(fā)人員應(yīng)按自己管理自己的原則管理軟件過程,如發(fā)現(xiàn)過程不合適,應(yīng)及時(shí)改進(jìn),以保證用高質(zhì)量的過程來生產(chǎn)高質(zhì)量的軟件。項(xiàng)目開發(fā)小組則按集體管理的原則進(jìn)行管理,全體成員都要參加和關(guān)心小組的規(guī)劃、進(jìn)展的追蹤和決策的制訂等項(xiàng)工作。

  總之,單純實(shí)施CMM,永遠(yuǎn)不能真正做到能力成熟度的升級(jí),只有將實(shí)施CMM與實(shí)施PSP和TSP有機(jī)地結(jié)合起來,才能發(fā)揮最大的效力。

  目前國(guó)內(nèi)對(duì)軟件工程管理存在的最大問題是認(rèn)識(shí)不足。管理實(shí)際上是一把手工程,需要高層管理人員的足夠重視。據(jù)國(guó)外有些大公司的介紹,他們?cè)谲浖こ坦芾矸矫娴耐顿Y一般占軟件開發(fā)費(fèi)用的10%左右,這些都需要得到高層管理人員的支持。而且軟件過程的重大修改也必須由高層管理部門啟動(dòng),這是軟件過程改善能否進(jìn)行到底的關(guān)鍵。此外,軟件過程的改善還有待于全體有關(guān)人員的積極參與,否則不僅他本人將失去從軟件過程改善中獲得提高的機(jī)會(huì),甚至還會(huì)成為過程改善的阻力。

  除了要認(rèn)識(shí)到過程改善工作是一把手工程這個(gè)關(guān)鍵因素外,還應(yīng)認(rèn)識(shí)到軟件過程成熟度的升級(jí)本身就是一個(gè)過程,且有一個(gè)生命周期。因此,過程改善工作必然具有一切過程所具有的固有特征,即需要循序漸進(jìn),不能一蹴而就,需要持續(xù)改善,不能停滯不前;需要聯(lián)系實(shí)際,不能照本宣科;需要適應(yīng)變革,不能凝固不變。而且我認(rèn)為,要將CMM/PSP/TSP引入軟件企業(yè),最有效的途徑是要對(duì)單位主管和主要開發(fā)人員進(jìn)行系統(tǒng)的培訓(xùn)。美國(guó) Carnegie Mellon 大學(xué)軟件工程研究所曾經(jīng)嘗試讓軟件工程師通過自學(xué)的方式來進(jìn)行,但實(shí)際上只有不到20%的人能夠堅(jiān)持到底。另外一個(gè)有效的途徑是自頂向下的課程培訓(xùn),即從高層主管依次普及到下面的工程師。

  現(xiàn)在國(guó)內(nèi)軟件產(chǎn)業(yè)的發(fā)展可以說已經(jīng)具有一定規(guī)模了,但除了北大方正、東大阿爾派、用友等大企業(yè)外,做軟件工程項(xiàng)目更多的是一些規(guī)模在數(shù)十人左右的中小企業(yè)。也許有人會(huì)問,像這樣一些人力物力資源匱乏的企業(yè),如何進(jìn)行軟件開發(fā)項(xiàng)目的管理呢?我建議這些中小企業(yè)可以以CMM為框架,先從PSP做起,然后在些基礎(chǔ)上逐漸過渡到TSP,以保證CMM/PSP/TSP確實(shí)在企業(yè)中生根開花??傊覀儽仨殢能浖^程、過程工程的角度來看待CMM的發(fā)展,從經(jīng)濟(jì)學(xué)的觀點(diǎn)來分析這個(gè)過程的價(jià)值。我相信在實(shí)施CMM/PSP/TSP的過程中,只要堅(jiān)持改善軟件工程的管理,并在實(shí)踐中注意總結(jié)適合自身的經(jīng)驗(yàn),一定能取得很好的效果。

發(fā)布:2007-02-27 09:48    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:

泛普項(xiàng)目進(jìn)度管理軟件其他應(yīng)用

項(xiàng)目管理工具 禪道項(xiàng)目管理軟件 夢(mèng)龍項(xiàng)目管理軟件 微軟項(xiàng)目管理軟件 裝飾管理系統(tǒng) 裝修預(yù)算軟件 項(xiàng)目計(jì)劃軟件 項(xiàng)目進(jìn)度管理軟件 軟件項(xiàng)目管理工具 材料管理軟件 工程項(xiàng)目管理軟件系統(tǒng) 項(xiàng)目管理系統(tǒng) 施工管理軟件 建筑工程項(xiàng)目管理軟件 工程管理軟件