彭慧
(湖南財政經(jīng)濟學院,湖南 長沙 410205)
基于項目管理的軟件開發(fā)過程及應用探討
彭慧
(湖南財政經(jīng)濟學院,湖南長沙410205)
軟件開發(fā)屬于技術密集型產(chǎn)業(yè),具有較大產(chǎn)值,尤其近年來,我國軟件開發(fā)行業(yè)發(fā)展迅速,開發(fā)出的軟件產(chǎn)品為社會各個領域的發(fā)展做出突出貢獻,顯著提高了相關企業(yè)的運營、生產(chǎn)效率,進一步帶動了社會經(jīng)濟的發(fā)展,軟件開發(fā)因此成為促進國家經(jīng)濟發(fā)展的重要產(chǎn)業(yè).實際軟件開發(fā)過程中基于項目管理的軟件開發(fā)應用率較高,因此,對其進行深入探討具有積極的意義.本文對基于項目管理的軟件開發(fā)過程進行探討,分析其在軟件開發(fā)過程中的具體應用,以供參考.
項目管理;軟件開發(fā);開發(fā)過程;應用
所謂項目管理指在一定的組織環(huán)境下,為提高管理效率,更好的實現(xiàn)管理目標,而制定一系列的管理方法及原則.軟件開發(fā)是一項專業(yè)性強、要求高的工作,因此,軟件開發(fā)在項目管理下實施,有助于協(xié)調(diào)各部門資源,提高軟件開發(fā)效率,縮短軟件開發(fā)周期,為軟件產(chǎn)品的盡早盈利奠定堅實的基礎.基于項目管理的軟件開發(fā)工作被當今很多軟件開發(fā)企業(yè)應用,引起諸多業(yè)內(nèi)人士對基于項目管理的軟件開發(fā)過程應用的探討.
基于項目管理的軟件開發(fā)涉及較多內(nèi)容,需在綜合分析人員配備、軟件開發(fā)經(jīng)費、進度等內(nèi)容的基礎上,加以詳細的規(guī)劃與說明,為軟件開發(fā)工作的順利進行提供指導.其中以下內(nèi)容應重點考慮:明確軟件開發(fā)范圍.基于項目管理的軟件開發(fā)不僅需要考慮軟件的系統(tǒng)接口、軟件約束條件以及性能描述,而且清晰軟件功能及實現(xiàn)的目標;合理安排資源及進度.軟件開發(fā)中的資源包括軟件、硬件以及人力資源,注重對這些資源的合理分配.同時,還需對軟件開發(fā)項目的進度加以科學安排.另外,為降低軟件開發(fā)各項開支,還需估算軟件項目開發(fā)成本.由此不難發(fā)現(xiàn),項目管理在確保軟件開發(fā)工作順利實施發(fā)揮關鍵作用.
軟件開發(fā)過程涉及更多具體的細節(jié)問題,因此,需要解決的問題非常之多.一方面,軟件開發(fā)部分環(huán)節(jié)需求較模糊,開發(fā)過程中需進一步溝通明確.另一方面,軟件通常由較多模塊構成,而不同的模塊負責開發(fā)的人員并不相同,開發(fā)人員之間需相互協(xié)作,中間往往需要解決繁瑣的小問題.因此,如何在軟件開發(fā)過程中實施項目管理,提高期間各種資源利用率,確保軟件開發(fā)工作目標的順利實現(xiàn),是軟件開發(fā)企業(yè)應著重考慮的重要問題.
眾所周知,軟件開發(fā)是一個系統(tǒng)工作,需要多部分、多工作人員之間的配合,其中任何一個環(huán)節(jié)出現(xiàn)問題,可能會影響軟件開發(fā)進度,降低軟件開發(fā)效率.因此,為便于在軟件開發(fā)過程中實施項目管理,有必要將簡單工作簡單化,將軟件開發(fā)工作劃分不同的層次,在不同層次實施針對化管理策略.為此,可根據(jù)軟件開發(fā)工作實際,將軟件開發(fā)過程劃分為物件流層、過程流層以及組織結構層.其中物件流層負責軟件開發(fā)過程中產(chǎn)生的中間產(chǎn)品;過程流層負責管理各個子過程;組織結構層主要負責對開發(fā)人員進行管理.而軟件開發(fā)過程實施項目管理時,主要通過橫向、縱向兩個維度實現(xiàn).其中橫向上,物件流層積累相關開發(fā)技術,并將其以文檔及模塊的形式存儲在資源庫中;過程流層構建科學的過程流程,以更好的實現(xiàn)對開發(fā)工作的控制,確保開發(fā)流程的通暢;組織結構層依據(jù)軟件開發(fā)需求,結合開發(fā)人員實際,加以合理分工,以更好的提高開發(fā)團隊工作效率.縱向上,從軟件開發(fā)需求出發(fā),將整個開發(fā)工作合理化細分,具體到開發(fā)子過程,配備具體開發(fā)人員.以此為基礎,實現(xiàn)對開發(fā)子過程的管理.
2.1建立科學的組織結構
良好的軟件開發(fā)團隊是確保軟件開發(fā)工作得以實施的人力保障,因此,基于項目管理的軟件開發(fā)過程的實現(xiàn),需科學的組織結構支撐.為此,應根據(jù)軟件開發(fā)實際建立科學的組織結構,重點處理好組織結構及組織職能兩項工作,尤其在職能分工方面,一般涉及項目經(jīng)理、需求組、分析組、開發(fā)組、測試組以及配置支持組,其中項目經(jīng)理在軟件開發(fā)工作中起監(jiān)督作用,并調(diào)度相關資源,協(xié)調(diào)及處理相關突發(fā)狀況.需求組的職能在于和客戶加以良好的溝通,明確客戶對軟件的各項需求.分析組在充分考慮需求組反饋信息的基礎上,對軟件的功能進行設計,構建軟件基本框架,并設計合理的測試模型.開發(fā)組主要職責在于代碼的編寫,實現(xiàn)軟件各項功能.測試組的主要對軟件的相關功能進行測試,及時查找軟件開發(fā)中的漏洞,提高軟件工作穩(wěn)定性.配置組負責從工具、環(huán)境、開發(fā)過程等方面給軟件開發(fā)團隊提供相關支持.
2.2明確具體過程流模型
軟件開發(fā)過程中明確過程流模型,可提高對軟件開發(fā)的可控性,確保軟件并行開發(fā)工作的流暢性.當前,軟件開發(fā)多應用面向?qū)ο笏枷耄欢ǔ潭壬辖档土塑浖_發(fā)工作難度,但基于項目管理的軟件開發(fā)對過程流模型仍應引起足夠的重視.
首先,在初步了解客戶需求的基礎上,對軟件框架、界面以及相關功能進行初步設計.其次,完成初步設計后,與客戶進行再次溝通,修正設計與需求之間的差異,確保軟件開發(fā)完成按照客戶意愿實施.再次,注重軟件個模塊的具體設計,設計不同模塊之間的接口,而后進行編碼實現(xiàn).最后,對軟件不同模塊功能進行測試,集成后進行整體的測試.
實踐表明,基于項目管理的軟件開發(fā)過程中,明確過程流模型,不僅能跟蹤軟件各個模塊的開發(fā)進度,協(xié)調(diào)各模塊開發(fā)工作,使其為完成整個軟件開發(fā)工作奠定基礎,而且能降低因受不良因素影響而出現(xiàn)的風險.因此,在實際的軟件開發(fā)正式實施前,應明確相關的過程流模型,用于指導軟件開發(fā)過程的實施.
2.3注重配置管理
為提高基于項目管理的軟件開發(fā)過程進度控制的及時性,應注重配置管理物件流層不同子過程產(chǎn)生的物件.配置管理一般涉及小組協(xié)作、過程管理、狀態(tài)統(tǒng)計等內(nèi)容,實現(xiàn)對軟件開發(fā)中中間產(chǎn)品的控制、評審及認證.同時,借助配置管理還可將智力資源轉(zhuǎn)換成物件,更好的加以保存.考慮到基于項目管理的軟件開發(fā)過程經(jīng)常涉及物件的開發(fā),因此,應對軟件開發(fā)不同層實施配置管理.
基于項目管理的軟件開發(fā)過程,實施配置管理時可使用專門的工具構建專門的產(chǎn)品庫、受控庫以及開發(fā)庫,實現(xiàn)對不同開發(fā)階段的配置項.其中開發(fā)庫存放不同團隊編寫的軟件程序,以及軟件開發(fā)使用的數(shù)據(jù)、文檔等.受控庫中的軟件多是通過評審后,需要嚴格管理的軟件配置項.產(chǎn)品庫主要存放經(jīng)多次調(diào)試、測試成功后的軟件,為軟件的批量生產(chǎn)做準備.通常情況下,存放與產(chǎn)品庫中的軟件不允許私自更改.另外,在實際的軟件開發(fā)過程中,配置管理還應注重編碼設計及變更管理.即,當需要對軟件設計或編碼進行變更時,相關人員應依據(jù)相關規(guī)范填寫變更申請書,經(jīng)領導批準、測試組進行回歸測試后再進行變更.同時,一旦決定變更應及時通知其他協(xié)作部門,確保變更后的軟件開發(fā)工作順利實施.
配置管理在軟件開發(fā)項目管理中發(fā)揮的作用不言而喻,在具體的實施過程中可根據(jù)軟件開發(fā)及企業(yè)實力,購買專門的配置管理工具,以提高配置管理工作效率,使軟件開發(fā)工作如期進行.如可使用StarTeam工具,實現(xiàn)軟件開發(fā)中的配置管理工作.
2.4注重風險管理
風險管理是項目管理的重要組成部分,因此,基于項目管理的軟件開發(fā)理所當然的應注重軟件開發(fā)過程中的風險管理.風險管理主要包括風險識別、風險評估以及風險控制三個重要階段.軟件開發(fā)實踐表明,風險存在與軟件開發(fā)的各個環(huán)節(jié),如在軟件開發(fā)之初,技術人員、管理人員對新項目不熟悉,分析不到位,往往給軟件開發(fā)工作帶來不可估量的影響.軟件開發(fā)過程中不同部門溝通不暢、人員技術水平差距較大等,影響軟件開發(fā)工作進度.因此,軟件開發(fā)過程中,在以往經(jīng)驗的基礎上提高軟件開發(fā)過程中風險識別水平,認真分析不同階段可能出現(xiàn)的風險.同時,將可能出現(xiàn)的風險詳細列出,評估其對軟件開發(fā)造成的嚴重程度,分析出主要風險、次要風險,實現(xiàn)對風險的優(yōu)先級進行排序.而后根據(jù)制定有效的風險控制方法.當前,風險控制方法有風險避免、風險緩解、風險轉(zhuǎn)移,軟件開發(fā)過程中在分析風險規(guī)律及特點的前提下,采取針對性解決方法,將軟件開發(fā)工作中的風險降到最低.
2.5加強開發(fā)人員管理
軟件開發(fā)過程中實施項目管理時還應注重加強開發(fā)人員的管理,以更好的完成軟件開發(fā)目標.眾所周知,軟件開發(fā)人員是軟件開發(fā)工作的主要實施者,其綜合素質(zhì)高低直接影響軟件開發(fā)效率及質(zhì)量.為此,軟件開發(fā)過程中應積極尋找有效對策,加強開發(fā)人員管理.一方面,軟件開發(fā)工作開始之初,各部門召開開發(fā)人員座談會,講解軟件開發(fā)工作中的重點及細節(jié),明確軟件開發(fā)過程中的注意事項,以提高各部門開發(fā)人員認識.另一方面,制定編碼規(guī)則.軟件開發(fā)過程中統(tǒng)一編碼規(guī)則,不僅能提高編碼效率,而且有助于軟件不同模塊間的融合,及后期的測試、調(diào)試工作的開展.因此,軟件開發(fā)之初,應編制詳細的編碼規(guī)則,要求各部門開發(fā)人員認真遵守.另外,開發(fā)過程中如開發(fā)人員對某個功能有疑問,要求其及時向主管領導反映,確保其能正確理解開發(fā)需求,完滿完成軟件開發(fā)工作.
我國軟件開發(fā)行業(yè)雖起步較晚,但發(fā)展勢頭強勁.尤其近年來市場出現(xiàn)了很多知名的軟件開發(fā)企業(yè)以及數(shù)不勝數(shù)的優(yōu)質(zhì)軟件產(chǎn)品,推動了我國軟件水平、信息化水平,軟件開發(fā)因此成為促進我國社會進步與經(jīng)濟發(fā)展的重要力量.軟件開發(fā)行業(yè)能否穩(wěn)步發(fā)展,受軟件開發(fā)過程中管理水平的影響.研究表明,項目管理有助于管理目標的實現(xiàn),確保各項工作的穩(wěn)步實施,因此,軟件開發(fā)過程中應注重項目管理的應用,減少軟件開發(fā)過程中不良情況的發(fā)生,提高軟件開發(fā)性能,進一步提高企業(yè)軟件開發(fā)水平,使其為推動我國軟件產(chǎn)業(yè)的蓬勃發(fā)展做出應有貢獻.
〔1〕朱思華.基于項目管理的軟件開發(fā)過程及應用[J].中國新通信,2015(23):83.
〔2〕李德忠.基于項目管理的軟件開發(fā)過程中要注意的幾個問題[J].黑龍江科技信息,2010(10):76.
〔3〕吳曉斌.項目管理在電子商務平臺整合軟件開發(fā)中的應用研究[D].廈門大學,2013.
〔4〕朱思華.基于項目管理的軟件開發(fā)過程及應用[J].中國新通信,2015(23):83.
〔5〕付凱.基于風險控制的軟件項目管理系統(tǒng)的原型開發(fā)[D].華中科技大學,2011.
TP311.52
A
1673-260X(2016)09-0028-02
2016-05-22
“省重點學科建設項目資助”信息:“計算機應用技術”湖南省“十二五”重點建設學科資助