軟件項目管理過程研究

時間:2022-05-05 09:43:07

導語:軟件項目管理過程研究一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

軟件項目管理過程研究

摘要:項目管理就是將知識、技能、工具與技術相結合應用于項目活動,以滿足項目的要求的一種管理科學,是20世紀40年代以后迅速發展起來的一門學科,是現代管理學的一個很重要的分支。有效的軟件項目管理是軟件項目成功的基石,軟件項目的特性決定了軟件項目管理較為復雜。結合軟件項目全壽命周期,提煉出軟件項目管理中的四個重要維度:計劃管理、質量管理、配置管理及風險管理,并結合管理實踐,作出了分析和建議。

關鍵詞:軟件項目管理;計劃管理;質量管理;配置管理;風險管理

一、軟件項目管理

基于項目的管理模式誕生于第二次世界大戰,最早采用這種管理模式的是美國的“曼哈頓計劃”。此后,隨著經濟全球化推進,競爭加劇,基于項目的管理模式逐漸取代傳統管理模式,被越來越多的企業所采用[1]。項目管理就是將知識、技能、工具與技術相結合應用于項目活動,以滿足項目的要求的一種管理科學,是20世紀40年代以后迅速發展起來的一門學科,是現代管理學的一個很重要的分支。項目管理的核心是以實現項目目標為中心,通過啟動、規劃、執行、監控、收尾等五大過程管理,最終滿足項目利益相關方的需求[2]。隨著項目管理方法、理論的發展,項目管理的概念和適用范圍也在不斷的拓展,在信息技術行業興起并快速發展期間,項目管理的手段和方法開始大量應用在信息技術項目中,由此帶動了軟件項目管理理論與方法的迅速發展。軟件項目管理即項目管理方法在軟件產品項目中的應用,但由于軟件項目固有的抽象性、階段劃分模糊、一次性、易出錯、難度量等特性,導致軟件項目管理相較于一般的項目管理難度更大。下面將從四個維度對軟件項目管理進行剖析,分析軟件項目管理特點,并結合實踐,給出針對性的建議。

二、軟件項目管理過程

軟件項目管理的四個維度是針對軟件項目全壽命周期提出的,因此在介紹軟件項目管理的四個維度之前,有必要對軟件項目的開發流程進行簡要闡述。目前業界關于軟件產品生命周期的主流模型有三種:改進型V模型(如圖1)、快速迭代模型(如圖2)、遞進開發模型(如圖3)。軟件產品研制過程中,生命周期模型的選擇取決于軟件的規模、種類、開發方式、開發環境等因素,不同生命周期模型的研制階段可能會存在較小差異,但基本可以歸為5大過程:需求分析、設計、編碼實現、測試、驗收交付,軟件項目管理即是針對這5大過程的管理,管理活動可以細分為四個維度,即計劃管理、質量管理、配置管理、風險管理[3]。

(一)計劃管理

前面提到軟件項目的一次性特點,說明軟件項目必然存在一些以前從未做過的事情,存在較大的不確定性,因此,做好軟件項目的項目策劃至關重要,而項目的計劃管理則是確保項目策劃得到有效落實的重要方式,計劃管理活動包括了計劃的制定、跟蹤、監督和考核。軟件項目管理的核心工作之一就是制定完善詳細的項目開發計劃,計劃制訂是為了達到項目的預定目標,在約束條件和假定條件下,對項目的范圍、資源、實現路徑、成本和時間進度進行安排,并形成能夠指導項目執行和控制的、經正式批準的文件的過程。也就是說,計劃管理的目的是為了達到項目的預期目標,實現項目成功,計劃管理的維度包括了項目的范圍管理、組織的資源管理、時間進度管理等,并且最終形成的計劃必須是正式批準的具有公眾約束力的官方文件。計劃制定是一個持續的過程,在項目方案階段可以制定一個初步的計劃,在項目實施過程中,隨著對項目需求的逐漸深入理解,項目實現途徑的調整,以及項目資源的變化等情況,項目計劃會同步不斷迭代更新。???制定計劃時,需要項目的主要干系人、任務承擔部門負責人等參與,計劃制定過程中,遵從由上至下制定,從下往上修訂的原則,結合項目的實際規模,制定相應詳細程度的計劃。計劃制定完成后,要在項目啟動會上對計劃內容進行公布,讓相關人員明確各自的職責,包括進度要求、活動產出等,并承諾資源。計劃制定的方法很多,主要核心思想都是基于工作任務分解,這里簡要介紹一種三級計劃管理體系。三級計劃管理體系,顧名思義就是將計劃分為一級、二級、三級。一級計劃主要用來管理項目的總體進度和項目協同,是整個項目的里程碑計劃,主要分解到各階段及關鍵節點,例如項目的決策評審點、技術評審點、關鍵路徑的重要監控點、客戶要求的節點等,一般以年為周期的項目,至少要保證每個季度有一個關鍵節點。二級計劃在一級計劃的基礎上進行細化,包含整個項目的主要活動,比如產品實現策劃、研制方案、關鍵設計、產品交付準備等,二級計劃至少要保證一個月有一個節點。三級計劃是在二級計劃的基礎上做再進一步的細化,是更為詳細的工作分解,可以分解到個人每周甚至每天的工作內容。軟件項目的計劃管理范疇包括軟件開發計劃、軟件配置管理計劃、軟件質量保證計劃、軟件測試計劃等。

(二)質量管理

軟件質量管理大體上可分為過程質量管理與設計質量管理。設計質量管理容易理解,涉及到軟件的整個設計、開發活動,包括系統需求分析、系統設計、軟件需求分析、軟件設計、軟件編碼與單元測試、單元集成與測試、配置項確認測試、系統集成與測試、系統確認測試、驗收和交付,設計質量管理就是對這些環節進行監控,以保證軟件產品的質量。業界有句名言,產品的質量是設計出來的,體現了產品的設計過程對于產品質量的重要性,為了保證產品質量的穩定性,應該提煉出通用的設計環節,并對每個環節的關重要素做出標識,產品開發過程中涉及到關重要素時,應該組織專家團隊共同評審決策,避免因個人主觀因素造成產品質量的差異性。過程質量管理對軟件產品質量較為重要,基于過程的管理,也是GJB9001C換版后強調的重點。根據實踐經驗,軟件項目過程質量管理的效果很大程度上取決于以下因素:質量保證計劃、軟件質量保證師。質量保證計劃,也稱質量保證大綱,是產品研發過程質量管理的指導文件,規定了產品研發過程的質量方針和目標、質量管理角色和職責、過程質量控制、質量信息管理、技術狀態管理等。軟件質量保證師,簡稱SQA,是過程質量管理活動的執行者,主要依據軟件過程文件的要求,對軟件項目過程活動和工作產品進行符合性監督與檢查,負責定期采集軟件項目的質量數據,并進行統計分析,擬制相關質量保證記錄表等。總的來說,產品質量是項目成功的重要表征,是企業的生存之本,是顧客要求得到滿足程度的表現。產品質量管理是一個持續改進的過程,需要企業從頂層進行規劃,建立一套行之有效的質量管理體系。質量管理的理念在西方發達國家已經發展很多年,國際上也成立了國際質量管理委員會,并發布了多個系列的質量標準。目前,我國質量管理各方面經驗都較為豐富,質量管理體系的建立有成熟的標準,并且也有專門的質量管理體系審核機構幫助企業建立體系、執行體系。作為企業,應該在質量管理專業機構的指導下,將相應的質量標準本地化,并根據實際情況持續改進,建立適合自己的質量管理體系。

(三)配置管理

影響軟件項目的因素很多,但影響最大的應該是項目團隊乃至項目負責人對軟件變更的不重視,甚至認為變更是軟件項目的固有特性。很多軟件項目的失敗,都要歸因于薄弱的變更管理,導致項目的時間進度和成本超出了預期范圍。項目開發過程中,變更是允許存在的,但是必須得到有效的控制和管理,這就是配置管理的主要目的。軟件配置管理是軟件項目的基本過程管理,負責管控軟件的基線產品,跟蹤、監控變更,確保在軟件項目的全壽命周期中,基線產品始終保持最新狀態,配置管理活動在項目的需求分析階段就應該開始。配置管理活動的兩個關鍵點:配置管理員和配置管理計劃。配置管理員負責建立并維護產品的配置管理庫,開展軟件配置管理工作策劃,擬制《軟件配置管理計劃》,開展配置項審核,配合軟件負責人管理基線,執行基線或變更的發布等。配置管理計劃作為配置管理活動的主要指導文件,規定組織和職責、配置標識、配置控制和審核等。配置管理計劃的主要目的是,提供配置管理員在進行配置管理工作時應該遵循的程序,從而確保以下工作得到有效進行。(1)軟件配置項的確定;(2)產品變更的顯性化:變更的標識、跟蹤;(3)合法變更涉及的文檔,要在軟件開發庫中進行同步更新,涉及的軟件代碼要同步集成、測試;(4)軟件變更提交軟件開發庫的狀態統計;(5)軟件變更的合法性;(6)維護配置管理審核系統,確保提交軟件開發庫的軟件產品及其文檔的一致性。

(四)風險管理

基于風險的思維是GJB9001C換版后突出的重點,強調風險管理的重要性。所有軟件項目都會有風險,有的影響小,在整個項目生命周期都會存在;有的影響較大,可能會導致整個項目的失敗,這種必須被標識出來,并采取應對措施。風險管理持續貫穿軟件項目的整個生命周期,在軟件項目的生命周期內,實施風險識別、風險跟蹤,對識別出的風險制定緩解/應急計劃,并于必要時實施相應計劃,緩解風險發生。當風險不可避免時,通過適當的策略將其可能造成的影響降至最小。風險管理主要有兩大活動:確定風險管理策略、標識和處理風險。風險可分為:技術風險、進度風險、成本風險等。風險處理一般包含以下幾種情況:(1)規避風險:如果能夠在項目早期就識別出風險,則可以采取措施進行規避,規避不了的,則考慮減弱影響;(2)接受風險:有些風險雖然存在,但是即使發生了,其影響也在項目可承擔范圍內,在考慮項目時間進度和成本的前提下,這類風險可以選擇接受;(3)減弱風險:對于已知的潛在風險,并且不可規避的,可以提前策劃,采取積極措施,減弱風險發生時對項目的影響,暫時無法減弱風險的,則應該持續監控;(4)消除風險:如果風險可能會帶來災難性的后果,則必須采取措施進行消除,如果不能全部消除,那么應該想辦法減弱其影響,使其變為可接受范圍,或者可規避,否則應該考慮調整項目的實現途徑或者取消項目;(5)轉移風險:風險一般都是帶有特定背景屬性的,一個項目組的風險,對于其他人也許就未必了,因此要運用宏觀思維,借助外部力量,轉移風險。一般情況下,建議項目在編制開發計劃的同時,同步編制項目的風險管理計劃,作為開發計劃的補充,也作為項目進行風險管理的指導性文件。風險管理計劃可以包含以下內容:(1)風險識別,判斷風險對項目影響的可能性并記錄其特征,包括識別風險源、列出風險源清單;(2)風險發生的可能性及后果嚴重性分析,對已識別出的風險因素進行分析,通過一定的方法,按風險發生可能性及嚴重性劃分相應等級,形成風險評估矩陣,并賦予一定的加權值來定性衡量風險大小,包括定義發生的可能性等級、后果嚴重性等級;(3)風險評價,包括風險評價指數、風險接受準則;(4)風險排序,包括風險分析結果、風險排序結果;(5)風險應對措施,針對各項風險尤其是中高風險源逐項重點論述風險的應對措施列表。

(五)成本管理

對于一個項目而言,項目的成本主要包括直接成本、管理成本盒運營成本等。直接成本就是與項目有直接關系的費用,比如說人工費、材料費等。管理成本是指項目開發期間為了管理、控制項目所發生的費用,主要包括差旅費、辦公費、會議費、咨詢費等。運營成本是指項目所在企業的正常運營所需要的費用,一般按照項目總經費的固定百分比進行抽取,主要包括企業的日常行政管理費用、銷售費用、固定資產使用費、動燃費等。對于軟件項目而言,項目的最主要的成本是人工成本,軟件開發人員的人工費用占據項目成本的大部分。在談成本管理之前,首先應該分析影響項目成本的因素。影響項目成本的因素很多,對于軟件項目,主要的影響因素包括:(1)項目質量質量對成本的影響通過質量成本來體現。一般來說,質量成本由質量故障成本和質量保證成本組成。質量故障成本指的是為排除導致產品質量問題產生的原因,保證產品重新恢復供能所產生的費用;質量保證成本是指為了提高和保證產品質量而采取的體系機制、技術措施等消耗的費用。產品的質量保證成本和質量故障成本是緊密關聯的,質量保證成本越高,說明企業為了保證和提高產品的質量,而在相應的技術措施、質量管理體系等方面所投入的資源越多,相應的產品的質量就會越高,由于產品質量不合格所引起的損失就越小,產品的質量故障成本就越低;反之,質量保證成本越低,質量故障成本可能就越高。(2)項目工期項目工期對項目成本的影響,主要體現在項目的直接費用和間接費用兩個方面,一般而言,工期越長,項目的間接費用越高,而直接費用越低;反之,如果工期越短,則直接費用越高,間接費用越低。對于軟件項目而言,項目工期的長短對項目成本的影響很大,縮短開發工期,可以降低間接費用,但卻需要更多高水平的技術人員,直接費用就會增加。(3)項目管理水平項目管理水平對項目成本的影響是多方面的,甚至是根本性的,可以體現在工期控制、預算執行控制、風險控制等維度。管理水平的高低影響預算的準確度、執行力度和監管的有效程度。高的管理水平可以嚴格控制項目計劃處于可控范圍,對項目計劃變更造成的影響可以較為有效的控制。另外,高水平的項目管理對項目風險的識別及應對措施會有很大程度的幫助,有助于減少風險損失。(4)項目人力資源前文提高,對于軟件項目而言,項目的最主要成本是人工成本,而人力資源素質是影響人工成本的重要因素。技術能力強/職業素養高的員工,其人力資源成本比較高,但這樣的員工可以產生較高的工作效率,從而縮短工期,也可以提供較高質量的產品,降低產品的質量成本,從而整體上會降低項目成本;反之,對于一般人員而言,則可能會延長工期,產品質量也不能得到有效保障,從而間接造成項目成本的增加。所謂成本管理,就是對影響項目成本的因素進行有效的管理,妥善處理好質量、管理和人員的關系,合理分配、使用項目活動所需的資源,最大限度的保證項目實際成本在可控的范圍之內。可以通過工作結構分解、費用預算制訂、風險策劃等方式,達到成本管理的目的。

三、結語

軟件項目固有的特性導致了其管理工作的復雜性,只有對項目全壽命周期進行剖析,深入理解項目開發涉及的各個環節,提煉出關鍵管理活動,根據內外部環境,靈活運用,才能適應當前需求多樣性的軟件產品研發。

參考文獻

[1]張曉輝.軟件項目管理中的關鍵問題分析及對策[J].信息系統工程,2016(003).

[2]周慧.論軟件項目管理[J].現代電子技術,2003(018).

[3]王瑋,楊健.軟件項目管理活動探析[J].海上靶場學術,2008(001).

作者:劉鵬 周霞 張毅 涂彥君