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