李偉
摘 要:隨著計(jì)算機(jī)軟件技術(shù)的發(fā)展,軟件工程項(xiàng)目的規(guī)模、難度、類型都在快速的發(fā)展之中。在這一過程中也暴露出目前軟件工程項(xiàng)目管理中的一些問題。文章針對(duì)一些軟件工程項(xiàng)目管理中的常見問題,提出了相應(yīng)的管理對(duì)策,進(jìn)而形成系統(tǒng)化的管理策略。
關(guān)鍵詞:軟件工程;項(xiàng)目管理;策略
中圖分類號(hào):TU71 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-8937(2014)5-0050-02
隨著經(jīng)濟(jì)的快速增長(zhǎng),計(jì)算機(jī)軟件的應(yīng)用范圍越來越廣。計(jì)算機(jī)軟件工程項(xiàng)目的規(guī)模、難度等也隨之增加。計(jì)算機(jī)軟件工程項(xiàng)目運(yùn)作的過程中也逐漸暴露出一些問題,需要采取系統(tǒng)化的管理策略,以保證軟件工程項(xiàng)目的順利進(jìn)行,從而有助于提升軟件企業(yè)的競(jìng)爭(zhēng)力。
1 軟件工程項(xiàng)目的特點(diǎn)
計(jì)算機(jī)軟件項(xiàng)目的實(shí)施過程需要團(tuán)隊(duì)成員共同完成。一般來說,軟件工程項(xiàng)目人員包括項(xiàng)目負(fù)責(zé)人、系統(tǒng)分析員、高級(jí)與初級(jí)程序員、資料員等。在軟件工程項(xiàng)目進(jìn)行過程中,必須保證軟件產(chǎn)品的質(zhì)量與配置符合用戶需要,同時(shí)對(duì)可能出現(xiàn)的風(fēng)險(xiǎn)有適當(dāng)?shù)拇胧┻M(jìn)行解決和規(guī)避。其中,質(zhì)量管理是軟件工程項(xiàng)目管理中的一個(gè)重要內(nèi)容。通過質(zhì)量計(jì)劃編制、項(xiàng)目質(zhì)量保證和項(xiàng)目質(zhì)量控制等過程確保項(xiàng)目的總體績(jī)效評(píng)估達(dá)到質(zhì)量標(biāo)準(zhǔn)。其中,通過質(zhì)量計(jì)劃編制明確項(xiàng)目任務(wù)要達(dá)到的質(zhì)量目標(biāo),項(xiàng)目質(zhì)量保證主要涉及實(shí)現(xiàn)質(zhì)量目標(biāo)的可行性措施。項(xiàng)目質(zhì)量控制是從總體上檢測(cè)項(xiàng)目執(zhí)行的結(jié)果,同時(shí)對(duì)不合格的部分提出解決方案。
總的來說,軟件工程項(xiàng)目的特點(diǎn)主要表現(xiàn)在以下幾個(gè)方面。一是由于軟件產(chǎn)品不可觸摸,其可視性具有間接性的特點(diǎn)。因此,對(duì)于軟件產(chǎn)品的測(cè)試需要采用專門的方法或者借助專門的設(shè)備。這就導(dǎo)致了對(duì)軟件產(chǎn)品質(zhì)量的把握存在一定的滯后性,從而給最終的軟件產(chǎn)品能否滿足用戶的需求留下了隱患。二是由于用戶需求的多樣性,以及軟件產(chǎn)品的多樣性,導(dǎo)致軟件產(chǎn)品的開發(fā)過程缺乏統(tǒng)一標(biāo)準(zhǔn)。這一方面給軟件工程項(xiàng)目的管理工作提供了靈活的空間,但同時(shí)增加了管理的難度。三是大型的軟件工程項(xiàng)目往往都是一次性的,不可復(fù)制,且其需要開發(fā)的系統(tǒng)都較為復(fù)雜。因此,大型軟件工程項(xiàng)目往往工作量大、難度高、很多方面需要在項(xiàng)目進(jìn)行過程中逐步摸索。這些都會(huì)增加項(xiàng)目的難度和風(fēng)險(xiǎn)。
2 軟件工程項(xiàng)目中存在的主要問題
2.1 需求分析問題
軟件工程項(xiàng)目的最終目標(biāo)是要開發(fā)出符合用戶需求的軟件產(chǎn)品。但是在實(shí)際操作過程中,對(duì)于用戶的需求缺乏深入的分析。比如對(duì)用戶需求的實(shí)體、數(shù)據(jù)以及實(shí)際的活動(dòng)要求缺乏細(xì)致的調(diào)查,反而被認(rèn)為是表面工作。從而導(dǎo)致最終的軟件產(chǎn)品與用戶需求、或者與業(yè)務(wù)需要存在較大的偏差。
2.2 團(tuán)隊(duì)協(xié)作問題
由于軟件工程項(xiàng)目團(tuán)隊(duì)中人員較多、分工不同、權(quán)責(zé)不同,因此在項(xiàng)目的團(tuán)隊(duì)協(xié)作和溝通中往往存在一些問題。比如,團(tuán)隊(duì)中分工不清、權(quán)責(zé)不明,這就可能導(dǎo)致項(xiàng)目任務(wù)不能按時(shí)完成,且出現(xiàn)了問題互相推諉。即不利于軟件工程項(xiàng)目的順利完成,也不利于提升團(tuán)隊(duì)工作質(zhì)量。又比如,團(tuán)隊(duì)成員分工明確,但是各自為政、缺乏合作與交流,這同樣會(huì)導(dǎo)致團(tuán)隊(duì)工作效率的下降。
2.3 進(jìn)度控制問題
在軟件工程項(xiàng)目實(shí)施過程中,如果忽視了將進(jìn)度控制作為具體目標(biāo)來實(shí)現(xiàn),就可能導(dǎo)致工程不能按期完成,從而給整個(gè)項(xiàng)目造成損失。同時(shí),進(jìn)度控制與項(xiàng)目的質(zhì)量管理、成本管理之間存在著復(fù)雜的關(guān)系。一方面,過分強(qiáng)調(diào)項(xiàng)目的進(jìn)度與成本控制可能對(duì)項(xiàng)目質(zhì)量達(dá)標(biāo)產(chǎn)生不利影響;另一方面,從長(zhǎng)遠(yuǎn)來看,注重項(xiàng)目質(zhì)量可以避免由于軟件產(chǎn)品不合要求不得不返工,而造成的工期延誤及成本擴(kuò)張等問題。因此,需要軟件工程的項(xiàng)目管理人員從全局把握。
2.4 風(fēng)險(xiǎn)管理問題
軟件工程項(xiàng)目的風(fēng)險(xiǎn)可能存在于多個(gè)方面,比如軟件產(chǎn)品質(zhì)量是否合格、是否滿足用戶需求或業(yè)務(wù)需要,項(xiàng)目是否按規(guī)定時(shí)間完成,成本是否在預(yù)算之內(nèi),等等。如果對(duì)軟件工程項(xiàng)目的風(fēng)險(xiǎn)疏于防范,將有可能給整個(gè)項(xiàng)目造成巨大的損失。
3 軟件工程項(xiàng)目管理策略
3.1 將目標(biāo)管理應(yīng)用于軟件工程項(xiàng)目管理
根據(jù)軟件工程項(xiàng)目管理的特點(diǎn),將目標(biāo)管理應(yīng)用于其中時(shí)可以分為五個(gè)步驟,即目標(biāo)確定、目標(biāo)定義、目標(biāo)分解、階段成果檢查、目標(biāo)驗(yàn)收。
目標(biāo)確定主要包含兩方面內(nèi)容,一是確定目標(biāo)的內(nèi)容,二是確定目標(biāo)的重要性。一項(xiàng)軟件工程項(xiàng)目需要實(shí)現(xiàn)多個(gè)目標(biāo),確定其中相對(duì)關(guān)鍵的、主要的、剛性的目標(biāo),因?yàn)檫@些目標(biāo)往往在質(zhì)量、工期、資源應(yīng)用等方面不允許出現(xiàn)偏差。同時(shí),根據(jù)目標(biāo)確定的結(jié)果制定相關(guān)的項(xiàng)目章程,以保證目標(biāo)的實(shí)現(xiàn)。
目標(biāo)定義是在目標(biāo)確定的基礎(chǔ)上進(jìn)一步明確目標(biāo)實(shí)現(xiàn)的程度,比如,關(guān)鍵目標(biāo)的重要性、對(duì)于整個(gè)項(xiàng)目的意義,項(xiàng)目工作做到怎樣的程度可稱為達(dá)到了這一目標(biāo),等等。目標(biāo)定義工作的實(shí)質(zhì)是使目標(biāo)可衡量、可檢查,使目標(biāo)具有實(shí)際內(nèi)容。并據(jù)此制定項(xiàng)目策劃,成為軟件工程項(xiàng)目開展具體工作的依據(jù)。
目標(biāo)分解就是將最終的總目標(biāo)分解成為不同階段、不同大小的子目標(biāo),然后分別執(zhí)行。這主要是針對(duì)軟件工程項(xiàng)目不可視、工期較長(zhǎng),需要到工程后期才能對(duì)軟件產(chǎn)品進(jìn)行衡量,存在目標(biāo)控制的滯后性問題。通過目標(biāo)分解,對(duì)分解目標(biāo)逐一完成、逐一衡量、逐一控制,實(shí)現(xiàn)分解目標(biāo)的可執(zhí)行、可衡量、可控制。需要注意的是,目標(biāo)分解對(duì)于整個(gè)軟件工程項(xiàng)目管理的目標(biāo)管理而言是十分重要的一步。以目標(biāo)分解為基礎(chǔ),可以制定整個(gè)軟件工程項(xiàng)目詳細(xì)的工作計(jì)劃,比如,采取怎樣的工作方法,以及成本預(yù)算,對(duì)項(xiàng)目進(jìn)度的控制等方面都可以進(jìn)一步明確。因此,目標(biāo)分解必須合理,對(duì)于分解目標(biāo)的統(tǒng)籌管理應(yīng)有助于提高整個(gè)軟件工程項(xiàng)目的執(zhí)行效率。
階段成果檢查及目標(biāo)調(diào)整主要是根據(jù)各分解目標(biāo)完成的實(shí)際情況進(jìn)行兩方面的調(diào)整。一是目標(biāo)制定可能不符合實(shí)際情況、或者實(shí)際情況發(fā)生了變化,則需要對(duì)目標(biāo)進(jìn)行調(diào)整。二是目標(biāo)切實(shí)可行,檢查任務(wù)完成是否切合目標(biāo)要求。如果針對(duì)子目標(biāo)的檢查確認(rèn)項(xiàng)目進(jìn)展順利,可以使用周迭代模式進(jìn)行檢查,確保項(xiàng)目平穩(wěn)進(jìn)行;如果針對(duì)子目標(biāo)的檢查發(fā)現(xiàn)項(xiàng)目完成出現(xiàn)偏差或失控,則需要采取每日檢查的方式,按照目標(biāo)要求對(duì)執(zhí)行過程進(jìn)行調(diào)整。在階段成果檢查及目標(biāo)調(diào)整過程中,合理適用的檢查制度和驗(yàn)收適度是十分必要的,其目的是確保項(xiàng)目整體處于可控狀態(tài)。
目標(biāo)驗(yàn)收是在項(xiàng)目工作任務(wù)完成時(shí),對(duì)最初的總目標(biāo)進(jìn)行驗(yàn)收,驗(yàn)收合格方可確認(rèn)項(xiàng)目結(jié)束。
3.2 促進(jìn)軟件工程項(xiàng)目管理規(guī)范化
軟件工程項(xiàng)目的規(guī)范化管理主要包括團(tuán)隊(duì)管理的規(guī)范化、工作方法的規(guī)范化、風(fēng)險(xiǎn)管理的規(guī)范化。
在團(tuán)隊(duì)管理的規(guī)范化方面,首先要根據(jù)工作目標(biāo)制定團(tuán)隊(duì)規(guī)范,其目的是保證項(xiàng)目完成的進(jìn)度和質(zhì)量符合各分解目標(biāo),從而保障項(xiàng)目整體可控。在團(tuán)隊(duì)規(guī)范中,對(duì)不同的崗位職責(zé)、工作的規(guī)章制度、相應(yīng)的工作紀(jì)律進(jìn)行明確的規(guī)定,確保團(tuán)隊(duì)中的各項(xiàng)工作可以有條不紊地開展。特別是為了保證工程的進(jìn)度和質(zhì)量,需要對(duì)項(xiàng)目執(zhí)行過程中問題的處理方式方法制定相應(yīng)的處理流程。由于軟件工程項(xiàng)目所處的技術(shù)環(huán)境日新月異,為了提升整個(gè)團(tuán)隊(duì)的工作能力,需要經(jīng)常對(duì)團(tuán)隊(duì)成員進(jìn)行相關(guān)培訓(xùn),并形成制度。為了促進(jìn)整個(gè)團(tuán)隊(duì)的積極性和主動(dòng)性,需要制定有力的激勵(lì)措施,形成相應(yīng)的獎(jiǎng)懲制度。
在工作方法的規(guī)范化方面,主要體現(xiàn)在工作流程的規(guī)范化。一是針對(duì)整個(gè)項(xiàng)目工作的組織,在目標(biāo)分解計(jì)劃制定之后,包括每周任務(wù)認(rèn)領(lǐng),每日工作例會(huì),任務(wù)看板及燃盡圖繪制,以及對(duì)工作立項(xiàng)后的跟進(jìn)等等方面,形成規(guī)范化的流程。并且對(duì)整個(gè)流程中的控制節(jié)點(diǎn)做出明確的規(guī)定。比如,對(duì)工作項(xiàng)進(jìn)行細(xì)分,在每項(xiàng)工作的1/2時(shí)間點(diǎn)處進(jìn)行檢查,以便及時(shí)發(fā)現(xiàn)和解決問題;執(zhí)行代碼核審制度,每天工作結(jié)束后,采用循環(huán)交叉的方式進(jìn)行代碼審核;在任務(wù)完成之后歸納技術(shù)總結(jié)文檔,以積累經(jīng)驗(yàn)、總結(jié)教訓(xùn)。
二是針對(duì)項(xiàng)目管理中的需求分析問題,除了對(duì)用戶需求進(jìn)行細(xì)致深入的分析之外,可以采用規(guī)范化的項(xiàng)目管理模型。首先做出原型并向用戶展示,根據(jù)用戶意見修改至用戶滿意,然后以原型為范本進(jìn)行項(xiàng)目開發(fā)。如圖1所示。
采用項(xiàng)目開發(fā)模型有助于促使項(xiàng)目開發(fā)人員采用規(guī)范的方法,在一定程度上可以減少項(xiàng)目開發(fā)過程中的返工,從而有助于避免風(fēng)險(xiǎn)和損失的發(fā)生。
在風(fēng)險(xiǎn)管理的規(guī)范化方面,需要建立完善的風(fēng)險(xiǎn)管理制度,對(duì)于風(fēng)險(xiǎn)的識(shí)別和控制需要有可量化的標(biāo)準(zhǔn)和方法。在項(xiàng)目執(zhí)行過程中,需要定期對(duì)項(xiàng)目風(fēng)險(xiǎn)進(jìn)行識(shí)別和控制。特別是關(guān)鍵的時(shí)間節(jié)點(diǎn),比如分目標(biāo)完成時(shí),在進(jìn)行階段檢查的過程中需要加入風(fēng)險(xiǎn)控制的內(nèi)容。同時(shí),將進(jìn)度控制納入重要的風(fēng)險(xiǎn)管理范圍。
3.3 建立完整的軟件開發(fā)項(xiàng)目管理體系
建立完整的軟件工程項(xiàng)目管理體系,有助于全面提升項(xiàng)目管理質(zhì)量。根據(jù)軟件工程項(xiàng)目管理的主要內(nèi)容、特點(diǎn),以及目前的主要問題,建立完整的軟件工程項(xiàng)目管理體系主要分為三個(gè)部分,一是軟件開發(fā)的流程,包括需求分析階段、系統(tǒng)設(shè)計(jì)階段、編碼實(shí)施階段、測(cè)試階段、系統(tǒng)試運(yùn)行階段;二是軟件工程項(xiàng)目管理的主要內(nèi)容,包括質(zhì)量管理、團(tuán)隊(duì)管理、進(jìn)度管理、風(fēng)險(xiǎn)管理;三是軟件工程項(xiàng)目管理的主要方法,包括文檔、工具、溝通和制度。在項(xiàng)目執(zhí)行的過程中,將上述三個(gè)方面融合在一起,貫穿于軟件工程項(xiàng)目過程的方方面面。
4 結(jié) 論
隨著計(jì)算機(jī)軟件技術(shù)的發(fā)展,軟件工程項(xiàng)目的規(guī)模、難度、類型都在快速的發(fā)展之中。針對(duì)目前比較常見的軟件工程項(xiàng)目管理中的主要問題,包括需求分析問題、團(tuán)隊(duì)協(xié)作問題、進(jìn)度控制問題、風(fēng)險(xiǎn)管理問題,論文提出了系統(tǒng)化的管理策略。主要包括將目標(biāo)管理應(yīng)用于軟件工程項(xiàng)目管理,促進(jìn)軟件工程項(xiàng)目管理規(guī)范化,以及建立完整的軟件開發(fā)項(xiàng)目管理體系。
參考文獻(xiàn):
[1] 邵國(guó)紅.探析計(jì)算機(jī)軟件工程項(xiàng)目管理[J].硅谷,2012,(2).
[2] 陸中元.淺論軟件工程項(xiàng)目管理實(shí)踐[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012,(21).
[3] 蔡培茂,張申勇.目標(biāo)管理在軟件工程項(xiàng)目管理中的應(yīng)用[J].管理信息化,2012,(11).
[4] 蘇俊.卓有成效的目標(biāo)管理[M].廣州:廣東經(jīng)濟(jì)出版社,2008.
[5] 覃征.軟件項(xiàng)目管理[M].北京:清華大學(xué)出版社,2009.