李 妍
(中國電子科技集團 第三十八研究所,安徽 合肥 230088)
隨著信息技術(shù)的飛速發(fā)展,軟件產(chǎn)品規(guī)模日趨龐大,傳統(tǒng)軟件研制過程中重技術(shù)、輕管理的思想已經(jīng)落伍?!败浖l(fā)展的主要問題是管理問題。而不是技術(shù)問題”,作為現(xiàn)代軟件管理模式的代表,CMMI(Capability Maturity Model Intergation)即“軟件能力成熟度模型集成”在大型軟件項目管理活動中得到了廣泛的應用[1]。
項目策劃是CMMI中的一個重要部分,對軟件項目的有效管理取決于對項目的合理策劃,計劃的合理性與準確性往往直接關(guān)系著項目的成敗。
CMMI(Capability Maturity Model Intergation),即“軟件能力成熟度模型集成”共包括5個級別,分別是初始級、已管理級、已定量管理級、優(yōu)化級。所有級別共包括24個過程域。CMMI的目的是幫助軟件組織改進其過程,在對軟件產(chǎn)品或服務的開發(fā)、采購以及維護的能力中提供指導。
項目策劃是CMMI中的一個重要過程域,策劃工作涉及到項目中的各個環(huán)節(jié),包括定義件項目的規(guī)模和目標,確定需交付的工作產(chǎn)品及交付時間、完成研制所需的資源、制定合理的研制進度、對項目生命周期中可能遇到的風險進行標識和評估等等。
軟件項目的管理者按照策劃確定的內(nèi)容對軟件項目的開發(fā)成本、開發(fā)進度、產(chǎn)品性能和產(chǎn)品質(zhì)量進行管理和控制,才能得以保證軟件項目順利地實施。
對軟件項目進行策劃通常在項目的早期進行,并在項目進展過程中,根據(jù)項目實際進展情況進行策劃的調(diào)整。
項目已定義過程的建立是軟件項目策劃工作的基礎,它以已確定的用戶需求為基礎,以組織內(nèi)部的軟件標準為依據(jù),并以組織內(nèi)部類似項目的成功經(jīng)驗作為參考,決定了項目策劃其余工作的開展。
策劃負責人分析軟件項目的實際情況,選擇適用本項目的軟件生命周期模型。為使得軟件開發(fā)周期模型更貼合項目實際應用,應在組織標準允許范圍內(nèi)、用戶實際要求的基礎上,對項目進展各階段需生成的工作產(chǎn)品以及相應所需進行的各類管理、支持類活動進行裁減,從而完成項目已定義過程。
WBS分解即工作分解結(jié)構(gòu),是將目標逐步細化分解,最底層的任務活動可直接分派到個人去完成,每個任務原則上要求分解到不能再細分為止。
項目已定義過程決定了項目進展過程中的兩大重要內(nèi)容:工作產(chǎn)品和各類管理、支持類活動,軟件項目的最終完成,就是這兩大重要內(nèi)容的完成。項目策劃中,需要將工作產(chǎn)品和各類活動進行WBS分解,通過分解后的任務活動在估計中確定完成所需的工作量,并將在項目進度中確定相應的完成時間節(jié)點和責任人員。
軟件估計的目的是對WBS分解后任務的量化過程,通過對工作產(chǎn)品的規(guī)模、各類活動工作量的估計,能夠確定軟件項目進度、成本、關(guān)鍵計算機資源等內(nèi)容。
若WBS分解后的任務目標是生成工作產(chǎn)品,如文檔、代碼,則先進行工作產(chǎn)品的規(guī)模估計,可從文檔的頁數(shù)、代碼行數(shù)、測試用例個數(shù)等方面入手,結(jié)合組織資產(chǎn)庫中對應工作產(chǎn)品的生產(chǎn)率,可計算出完成任務所需的時間長度,即工作量。
若WBS分解后的任務目標是項目的管理、支持類活動,則可直接進行工作量的估計。管理、支持類活動的估計通常結(jié)合組織資產(chǎn)庫中的經(jīng)驗數(shù)據(jù),或者是與工作產(chǎn)品工作量的經(jīng)驗比值得到。
策劃負責人以工作量估計結(jié)果為基礎,將WBS分解的各項任務根據(jù)合理的次序進行排列,確定各任務可能的完成時間??紤]參與人員、任務優(yōu)先機級別等因素,可采用關(guān)鍵路徑法確定項目進度。
關(guān)鍵路徑是項目計劃中最長的路線。它決定了項目的總實耗時間。關(guān)鍵路徑上的任何活動的推遲將使整個項目推遲。所以在進行項目操作的時候確定關(guān)鍵路徑并進行有效的管理是至關(guān)重要的。
在項目的實際進展過程中,單獨依靠估計的工作量來確定關(guān)鍵路徑上的任務時長是有很大風險的,會導致項目實際進行中計劃的不斷調(diào)整,增加策劃的工作量。一般應結(jié)合考慮可能影響任務進展的因素,如涉及任務人員間的溝通情況、任務允許的緩沖時間等,在本任務的估計工作量基礎上增加適量的冗余時間。
軟件項目策劃的最終實物體現(xiàn)為軟件項目計劃,結(jié)合已完成的項目已定義過程、WBS分解、軟件估計和項目進度,在與項目涉及人員共同商議并達成統(tǒng)一意見后,在軟件項目計劃中確定以下內(nèi)容:
1)進度計劃,包括任務完成節(jié)點,階段完成節(jié)點,里程碑節(jié)點等;
2)風險計劃,對項目進展過程中可能發(fā)生的風險進行識別、分析,從而確定緩解措施、應對措施,以及風險跟蹤時間;
3)評審計劃,明確軟件項目需要進行的工作產(chǎn)品評審和管理評審,并明確各評審的評審對象和輸入材料、評審組長和其他評審人員、評審級別、評審方式等;
4)數(shù)據(jù)管理計劃,明確項目過程中需進行管理的項目數(shù)據(jù)名稱、所屬記錄類型標識、提供人員、存儲方式及時間;
5)測量與分析計劃,明確項目的測量目標,并基于測量目標確定基本測量項、導出測量項、項目參數(shù)的偏差控制閾值,同時明確測量量數(shù)據(jù)采集、存儲、分析和報告的要求;
6)利益相關(guān)方計劃,分析并識別項目的利益相關(guān)方及其參與的活動及時間;
7)關(guān)鍵依賴關(guān)系計劃,標識受影響的利益相關(guān)方一起協(xié)商關(guān)鍵依賴項、接收方、提交方和提交相應工作產(chǎn)品的時間;
8)人力資源計劃,確定軟件項目的組織機構(gòu),明確項目組成員及其角色和職責、參加項目的時段;
9)培訓計劃,確定項目組成員尚未具備的知識技能,確定培訓時間;
10)設施與工作環(huán)境計劃,包括資源提供的責任人及到位時間/時機、工作環(huán)境建立的責任人及時間/時機;
11)質(zhì)量保證計劃,包括項目進展過程中各類工作產(chǎn)品審核、活動審核開展時機等;
12)配置管理計劃,包括項目進展中各類工作產(chǎn)品的入庫時間、基線的建立時間、配置審核時機等。
根據(jù)項目實現(xiàn)周期及任務特點,軟件項目計劃的制定可采取不同的方法。若軟件項目實現(xiàn)周期很短,任務明確,可在計劃中就明確直至任務交付的詳細計劃;若項目實現(xiàn)周期很長,任務需求有待繼續(xù)明確,則在軟件項目計劃中只對最近階段的任務計劃進行確定,后期可根據(jù)前一階段任務完成情況再對任務實現(xiàn)計劃進行逐步確定、細化。
軟件項目計劃應根據(jù)項目實際進展情況,即項目監(jiān)控的結(jié)果出發(fā),進行必要的維護工作,特別是出現(xiàn)關(guān)鍵路徑偏離超出計劃閾值、項目需求變化等情況時,就應進行計劃調(diào)整。必要時,還需重新進行項目定義、WBS分別、工作量估計等工作。
本文從軟件項目策劃在項目中的實際應用出發(fā),詳細介紹了軟件項目策劃的實施過程。在實踐過程中,我們也深刻體會到,軟件項目策劃實施的重要性和必要性。軟件策劃工作實施的基礎,是以往項目的經(jīng)驗數(shù)據(jù),只有組織不斷的收集對經(jīng)驗收據(jù)并進行調(diào)整,包括適合本單位研發(fā)工作實際的軟件生命周期模型確定,才能使得策劃工作真正為項目進展提供有力支撐。
[1]楊一平,等.軟件能力成熟度模型CMM方法及其應用[M].北京:人民郵電出版社,2011.