本站小編為你精心準備了中小型軟件企業軟件開發管理能力探討參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
摘要:本文介紹了評價企業軟件開發能力的重要參考CMM的主要用途,分析了中小型軟件企業的特點,給出了在中小型軟件企業中實施CMM的步驟與策略,為中小型軟件企業提高軟件開發管理能力指明了方向。
關鍵詞:軟件企業能力成熟度模型軟件過程改進
一、引言
CMM是軟件過程能力成熟度模型的簡稱,它主要用于軟件開發過程與軟件開發能力的評估與改進,CMM自問世以來備受關注,在很多國家與地區得到了廣泛的應用,成為衡量軟件公司軟件開發管理水平的重要參考因素和軟件過程改進事實上的工業標準。
二、CMM的主要用途有
1.軟件過程評估。軟件過程評估主要用于軟件企業自身內部的軟件過程的改進問題,目的在于發現缺陷與不足,提出軟件過程改進的方向。在評估過程中,由經過CMM系統培訓的專業人員調查,評估與鑒別軟件過程中存在的問題,確定出企業軟件過程的現狀,從中分析出企業最急于解決或者最重要的與軟件過程相關的問題,將問題匯報給企業管理層,以便取得企業管理層對軟件過程改進的支持。
2.軟件能力評價。對接受評價的企業或軟件開發小姐,評價出他們在一定條件下,即資金與時間的約束條件下能否按時按質完成軟件開發項目的能力。分析出其能夠承受風險的系數大小。通過利用CMM確定評價結果后,可以利用這些結果確定選擇軟件外包企業的風險,也可以判斷相關企業在軟件開發過程中的工作進程,指導他們改進相關的軟件過程。3.軟件過程改進。CMM可以用于指導軟件開發企業優化軟件過程,對軟件過程進行計劃,制定與過程定義。CMM指出了軟件企業如何擺脫無序與不成熟的軟件過程,形成一個成熟的有規律的軟件過程所必經的優化與提高的途徑。同時CMM也列出了達到每一個成熟度等級所必須關注的軟件過程的關鍵內容,即軟件過程域,以及完成每一個軟件過程域所必須要做的關鍵實踐。隨著軟件企業CMM級別的提高,軟件企業的軟件過程能力成熟度不斷地增長。
三、中小型軟件企業在軟件開發過程中的特征
不同企業有不同的情況,例如不同的規模,企業文化,技術水平,不同的優劣勢,所以在實施軟件過程改進時,要根據不同企業的特點有所裁減,要在軟件過程改善時,有針對性的發揮優勢,減少劣勢所可能造成的負面影響。中小軟件企業相對于大型軟件企業有以下鮮明特征:第一,由于企業規模的限制導致中小軟件企業大多數從事的是系統集成軟件的開發,即特性軟件的開發,人員規模與資金規模相對于大型軟件開發企業的有限,使中小軟件企業很難花費大量時間對開發員工進行徹底的軟件過程改善的培訓,且在軟件發行過程中很難進行良好的商業宣傳與運作,這些都是由于規模有限產生的負面效應。第二,在企業文化上,中小軟件企業的員工可能參與到軟件開發流程中的各個環節與方面,例如需求分析,設計,開發或測試。在開發過程中的職責劃分上,以員工為中心而不是以角色為中心。軟件開發層次不明晰,不利于保障軟件開發質量,因為不能做到像大型軟件企業那樣,設立不同的專業軟件過程組來進行軟件過程改善,比如劃分了專門的軟件工程組與軟件過程組等。第三,中小企軟件企業的項目成功主要依賴于核心開發人員的技術與管理能力,企業缺乏明確定義的軟件過程,雖然這種開發模式能確保開發過程中的靈活性與自由化,但同時造成少部分人的工作量超負荷,也使得成功的開發模式與經驗得不到有效的繼承,限制了軟件開發能力的提高,中小型軟件企業的人員變更相對頻繁,這使得軟件過程改善必須以軟件過程及其活動為中心,而不能以某個員工為中心。第四,中小型軟件企業的溝通比較容易,這造成各項工作的文檔化程度不高,主要是通過交流來達到監控項目的目的,幾乎沒有或者很少有庫存的過往開發項目的文檔資料。
四、CMM在中小型軟件企業中實施的步驟
1.需求管理。從客戶處獲取原始需求,經分析后形成需求說明書,獲得客戶授權與認可,軟件開發項目組評審需求說明書,加入配置管理,創建需求基線,對需求的開發狀況進行跟蹤,要及時了解需求的變化與實現情況,一旦需求變更,需要按配置管理變更流程的執行。
2.軟件項目計劃。軟件項目計劃是軟件項目跟蹤與監控的基礎,項目經理根據需求說明書進行估算,擬定軟件項目計劃,交上交軟件開發計劃給上級部門評審與審批。審批通過后,加入配置管理。
3.軟件項目跟蹤與監控。項目經理使用進度表進行監控,根據項目的實際執行情況,擬定進度報告,并得到項目組相關成員的確認,一旦計劃與實際執行情況有偏差,項目經理要發現差距,并形成問題報告。高層經理審查項目報告,監督項目經理修正計劃和解決已經存在的問題和風險。
4.軟件質量保證。如有專人負責軟件質量保證,可擬定專門的質量保證計劃,根據計劃進行審查,記錄下不一致的問題,將問題記錄到項目問題日志,了解問題的解決情況,并定期向高層經理匯報。
5.軟件配置管理。如有專人負責軟件配置管理,可以擬定專門的配置管理計劃。創建開發域和基線域,開發人員在各自的開發域上工作,軟件配置管理則標識配置項并加入基線域。在各個階段結束時創建基線,對配置項和基線進行審計。質量保證人員定期審計配置管理活動。
6.同行評審。項目經理確定評審的人員、時間與地點,將相關材料發給評審人員,評審人員評審材料,記錄發現的問題,如果時間充足,以會議方式進行交流,否則由項目組成員各自提交發現的問題,最后匯總發現的問題,由項目經理指定相關人員跟蹤解決問題。
五、CMM在中小型軟件企業中實施的策略
對項目組相關成員進行CMM的培訓,對軟件企業當前的工作流程進行分析,整理及文檔化,制定一個適合本企業的軟件過程。合并管理任務,沒有必要重復設置經理職位,可以把相關工作交給有關人員實施,個人可以執行項目或者組織中的多個角色。建立合理的組織結構,成立軟件工程過程組,同時軟件質量保證部門要獨立于研發及測試部門。可以合并的文檔就合并,可以消除的文檔就消除,從而減少生成文檔的負擔,保持文檔的簡單性。適當合并評審實踐,把評審實踐非正式化,充分利用其他會議或者碰頭機會解決評審需求。在軟件開發過程中,將CMM與個體軟件過程PSP和小組軟件過程TSP有機地結合起來,以幫助提高軟件企業的開發管理能力。
總結:
中小型軟件企業的軟件過程能力薄弱,需要以CMM為指導提高軟件開發管理能力,但由于中小型軟件企業相對于大型軟件企業有自身的特點,所以需要我們對CMM進行相應的剪裁和改進,使之適合于中小型軟件企業和軟件開發項目的實際需求。
作者:王嘉星 單位:桂林理工大學信息科學與工程學院