趙俊 石春
摘要:軟件工程是軟件產(chǎn)品開(kāi)發(fā)進(jìn)程中的工程化方法,而項(xiàng)目管理是針對(duì)一個(gè)項(xiàng)目的管理方法。不論是軟件工程還是項(xiàng)目管理在軟件開(kāi)發(fā)進(jìn)程中都占據(jù)著重要的位置,項(xiàng)目管理與軟件工程的有效結(jié)合,能夠進(jìn)一步促進(jìn)企業(yè)軟件開(kāi)發(fā)的效率,促使企業(yè)效益最大化。因此,本文基于項(xiàng)目管理與軟件工程的含義與二者之間的關(guān)系,探究軟件開(kāi)發(fā)進(jìn)程中項(xiàng)目管理與軟件工程的結(jié)合及應(yīng)用。
關(guān)鍵詞:軟件開(kāi)發(fā);項(xiàng)目管理;軟件工程
中圖分類號(hào):TP399 文獻(xiàn)標(biāo)識(shí)碼:A
隨著電腦、移動(dòng)終端等設(shè)備的普及,軟件成為必不可少的一部分,改變著人們的日常生活與工作。然而近年來(lái),軟件規(guī)模不斷擴(kuò)大,其復(fù)雜程度也隨之加深,這對(duì)企業(yè)軟件開(kāi)發(fā)進(jìn)程中的效率、質(zhì)量以及成本控制提出了新的要求,在此背景下傳統(tǒng)的僅遵循軟件工程規(guī)律缺乏項(xiàng)目管理的軟件開(kāi)發(fā)模式逐漸不再適用于新時(shí)代需求。20世紀(jì)70年代中期,美國(guó)在調(diào)查軟件開(kāi)發(fā)進(jìn)程中出現(xiàn)不能按時(shí)交付、成本過(guò)高以及質(zhì)量低下等問(wèn)題時(shí)發(fā)現(xiàn),絕大部分的問(wèn)題都是由于管理不善所導(dǎo)致,由此,軟件開(kāi)發(fā)者意識(shí)到軟件開(kāi)發(fā)進(jìn)程不僅僅是軟件工程還是項(xiàng)目管理的一個(gè)過(guò)程。企業(yè)應(yīng)當(dāng)以通用的項(xiàng)目管理知識(shí)體系為基礎(chǔ),結(jié)合軟件工程自身的科學(xué)規(guī)律,采用適合軟件產(chǎn)品自身特點(diǎn)的管理方法,從而把控好軟件開(kāi)發(fā)進(jìn)程中的方方面面,促使效益最大化。
1軟件工程與項(xiàng)目管理
1.1軟件工程
軟件工程目前并沒(méi)有一個(gè)明確的定義,但說(shuō)起軟件工程就會(huì)說(shuō)到20世紀(jì)60年代的軟件危機(jī)。20世紀(jì)60年代以前,計(jì)算機(jī)剛剛投入實(shí)際應(yīng)用中,軟件也并非現(xiàn)代社會(huì)中具有豐富界面與功能的軟件,而是功能單一的小規(guī)模軟件。60年代中期,計(jì)算機(jī)技術(shù)的進(jìn)步使得軟件規(guī)模越來(lái)越大、復(fù)雜程度越來(lái)越高,由此導(dǎo)致軟件生產(chǎn)率與質(zhì)量大幅下降,軟件危機(jī)開(kāi)始爆發(fā)。1968年,北大西洋公約組織的計(jì)算機(jī)科學(xué)家在聯(lián)邦德國(guó)召開(kāi)國(guó)際會(huì)議,就軟件危機(jī)的問(wèn)題展開(kāi)討論,并首次提出“軟件工程”這一概念,軟件工程學(xué)也由此誕生。目前,軟件工程仍舊缺乏一個(gè)統(tǒng)一的定義,學(xué)者們對(duì)此眾說(shuō)紛紜。BarryBoehm在發(fā)表的文章中指出軟件工程是借助于現(xiàn)代科學(xué)技術(shù)知識(shí)去對(duì)計(jì)算機(jī)程序進(jìn)行設(shè)計(jì)與構(gòu)造的必要的資料;電子與電子工程協(xié)會(huì)則將軟件工程定義為是一種能夠應(yīng)用于軟件開(kāi)發(fā)、運(yùn)維進(jìn)程中的系統(tǒng)化的嚴(yán)格約束的可量化的方法;《計(jì)算機(jī)科學(xué)技術(shù)百科全書(shū)》則認(rèn)為軟件工程是借鑒了傳統(tǒng)工程原則與方法,集數(shù)學(xué)、計(jì)算機(jī)科學(xué)等原理用于開(kāi)發(fā)軟件的工程;IS09000將軟件工程定義為是輸入轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動(dòng)。綜上所述,軟件工程實(shí)際上是結(jié)合數(shù)學(xué)、工程等學(xué)科用以軟件開(kāi)發(fā)的規(guī)范化、可量化的一種過(guò)程化方法。
1.2項(xiàng)目管理
在早期軟件開(kāi)發(fā)進(jìn)程中,根據(jù)調(diào)查,發(fā)現(xiàn)軟件研發(fā)的情況中僅有百分之十的開(kāi)發(fā)項(xiàng)目能夠在原本約定的時(shí)間與成本下完成,由此軟件開(kāi)發(fā)者開(kāi)始重視項(xiàng)目管理的作用。項(xiàng)目管理通常由項(xiàng)目范圍管理、項(xiàng)目時(shí)間管理、項(xiàng)目成本管理、項(xiàng)目質(zhì)量管理、項(xiàng)目團(tuán)隊(duì)管理、項(xiàng)目風(fēng)險(xiǎn)管理等方面所構(gòu)成,項(xiàng)目管理在實(shí)際的應(yīng)用中是一個(gè)循環(huán)的過(guò)程,開(kāi)始——計(jì)劃——執(zhí)行——控制——結(jié)束,這一系列的過(guò)程一步步促進(jìn)項(xiàng)目的實(shí)現(xiàn)。
軟件項(xiàng)目管理也是項(xiàng)目管理的一種,在軟件開(kāi)發(fā)進(jìn)程中為實(shí)現(xiàn)軟件項(xiàng)目在整個(gè)軟件生命周期中能夠按照預(yù)定的時(shí)間、成本以及質(zhì)量中完成開(kāi)發(fā)從而對(duì)軟件項(xiàng)目中的軟件需求分析、軟件產(chǎn)品設(shè)計(jì)、軟件產(chǎn)品維護(hù)等方面進(jìn)行把控與管理的工程活動(dòng)。
1.3軟件工程與項(xiàng)目管理之間的關(guān)系
軟件工程與項(xiàng)目管理之間息息相關(guān)且相輔相成,軟件工程關(guān)注軟件的生命周期,為軟件生命周期中的各個(gè)階段提供工程化方法。項(xiàng)目管理則關(guān)注項(xiàng)目生命周期,針對(duì)項(xiàng)目生命周期中各個(gè)階段進(jìn)行管理。軟件工程側(cè)重于軟件,而項(xiàng)目管理側(cè)重于項(xiàng)目過(guò)程。二者之間的關(guān)系主要為:
1)軟件本身具有一定的科學(xué)規(guī)律,在上述關(guān)于軟件工程的定義中BarryBoehm等人對(duì)于軟件工程總結(jié)了許多具有規(guī)律性的內(nèi)容,并且將其整合成一系列的工程化方法。軟件項(xiàng)目管理究其根本是依托于軟件工程,離開(kāi)了軟件工程那么軟件項(xiàng)目管理也就失去了基本意義,項(xiàng)目管理的本質(zhì)是為了能夠提交符合要求的軟件產(chǎn)品,而軟件產(chǎn)品的開(kāi)發(fā)亦離不開(kāi)軟件工程。因此,要做好軟件項(xiàng)目的管理就必須能夠?qū)浖こ逃袀€(gè)深刻的認(rèn)知與理解。
2)不論是軟件工程還是項(xiàng)目管理,都涉及一些重疊的部分。在軟件工程中包含著一些管理方面的問(wèn)題,而在項(xiàng)目管理中亦包含著軟件工程的工程方法。二者之間,內(nèi)容有重疊卻又不完全相同,存在相互補(bǔ)充相互依賴的關(guān)系。例如在項(xiàng)目管理知識(shí)體系中強(qiáng)調(diào)人力資源管理的有關(guān)管理方法,而在軟件工程中則強(qiáng)調(diào)系統(tǒng)分析人員、編程人員、測(cè)試人員等不同角色在不同階段的責(zé)任。在軟件項(xiàng)目管理中,應(yīng)充分注意這兩者的有機(jī)結(jié)合。
2軟件開(kāi)發(fā)現(xiàn)狀
由于我國(guó)軟件開(kāi)發(fā)技術(shù)起步較晚,導(dǎo)致我國(guó)軟件開(kāi)發(fā)中軟件工程技術(shù)以及項(xiàng)目管理的應(yīng)用存在許多弊端。
2.1缺乏合適的軟件開(kāi)發(fā)管理模式
目前來(lái)說(shuō),企業(yè)大部分都能夠樹(shù)立工程理念,采用現(xiàn)代軟件工程方法,即分析—設(shè)計(jì)——編碼——測(cè)試——維護(hù)這五個(gè)方面,然而對(duì)于每個(gè)企業(yè)來(lái)說(shuō),業(yè)務(wù)與制度各不相同。然而很多企業(yè)都沒(méi)有一個(gè)根據(jù)企業(yè)特點(diǎn)制定的軟件開(kāi)發(fā)管理模式,在不合理的軟件開(kāi)發(fā)管理模式下進(jìn)行軟件開(kāi)發(fā)會(huì)導(dǎo)致效率與質(zhì)量的下降。
2.2軟件開(kāi)發(fā)缺少規(guī)范性
目前,我國(guó)大部分的軟件公司的規(guī)模較小,在技術(shù)上和管理存在很多不足,相對(duì)來(lái)說(shuō)更加重視軟件工程技術(shù),而忽視項(xiàng)目管理對(duì)軟件開(kāi)發(fā)的作用,缺乏對(duì)軟件開(kāi)發(fā)項(xiàng)目的統(tǒng)籌協(xié)調(diào),沒(méi)有一個(gè)規(guī)范性的制度體系,導(dǎo)致人員疲軟,無(wú)法發(fā)揮最大效益。雖然,有一部分的企業(yè)正對(duì)該問(wèn)題采取了一些措施,建立關(guān)于軟件工程技術(shù)以及項(xiàng)目管理的規(guī)范,但是由于檢查監(jiān)督不力,導(dǎo)致可執(zhí)行力不強(qiáng),對(duì)軟件開(kāi)發(fā)進(jìn)程中的項(xiàng)目周期依舊存在無(wú)法把控的問(wèn)題。
2.2.3缺乏軟件工程與項(xiàng)目管理的結(jié)合
當(dāng)下,越來(lái)越多的企業(yè)逐漸重視起項(xiàng)目管理工作的重要性,認(rèn)為在軟件開(kāi)發(fā)過(guò)程中項(xiàng)目經(jīng)理的位置最為關(guān)鍵,接下來(lái)才是程序員、網(wǎng)站開(kāi)發(fā)人員、設(shè)計(jì)師等職位。然而,片面的注重項(xiàng)目管理會(huì)導(dǎo)致背離軟件工程方法的基本規(guī)律,使得軟件開(kāi)發(fā)進(jìn)度滯后、質(zhì)量脫節(jié)等問(wèn)題出現(xiàn)。
3軟件工程與項(xiàng)目管理相結(jié)合的對(duì)策
3.1建立完善的軟件工程與項(xiàng)目管理體制
完善的軟件工程與項(xiàng)目管理體制能夠促使企業(yè)規(guī)范化管理,為軟件開(kāi)發(fā)提供一個(gè)大致的流程與框架,提高開(kāi)發(fā)效率與質(zhì)量。軟件開(kāi)發(fā)所涉及的內(nèi)容繁雜,建立完善的軟件工程與項(xiàng)目管理體制是一項(xiàng)道阻且長(zhǎng)的任務(wù)。筆者認(rèn)為首先,企業(yè)應(yīng)當(dāng)完善員工培訓(xùn)機(jī)制,樹(shù)立以人為核心的觀念,加強(qiáng)關(guān)于軟件工程技術(shù)的培訓(xùn);加強(qiáng)軟件項(xiàng)目管理方法的培訓(xùn);加強(qiáng)溝通技巧與能力的培訓(xùn)。并且,能夠?qū)⒗碚撚糜趯?shí)踐,培養(yǎng)軟件開(kāi)發(fā)人員的實(shí)際操作能力,構(gòu)建理論、實(shí)踐、經(jīng)驗(yàn)三方位一體的培訓(xùn)機(jī)制,致力于能夠?yàn)檐浖こ添?xiàng)目配備專業(yè)的開(kāi)發(fā)與管理人員,從而達(dá)到促進(jìn)工作效率的目的。另外,企業(yè)需要進(jìn)一步完善獎(jiǎng)懲機(jī)制??茖W(xué)有效的獎(jiǎng)懲措施能夠?yàn)檐浖_(kāi)發(fā)人員提供晉升空間,最大限度上激發(fā)開(kāi)發(fā)人員的工作熱情與積極性,使其更好地遵循軟件工程規(guī)律與項(xiàng)目管理的要求。
3.2加強(qiáng)對(duì)軟件生命周期的細(xì)化管理
傳統(tǒng)的基于軟件工程規(guī)律的項(xiàng)目管理屬于粗放式的項(xiàng)目管理,并沒(méi)有對(duì)每個(gè)階段的管理進(jìn)行細(xì)分,因此仍舊會(huì)出現(xiàn)軟件項(xiàng)目無(wú)法按照預(yù)計(jì)的時(shí)間、質(zhì)量交付的情況出現(xiàn)。因此,針對(duì)這一問(wèn)題,企業(yè)應(yīng)當(dāng)對(duì)項(xiàng)目管理進(jìn)行細(xì)分,采用精細(xì)化的管理方式。具體來(lái)說(shuō)應(yīng)當(dāng)加強(qiáng)管理者對(duì)軟件生命周期的每個(gè)環(huán)節(jié)的認(rèn)知,然后將任務(wù)具體化到每個(gè)開(kāi)發(fā)人員,再設(shè)置相應(yīng)的管理人員對(duì)任務(wù)的進(jìn)度流程進(jìn)行監(jiān)督并構(gòu)建評(píng)估報(bào)告,實(shí)現(xiàn)精細(xì)化的監(jiān)督管理,全面把控軟件開(kāi)發(fā)進(jìn)程。另外,管理人員之間也應(yīng)當(dāng)通過(guò)例會(huì)進(jìn)行溝通交流,一旦發(fā)現(xiàn)某個(gè)環(huán)節(jié)出現(xiàn)錯(cuò)誤能夠及時(shí)的進(jìn)行補(bǔ)救,確保整個(gè)軟件項(xiàng)目能夠按照利益相關(guān)者的需求與預(yù)期逐步開(kāi)發(fā)。
3.3項(xiàng)目管理結(jié)合軟件工程自身科學(xué)規(guī)律
B.W.Boehm一位著名的軟件工程師曾在80年代初總結(jié)出用分階段的生命周期計(jì)劃嚴(yán)格管理、嚴(yán)格的產(chǎn)品控制、階段評(píng)審、開(kāi)發(fā)團(tuán)隊(duì)少而精等相關(guān)規(guī)律。同樣,我們?cè)谶M(jìn)行軟件開(kāi)發(fā)項(xiàng)目管理的同時(shí)也用當(dāng)遵循軟件工程自身的科學(xué)規(guī)律或原則。從軟件工程的角度講,軟件開(kāi)發(fā)主要分為六個(gè)階段:需求分析階段、概要設(shè)計(jì)階段、詳細(xì)設(shè)計(jì)階段、編碼階段、測(cè)試階段、安裝及維護(hù)階段。因此,企業(yè)應(yīng)當(dāng)以通用的項(xiàng)目管理知識(shí)體系為基礎(chǔ),結(jié)合軟件工程自身的科學(xué)規(guī)律,采用適用于該階段特點(diǎn)的管理方式方法,做好項(xiàng)目階段評(píng)估與風(fēng)險(xiǎn)規(guī)避。
4結(jié)束語(yǔ)
總而言之,在軟件產(chǎn)業(yè)蓬勃發(fā)展且競(jìng)爭(zhēng)激烈的當(dāng)下,互聯(lián)網(wǎng)企業(yè)與機(jī)構(gòu)都應(yīng)當(dāng)把握住時(shí)代的步伐,推陳出新,進(jìn)一步加強(qiáng)對(duì)軟件工程的重視與管理,在正確認(rèn)知軟件項(xiàng)目管理的基礎(chǔ)上結(jié)合軟件工程自身的規(guī)律與原則做好軟件開(kāi)發(fā)項(xiàng)目管理工作,一方面,加強(qiáng)對(duì)開(kāi)發(fā)人員關(guān)于軟件工程與項(xiàng)目管理的培訓(xùn),另一方面,有效監(jiān)督軟件開(kāi)發(fā)進(jìn)程,從而推進(jìn)開(kāi)發(fā)效率效益的逐步提升。