CMMI軟件項目管理與實踐

時間:2022-06-03 10:41:50

導語:CMMI軟件項目管理與實踐一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

CMMI軟件項目管理與實踐

摘要:本文基于筆者多年的軟件工程實踐,結合未來的項目管理發(fā)展趨勢,重點分析了cmmi技術在軟件項目過程管理中的應用,以及應用CMMI模型建立適合企業(yè)業(yè)務模式的軟件生命周期模型和管理機制。為適應復雜多變的軟件設計和研發(fā)過程,在深度應用網(wǎng)絡信息、大數(shù)據(jù)、云計算等新技術的基礎上,構建了軟件開發(fā)和管理的信息化、數(shù)據(jù)化、智能化的系統(tǒng);同時將CMMI理念與管理實踐高度融合,采用靈活應用WBS以及分類管理軟件開發(fā)的原則,快速響應市場和內(nèi)部管理需求,激活企業(yè)高效運轉的動力,持續(xù)提高軟件開發(fā)效率,促進企業(yè)管理能力提升。

關鍵詞:軟件項目管理;項目預測模型;能力成熟度模型集成

隨著我國跨入“互聯(lián)網(wǎng)+”時代,信息軟件在民用航空、智能交通、金融管理、電子政務、工業(yè)制造、人工智能等領域得到廣泛推廣和普及。目前,隨著軟件處理的數(shù)據(jù)量增大,功能組成更加龐大多變,軟件項目的需求分析、系統(tǒng)設計、軟件研發(fā)和測試等工作的復雜度持續(xù)增加,傳統(tǒng)的軟件項目管理模式難以滿足快速發(fā)展的需求,因此人們引入了GJB5000A、CMMI、敏捷開發(fā)等項目管理模式,進一步提升軟件項目管理水平和軟件可靠性。究竟CMMI告訴了組織應該做些什么,但如何做,如何有效實施,卻要靠組織根據(jù)自己的實際情況進行探索和實踐[1]。

1軟件項目管理特點

軟件項目開發(fā)采用特定的開發(fā)方法、工具和語言,將各種知識、技能、手段、技術應用到項目開發(fā)中,以期滿足客戶的要求和期望。軟件項目管理更側重以人為中心,導致軟件開發(fā)質量存在層次性和不穩(wěn)定性。軟件開發(fā)技術應用廣泛、需求變化較快、技術創(chuàng)新迅速,知識密集度高,同時要求組織的崗位職責明確、軟件開發(fā)過程規(guī)范、技術決策正確、管理方法使用合理等制度有效地支撐項目開發(fā)。項目團隊、上級主管、客戶、費用、銷售、支持部門、相關產(chǎn)品等相關的要素相互配合達成“項目按期交付”,所以項目的成功需要優(yōu)秀的項目管理[2]。對此,軟件工程領域專家提出了時間周期管理、文檔質量管理、成熟度管理等方法,以提升軟件項目管理效率。但是受到軟件規(guī)模、約束條件、執(zhí)行力和資源的限制,以軟件過程改進為主線的基礎上建立起規(guī)范化和制度化的軟件項目管理模式顯得尤為必要。

2基于CMMI的軟件研發(fā)項目管理

CMMI合理的內(nèi)核的確有助于提高軟件開發(fā)的效率和軟件產(chǎn)品的質量[3]。CMMI項目管理方法是全面管理軟件項目中的每一個環(huán)節(jié),提供軟件開發(fā)特征和參考模型,重點關注軟件質量、進度、成本,為軟件項目管理提供最佳實踐[4]。它集成了軟件工程和系統(tǒng)工程的項目管理模式,減少了文檔丟失、需求不完整、測試計劃混亂等現(xiàn)象,避免軟件無效返工,保障軟件項目高效率、高可靠的完成。參照CMMI模型的實踐和指導,圍繞各行業(yè)軟件類型特點和項目的執(zhí)行規(guī)范,企業(yè)建立了以研發(fā)管理和關鍵過程監(jiān)控為主的雙重項目管理體制,開展項目量化管理和持續(xù)改進,嚴控軟件開發(fā)過程和工作產(chǎn)品的質量,保障軟件項目研發(fā)按照工程化標準執(zhí)行。應用CMMI技術指導軟件項目進行全生命周期過程管理,改進和提升軟件項目的研發(fā)能力,更深層次地控制項目的研發(fā)周期、開發(fā)成本。CMMI可構建新型的成熟度管理模型,將軟件項目開發(fā)過程產(chǎn)生的所有文檔和資源統(tǒng)一到成熟度架構下,實現(xiàn)對項目計劃管理、需求分析、技術解決、配置管理、評審、系統(tǒng)設計、測試和軟件開發(fā)文檔的一體化管理,減少工作產(chǎn)品的重復性和不一致性,增加項目管理的透明性和指導性,克服軟件開發(fā)管理中的困難[5]。尤其CMMI在軟件項目管理中實施了差距分析、過程分析、量化管理和組織優(yōu)化等舉措,將無章變有序、定性變定量、發(fā)散變集成,提高研發(fā)成本的可控性,提升軟件開發(fā)的內(nèi)部控制力度。軟件項目管理引入CMMI的目標是實現(xiàn)開發(fā)配置的集成化、可控化管理;解決軟件需求分析、架構設計、程序開發(fā)和系統(tǒng)測試存在的薄弱環(huán)節(jié),利用適應的方法降低軟件開發(fā)周期,提高項目管理水平。作為一家軟件企業(yè),新產(chǎn)品的和推廣要求快速且高效,需要配套建設完善的項目管理管理制度和優(yōu)秀的項目研發(fā)機制。當前我們基于已有產(chǎn)品的開發(fā)經(jīng)驗和管理實踐,依托CMMI技術強化管理軟件開發(fā)過程,建立了軟件開發(fā)全生命周期一站式管理的管理框架,并配置相應業(yè)務管控工作流和軟件過程管理規(guī)范加以實施控制,重點促進軟件項目進度、質量、成本三方面得到顯著提升。項目管理主要工作流涉及范圍包括:售前管理、項目監(jiān)控、開發(fā)管理質量管理等四大部分,項目管理工作流運行模式如圖1所示。軟件項目管理的初衷是運用CMMI、PMBOX等先進的項目管理與軟件研發(fā)過程控制理念,通過信息化技術,秉持快速集成、持續(xù)改進的原則,構建高效、協(xié)同、精益、安全的軟件研發(fā)管理信息化平臺;實際運轉的是結合軟件開發(fā)的管理實踐,建立以軟件開發(fā)生命周期為核心,以項目管理過程、軟件工程過程為主線,以組織資產(chǎn)庫為支撐,以支持工具為輔助的整體軟件項目管理運行架構。通過持續(xù)建設組織資產(chǎn)庫并提供軟件開發(fā)和過程管理工具、項目規(guī)范、模板、經(jīng)驗教訓、知識、歷史數(shù)據(jù)等支持,經(jīng)過公司自用的軟件研發(fā)管理平臺進行人機交互和項目管理,有效地保證軟件過程管理的質量和工作效率。

3軟件開發(fā)改進與實踐

公司業(yè)務涉及航空管理、智能交通、軟件信息與服務、大數(shù)據(jù)等領域及相關行業(yè),主要項目管理實踐概括為以下幾類:

3.1大型系統(tǒng)類軟件

大型系統(tǒng)類軟件,如航空管制、自動化系統(tǒng)、高級場面引導、ADS-B等類型軟件。這類軟件系統(tǒng)的研發(fā)周期較長,系統(tǒng)安全屬性要求高,研究領域的專業(yè)性較強,開發(fā)難度較大,研究開發(fā)人員綜合素質要求偏高。在市場前景和用戶要求的驅動下,傳統(tǒng)的軟件管理模式已不能較好滿足開發(fā)和發(fā)展需要;為此,在軟件項目管理信息化運行模式基礎上,根據(jù)專業(yè)劃分區(qū)別管控開發(fā)過程和質量,采用CMMI的軟件工程管理模式,集中在軟件開發(fā)、系統(tǒng)測試、聯(lián)調(diào)等關鍵過程進行管理和改進,按系統(tǒng)屬性和研究專業(yè)領域區(qū)分管控研發(fā)質量,實行開發(fā)和測試迭代推進,通過項目組和公司兩級高強度系統(tǒng)測試,軟件系統(tǒng)準入可靠性試運行驗證階段。開發(fā)過程重點在系統(tǒng)時序控制、進程排序、模型預測與決策、算法與優(yōu)化、通信、協(xié)同運行機制、異常處置和存儲等專業(yè)領域進行管控和優(yōu)化平行開展安全和性能測試,既能滿足用戶方嚴格的使用要求,又能提高開發(fā)效率和質量。

3.2人機交互型軟件

人機交互型軟件,如電子政務、智能交通、安監(jiān)管理等類型軟件這類軟件主要特點是通過端點用戶和服務端完成信息傳遞和數(shù)據(jù)處理,并輸出相應的數(shù)據(jù)、通信信號、圖像、視頻等內(nèi)容,必要時需要用戶進行手工操作。此類型項目有著需求變化多端,用戶參與程度高低不一,計劃變更頻次高,資源調(diào)配頻繁,人力成本投入高等特點,從而對項目交付提出了更高的要求;經(jīng)過大量的研制總結,深入研究了CMMI模型中開發(fā)管理的相關實踐,結合敏捷開發(fā)特點以及推廣應用了試點項目的成功經(jīng)驗,對于人工交互型軟件采取原型開發(fā)和迭代開發(fā)兩種相結合的管理模式,按客戶需求深度定制和研發(fā)項目;關鍵過程控制集中在需求分析和開發(fā)進度方面,通過條目化軟件需求,按計劃統(tǒng)籌分配開發(fā)任務,配置自動化測試工具,并輔以完善的持續(xù)集成管理方式,確保軟件運行的高效和友好。

3.3數(shù)據(jù)處理型軟件

數(shù)據(jù)處理型軟件,如智慧城市、工商管理、信用平臺等大數(shù)據(jù)處理軟件,此類軟件涉及數(shù)據(jù)分析、數(shù)據(jù)計算、數(shù)據(jù)融合、數(shù)據(jù)交換、數(shù)據(jù)存儲等,對數(shù)據(jù)處理的質量和安全要求較高;在人機交互型軟件項目管理模式下,此類軟件仍存在開發(fā)過程不穩(wěn)定,缺陷爆發(fā)量較高、返工量較大等問題,開發(fā)質量和進度不能達到預期的效果。按照解決關鍵問題和逐步擴展改進的原則,在CMMIDev1.3模型的高成熟度理論指導下,建立了項目定量管理的模式,經(jīng)過大量的項目關鍵過程改進和部署應用,設置了軟件過程性能基線和量化改進的運行機制,制定了一套度量和分析方法,通過識別重要影響程度的關鍵過程和子過程,開展有目的度量數(shù)據(jù)的采集,運用統(tǒng)計技術對歷史數(shù)據(jù)進行分析和驗證,建立適宜合理的項目預測模型,實施對目標實現(xiàn)可能性的預測和管理。同時在嚴格控制各階段開發(fā)版本和評審力度的基礎上,集中力量改進數(shù)據(jù)算法、數(shù)據(jù)分發(fā)、數(shù)據(jù)處理、數(shù)據(jù)存儲等關鍵過程的研發(fā)質量,通過精細化地管理軟件開發(fā)過程,可視化地動態(tài)管理項目的開發(fā)計劃和進度,達到了降低研發(fā)成本和提高軟件質量的效果,也為后期持續(xù)改進積累了歷史數(shù)據(jù)和實踐經(jīng)驗。數(shù)據(jù)處理型軟件項目量化改進流程如圖2所示。

4結論

從各種實踐中,科學合理的應用CMMI模型指導軟件開發(fā),尤其在軟件研制、系統(tǒng)集成、系統(tǒng)聯(lián)調(diào)、測試等方面需要不斷地思考新的管理路徑,嘗試新的技術,并且吸取歷史項目的開發(fā)經(jīng)驗進行改革,最終實現(xiàn)降本增效的目的。

5結束語

綜上所述,以公司的軟件項目開發(fā)管理為基本研究對象,立足于軟件開發(fā)和項目管理存在的實際問題,結合CMMI模型實踐和指導,整合管理資源和技術力量,以商業(yè)目標為驅動力,發(fā)揮過程改進全員參與的優(yōu)勢;重點解決關鍵過程存在的問題,減少軟件開發(fā)返工,縮短軟件研發(fā)周期,持續(xù)優(yōu)化軟件開發(fā)過程,改進技術和管理弱項。打造高效運轉的項目管理流程和過程改進機制,并為用戶提供高質量的產(chǎn)品和服務。

參考文獻

[1]莊曉,張義珍,歐鵬,苗恒軒,夏遠.基于CMMI框架下持續(xù)改進的軟件過程體系[J].計算機應用與軟件,2013,30(01):186-189.

[2]羅云模,謝志敏等.CMMI軟件過程改進與評估[M].北京:電子工業(yè)出版社,2004.

[3]霍艷霞.CMMI5級管理實踐之軟件測試與質量控制[J].中國電子商情(基礎電子),2014(04):44-46+48.

[4]林銳.CMMI和集成化軟件研發(fā)管理[M].電子工業(yè)出版社,2008.

[5]張旭,劉浩馳.基于CMMI的量化管理在項目中的應用與研究[J].電腦與電信,2016(4):62-65.

作者:張強 袁文斌 單位:南京萊斯信息技術股份有限公司