劉衛(wèi)宏,焦彥平
(裝備指揮技術(shù)學(xué)院,北京 101416)
裝備指揮技術(shù)學(xué)院軟件工程教研室研制開發(fā)的軟件工程化管理平臺 ProjectMan,覆蓋了 CMMI二、三級的關(guān)鍵活動,同時提供了CMMI四級所要求的定量管理的基本功能。ProjectMan提供了一個簡單易用的平臺,幫助企業(yè)能正確地理解和實施CMMI,并且?guī)椭浖髽I(yè)建立起可操作的軟件質(zhì)量管理體系,使得軟件工程化和CMMI能夠順利地在企業(yè)中實施。
軟件工程化管理平臺ProjectMan包含了3個基本部分:軟件質(zhì)量保證體系;軟件工程化管理平臺;一個協(xié)同工作的環(huán)境。
項目跟蹤和控制作為軟件工程化管理平臺中很重要的一個模塊,不僅完全覆蓋了CMMI對該過程域的要求,并且簡單易用,具有很強的操作性,成為項目管理的主要工具,為項目按計劃正常進行提供了強有力的保證。
軟件項目的開發(fā)計劃是跟蹤軟件活動、傳遞軟件狀態(tài)和修訂軟件計劃的基礎(chǔ)。管理者監(jiān)控軟件活動,主要通過在軟件產(chǎn)品完成時或在所選擇的里程碑處,把軟件開發(fā)過程中的實際規(guī)模、工作量、成本和進度等與計劃相比較,確定實際進展情況,并根據(jù)偏差識別項目中存在的問題。當(dāng)發(fā)現(xiàn)與軟件項目開發(fā)計劃偏離時,根據(jù)實際情況適當(dāng)?shù)匦抻嗆浖_發(fā)計劃,重新策劃后續(xù)工作。
項目的開發(fā)計劃直接關(guān)系到項目的成功與優(yōu)劣。項目計劃制定得越詳細(xì)、越準(zhǔn)確,項目成功的幾率就越大。然而,在項目的實際進展中,總是與計劃存在著或多或少的偏差。于是就需要收集項目數(shù)據(jù),并對偏差值進行詳細(xì)地分析,找出導(dǎo)致偏差產(chǎn)生的原因,并通知項目經(jīng)理、階段負(fù)責(zé)人、任務(wù)負(fù)責(zé)人以及質(zhì)量保證人員等采取適當(dāng)?shù)拇胧缧抻嗧椖坑媱?,保證項目正常進行。
為了保證項目跟蹤與控制的順利實施,將軟件項目計劃設(shè)計為3個層次:項目總體計劃、階段計劃和任務(wù)計劃,其關(guān)系如圖1所示。計劃更改時,一定要保持各層計劃的一致性。總體計劃會因階段計劃的更改而調(diào)整,任務(wù)計劃受階段計劃的影響。
圖1 3個計劃的關(guān)系
(1)總體計劃:項目經(jīng)理根據(jù)用戶需求制定總體計劃,給出項目進行的主要階段和各種需求。此計劃需要經(jīng)過評審?fù)ㄟ^后方可執(zhí)行。
(2)階段計劃:項目經(jīng)理、階段負(fù)責(zé)人以及所有的參與人員共同制定階段計劃。階段計劃是總體計劃的任務(wù)分解。
(3)任務(wù)計劃:根據(jù)階段計劃中的任務(wù)安排,每個人制定自己的任務(wù)計劃。
項目計劃之所以稱為“計劃”,就因為它不是十全十美的,即使經(jīng)驗豐富的專業(yè)人員制定的計劃也會存在偏差。而且,計劃在開始時往往比較粗糙,對工作產(chǎn)品估計的粒度比較大;但是隨著任務(wù)的細(xì)分、角色的分配、員工職責(zé)的分明、估計的粒度越來越小,準(zhǔn)確性也逐漸提高。因此對應(yīng)于項目計劃的3層設(shè)計,項目跟蹤與控制也設(shè)計為3個層次。
如圖2所示,3個層次的跟蹤分別為:總體跟蹤、階段跟蹤和任務(wù)跟蹤。
圖2 項目跟蹤與計劃的關(guān)系
(1)總體跟蹤
總體跟蹤主要從項目的全局進行把握,對應(yīng)到項目的總體計劃。項目在開始時,一般很難做出一個具體的計劃來估計項目的細(xì)節(jié)工作,這時項目經(jīng)理往往制定一個總體計劃。該計劃中一般不包含細(xì)節(jié)內(nèi)容,只是大概估計項目的起始時間、總工作量、成本、規(guī)模等,并且包括相對簡單的階段計劃。所以在這個層次上跟蹤項目的實際起始時間、總工作量、總成本、規(guī)模、實際完成率等,并將實際值與項目計劃中的估計值進行比較。如果該偏差值超出定義的范圍,則對項目經(jīng)理、質(zhì)量保證人員等發(fā)出警告,提醒其采取適當(dāng)?shù)拇胧?,及時修訂開發(fā)計劃,使項目處于可控之中。
(2)階段跟蹤
階段跟蹤主要跟蹤每個階段的完成情況,對應(yīng)到比較詳細(xì)的每個階段的計劃。階段計劃是在總體計劃的基礎(chǔ)上,由階段負(fù)責(zé)人制訂的,比較詳細(xì)。包括估計該階段的工作產(chǎn)品的規(guī)模、工作量、資源、成本、風(fēng)險、進度、任務(wù)的劃分,以及相對簡單的任務(wù)計劃等。所以在這個層次上分別跟蹤每個階段的軟件產(chǎn)品的規(guī)模、成本、資源、風(fēng)險、進度等,并將實際值與項目計劃中的估計值進行比較。如果偏差值超出定義的范圍,則對項目經(jīng)理、階段負(fù)責(zé)人、質(zhì)量保證人員等發(fā)出警告,提醒其采取適當(dāng)?shù)拇胧?,及時修訂計劃,使后續(xù)工作能順利進行。
(3)任務(wù)跟蹤
任務(wù)跟蹤主要跟蹤每個任務(wù)的完成情況,對應(yīng)到每個任務(wù)的計劃。隨著階段計劃的實施,任務(wù)的劃分越來越細(xì),而角色職責(zé)的明確,使得每個任務(wù)的負(fù)責(zé)人可以對自己的任務(wù)制定出詳細(xì)的計劃。因此對每個任務(wù)進行跟蹤是很方便的。跟蹤每個任務(wù)的具體實施過程,如任務(wù)的實際起始時間、進度、完成率等,并與計劃值進行比較,計算出偏差值。如果該偏差值超出定義的范圍,則給階段負(fù)責(zé)人、任務(wù)負(fù)責(zé)人、質(zhì)量保證人員等發(fā)出警告。提醒其采取適當(dāng)?shù)拇胧?,及時修訂計劃,保證開發(fā)過程的可控性。
從上所述可以看出,跟蹤的大、中、小層次之間存在一種包含關(guān)系??傮w計劃中包含簡單的階段計劃,階段計劃中包含粗略的任務(wù)計劃。而跟蹤可以實現(xiàn)對這三個計劃的及時修訂。因為計劃的實施總是從最小的地方開始,所以通過對每個任務(wù)的跟蹤,及時調(diào)整任務(wù)計劃,隨著偏差的累加,必然會引起階段負(fù)責(zé)人對階段計劃的重新審查;通過對階段任務(wù)的跟蹤及時調(diào)整階段計劃,隨著偏差的累積,也必然會引起項目經(jīng)理對總體計劃的修訂。因此,可以看出,這三個層次的跟蹤是一個環(huán)環(huán)相扣的過程,互相改進的過程。隨著跟蹤過程的實施,肯定會對項目的順利實施提供很大的幫助,成為項目管理的好助手。
無論是總體跟蹤、階段跟蹤還是任務(wù)跟蹤,其流程都是一樣的,圖3為跟蹤流程圖。
有過項目管理和開發(fā)經(jīng)驗的人都知道,在實際工作中幾乎不可能完全百分之百地按照計劃執(zhí)行,總會有拖延或提前的情況,而且都是在不知不覺中發(fā)生的,其實這是偏差積累到一定程度的爆發(fā)。
在實現(xiàn)中,對實際值與估計值的偏差,設(shè)置了雙線進行控制,即一般預(yù)警線和嚴(yán)重預(yù)警線。這是預(yù)警的兩個狀態(tài),只是輕重不同。當(dāng)達(dá)到一般預(yù)警線后,相關(guān)人員應(yīng)該馬上采取措施,制止拖延的繼續(xù);否則達(dá)到嚴(yán)重預(yù)警線后,后果將是災(zāi)難性的。之所以在系統(tǒng)中設(shè)置雙線,就是為了幫助管理人員及時認(rèn)清項目的當(dāng)前狀態(tài),采取有效措施。如果只有一個預(yù)警狀態(tài),則會使管理人員分不清到底偏離了多少,不知該采取什么樣的措施。所以,采用雙線進行控制,是一個比較好的方法。雙線的值可由用戶根據(jù)具體情況設(shè)置。
在實現(xiàn)中,對實際值與估計值的偏差設(shè)置了四種情況:
(1)正常
偏差值在正負(fù)一般預(yù)警線內(nèi)波動的情況被認(rèn)為是正常情況。雖然也存在偏差,但是在系統(tǒng)允許的正常范圍內(nèi)。如果一有偏差,就發(fā)出警告、修訂計劃,則跟蹤過程不僅不會起到促進項目正常進行的目的,反而會阻礙項目的進行。所以設(shè)置一個正常范圍是十分可取的。項目經(jīng)理、階段負(fù)責(zé)人和任務(wù)負(fù)責(zé)人只要稍加注意,調(diào)整進度即可。
圖3 跟蹤流程圖
(2)提前
偏差值大于正的一般預(yù)警線的值,項目的進度遠(yuǎn)遠(yuǎn)快于計劃。一般來說,人們對項目進行跟蹤主要檢查項目是否拖延。但項目提前也是一種異常情況,此時項目也處于失控狀態(tài),只是導(dǎo)致的后果不像拖延那么嚴(yán)重,所以,有時人們會忽視這種情況。其實在這種情況下,也應(yīng)該發(fā)出警告,提醒項目經(jīng)理、階段負(fù)責(zé)人、質(zhì)量保證人或相關(guān)人員修訂計劃,重新策劃后續(xù)工作,使項目處于控制中。
(3)一般延遲
偏差值在負(fù)的預(yù)警線和負(fù)的底線之間,項目的實際進展落后于計劃,但偏離得又不是很多。這種情況下,向項目經(jīng)理、階段負(fù)責(zé)人、質(zhì)量負(fù)責(zé)人和任務(wù)負(fù)責(zé)人發(fā)出一般延遲的警告,提醒相關(guān)人員注意。這時,相關(guān)負(fù)責(zé)人可以采取適當(dāng)?shù)拇胧?,保證項目順利進行。之所以將拖延的情況分為一般延遲和嚴(yán)重滯后兩種狀態(tài),就是為了及時將實施中的問題報告給相關(guān)人員,使其在開始時就能引起注意。
(4)嚴(yán)重滯后
這是最壞的一種情況,偏差值在負(fù)的底線以外,項目完全處于失控狀態(tài)。這時,向項目經(jīng)理、階段負(fù)責(zé)人、質(zhì)量負(fù)責(zé)人和任務(wù)負(fù)責(zé)人發(fā)出嚴(yán)重延遲的警告。督促其馬上采取措施,修訂計劃,使后續(xù)工作處于可控狀態(tài)。
圖4給出了偏差的四種情況。
圖4 偏差的四種情況
項目跟蹤和控制的目的是通過定期檢查項目計劃的各種指標(biāo)來了解項目的進展情況,并在項目的進展與計劃有較大偏差時,及時做出調(diào)整,使項目回到正常的軌道。項目計劃和跟蹤主要由項目負(fù)責(zé)人進行管理。項目計劃與項目跟蹤是兩個相輔相成的過程,如果沒有計劃,則談不上項目的跟蹤;如果沒有跟蹤,則項目的計劃便得不到落實,起不到應(yīng)有的作用。
[1]CMMI Product Team, CMMI for Acquisition, Version 1.2 CMMI-ACQ,V1.2(CMU/SEI-2007-TR-017).Improving processes for acquiring better products and services.Pittsburgh, PA:Software Engineering Institute, Carnegie Mellon University,2007.