您的位置:軟件測(cè)試 > 軟件項(xiàng)目管理 > 進(jìn)度管理 >
關(guān)鍵路徑法解開軟件開發(fā)進(jìn)度難題
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/10/24 10:03:02 ] 推薦標(biāo)簽:

  這幾天我都在為所負(fù)責(zé)的軟件開發(fā)項(xiàng)目心煩著,因?yàn)檫@個(gè)項(xiàng)目的時(shí)間表遠(yuǎn)遠(yuǎn)滯后于進(jìn)度規(guī)劃。據(jù)Gartner的一項(xiàng)調(diào)研結(jié)果,在軟件開發(fā)項(xiàng)目中有55%的受訪者認(rèn)為他們的開發(fā)進(jìn)度控制是失敗的,有30%的人則認(rèn)為軟件開發(fā)項(xiàng)目延期是家常便飯的事情。為什么會(huì)有這么多的進(jìn)度管理問(wèn)題呢?

  時(shí)間管理是軟件開發(fā)管理中的一個(gè)關(guān)鍵職能,也稱為進(jìn)度管理。它對(duì)于項(xiàng)目控制至關(guān)重要,也是對(duì)項(xiàng)目成本有直接影響的因素之一。因?yàn)榭s短項(xiàng)目的時(shí)間不僅僅是能節(jié)約那些與時(shí)間相關(guān)的成本,而且還可以避免由于延期導(dǎo)致的損失,如賠付延期交付違約金等。本文從軟件開發(fā)項(xiàng)目的時(shí)間管理角度出發(fā),介紹關(guān)鍵路徑法在時(shí)間管理中的應(yīng)用,并提出實(shí)現(xiàn)關(guān)鍵路徑法的步驟和建議。

時(shí)間管理常見的錯(cuò)誤是什么?

  軟件開發(fā)項(xiàng)目延期的原因也許有很多,但肯定有一條的是時(shí)間沒有管理好,這被公認(rèn)稱為是項(xiàng)目延期的第一因素。事實(shí)上,時(shí)間管理究竟是"錯(cuò)在哪里"呢?這個(gè)問(wèn)題通常比技術(shù)或者業(yè)務(wù)問(wèn)題更值得花時(shí)間來(lái)思考。

(1)時(shí)間進(jìn)度表基線制定錯(cuò)誤

  一般來(lái)說(shuō),在軟件開發(fā)中追求的是"如期、如質(zhì)、如預(yù)算"的開發(fā)出適合需求的軟件產(chǎn)品。因此,成功的軟件開發(fā)必須事先制定具有一定的預(yù)見性、前瞻性和切實(shí)可行的時(shí)間進(jìn)度計(jì)劃。項(xiàng)目時(shí)間進(jìn)度基線是指一種基線化的開始日期和結(jié)束日期,它代表著項(xiàng)目細(xì)分后的每個(gè)任務(wù)的預(yù)期開始日期和預(yù)期完成日期。

  一般來(lái)說(shuō),進(jìn)度表基線是使用經(jīng)過(guò)評(píng)審的歷時(shí)估算和資源估算來(lái)構(gòu)建的,該進(jìn)度表也是作為任務(wù)進(jìn)度跟蹤的基線。項(xiàng)目進(jìn)度表可以是總體概覽的,比如項(xiàng)目主進(jìn)度表或者里程碑進(jìn)度表;也可以是明細(xì)的,比如每個(gè)里程碑內(nèi)的詳細(xì)任務(wù)進(jìn)度表。因此,當(dāng)進(jìn)度表基線制定有失誤的時(shí)候,每個(gè)任務(wù)的開始時(shí)間和完成時(shí)間會(huì)產(chǎn)生混亂,嚴(yán)重的時(shí)候還會(huì)在時(shí)間上不能銜接,進(jìn)而會(huì)帶來(lái)資源增加、成本超支等問(wèn)題。事實(shí)上,實(shí)踐經(jīng)驗(yàn)也證明許多軟件開發(fā)項(xiàng)目的延期,是由于在進(jìn)度表基線的時(shí)間規(guī)劃上或多或少的存在著失誤。

(2)錯(cuò)誤的縮短項(xiàng)目非關(guān)鍵路徑時(shí)間

  在軟件開發(fā)過(guò)程中,人們通常會(huì)認(rèn)為如果能縮短項(xiàng)目某些任務(wù)的工期可能會(huì)縮短項(xiàng)目的總工期。例如,某個(gè)工作結(jié)果需要項(xiàng)目團(tuán)隊(duì)花費(fèi)二個(gè)月來(lái)完成,但如果能夠在一個(gè)月內(nèi)完成任務(wù),可能會(huì)大大縮短項(xiàng)目進(jìn)度了。因此,許多項(xiàng)目經(jīng)理及其團(tuán)隊(duì)可能會(huì)使用工期壓縮技術(shù)來(lái)提高某些任務(wù)的進(jìn)度,或通過(guò)給這些任務(wù)分配更多的資源來(lái)縮短工期。

  例如,通過(guò)趕工的方式來(lái)實(shí)現(xiàn)縮短工期。趕工的主要優(yōu)點(diǎn)是可縮短完成項(xiàng)目的時(shí)間,但缺點(diǎn)是通常會(huì)提高項(xiàng)目的總成本。而實(shí)際上,軟件開發(fā)項(xiàng)目通常是一個(gè)迭代的過(guò)程,它不但需要規(guī)劃好項(xiàng)目每一個(gè)任務(wù)的開始和結(jié)束時(shí)間,而且還需要做好任務(wù)上下之間、前后順序和關(guān)聯(lián)之間的銜接。因?yàn)槿绻ㄟ^(guò)趕工只是縮短了非關(guān)鍵路徑上的任務(wù),并不會(huì)縮短項(xiàng)目的開發(fā)時(shí)間,而只會(huì)是提高了開發(fā)成本。

(3)沒有明確的時(shí)間管理,極易產(chǎn)生"拖延綜合癥"

  所有的項(xiàng)目工作都是通過(guò)人來(lái)實(shí)施的,如果不考慮人的因素,時(shí)間管理目標(biāo)通常會(huì)失控和很難實(shí)現(xiàn)的。也是說(shuō),成功的時(shí)間管理需要考慮人的一些內(nèi)在因素,包括人的工作習(xí)慣或者天性。因?yàn)槿说牧?xí)慣和天性也是造成項(xiàng)目工期拖延的原因之一。例如,在我們的日常工作中經(jīng)常會(huì)碰到這樣一種現(xiàn)象,比如要提交一份報(bào)告,通常需要三天時(shí)間。但在多數(shù)情況下,員工可能會(huì)在第三天才開始寫這份報(bào)告。也是說(shuō),他把前面兩天時(shí)間安排去做其它工作了,從第三天才開始寫。這樣一來(lái),他的報(bào)告不可能如期完成,即使靠加班加點(diǎn)如期完成也嚴(yán)重影響了報(bào)告質(zhì)量。我們把這種情況稱之為"拖延綜合癥"。

  有統(tǒng)計(jì)表明,如果沒有明確的開始時(shí)間,會(huì)在項(xiàng)目和工作中極易形成"拖延綜合癥"。這也稱為帕金森定律(Parkinson's Law),它是指工作總是拖延到它所能夠允許遲完成的那。因此,如果沒有明確的時(shí)間觀念或忽視了"拖延綜合癥",后都是會(huì)造成項(xiàng)目延期,或者是勉強(qiáng)按期完成任務(wù)。

什么是時(shí)間管理的關(guān)鍵路徑法?

  時(shí)間管理是軟件開發(fā)項(xiàng)目管理一個(gè)重要的內(nèi)容,因此必須要使用高效的工具來(lái)確保時(shí)間受到控制,關(guān)鍵路徑法是其中一種常用的工具。正所謂:向關(guān)鍵路徑要時(shí)間,向非關(guān)鍵路徑要資源。

(1)什么是關(guān)鍵路徑法?

  關(guān)鍵路徑法(Critical Path Method, CPM)早出現(xiàn)于20世紀(jì)50年代,它是一種基于數(shù)學(xué)計(jì)算的時(shí)間規(guī)劃管理方法,是網(wǎng)絡(luò)圖計(jì)劃方法的一種。它是時(shí)間管理中很實(shí)用的一種方法,廣泛地用于項(xiàng)目進(jìn)度分析和時(shí)間管理。一般來(lái)說(shuō),在項(xiàng)目管理中關(guān)鍵路徑法是上連著WBS(工作分解結(jié)構(gòu)),下連著執(zhí)行進(jìn)度控制與監(jiān)督。因此,一般是用它來(lái)預(yù)測(cè)整個(gè)項(xiàng)目的工期,和幫助項(xiàng)目主管防止項(xiàng)目進(jìn)度超期。

  關(guān)鍵路徑法是將項(xiàng)目分解成多個(gè)獨(dú)立的活動(dòng)并確定每個(gè)活動(dòng)的工期,然后用邏輯關(guān)系(結(jié)束-開始、結(jié)束-結(jié)束、開始-開始和開始結(jié)束)按照活動(dòng)的關(guān)系形成順序的網(wǎng)絡(luò)邏輯圖,從而計(jì)算出項(xiàng)目的工期和各個(gè)活動(dòng)的時(shí)間特點(diǎn)(早晚時(shí)間、時(shí)差)等。它是通過(guò)確定網(wǎng)絡(luò)圖中的每一條路線的起始時(shí)間到結(jié)束時(shí)間,從而找出工期長(zhǎng)的線路。也是說(shuō),整個(gè)項(xiàng)目工期的決定是由長(zhǎng)的線路來(lái)決定的。有一些人認(rèn)為關(guān)鍵路徑包括的都是重要的活動(dòng),然而關(guān)鍵路徑關(guān)心的只是項(xiàng)目的時(shí)間維,它的名字中包含"關(guān)鍵"并不意味著它包含所有的關(guān)鍵的重要活動(dòng)。因?yàn)閷?duì)于一個(gè)項(xiàng)目而言,在項(xiàng)目中通常有多個(gè)任務(wù)同時(shí)進(jìn)行,只有項(xiàng)目網(wǎng)絡(luò)中長(zhǎng)的或耗時(shí)多的活動(dòng)完成之后,項(xiàng)目才能結(jié)束,這條長(zhǎng)的活動(dòng)路線才叫關(guān)鍵路徑,組成關(guān)鍵路徑的活動(dòng)才稱為關(guān)鍵活動(dòng)。

(2)關(guān)鍵路徑?jīng)Q定著項(xiàng)目工期

  一般來(lái)說(shuō),關(guān)鍵路徑上的持續(xù)時(shí)間是決定著項(xiàng)目的工期,因?yàn)殛P(guān)鍵路徑上所有活動(dòng)的持續(xù)時(shí)間總和是項(xiàng)目的工期。關(guān)鍵路徑上的任何一個(gè)活動(dòng)都是關(guān)鍵活動(dòng),其中任何一個(gè)活動(dòng)的延遲都會(huì)導(dǎo)致整個(gè)項(xiàng)目完工時(shí)間的延遲。關(guān)鍵路徑上的耗時(shí)是可以完工的短時(shí)間量,若縮短關(guān)鍵路徑的總耗時(shí),則會(huì)縮短項(xiàng)目的工期;反之,則會(huì)延長(zhǎng)整個(gè)項(xiàng)目的總工期。但是如果縮短非關(guān)鍵路徑上的各個(gè)活動(dòng)所需要的時(shí)間,則不會(huì)影響項(xiàng)目的完工時(shí)間。

  簡(jiǎn)單的說(shuō),關(guān)鍵路徑上的活動(dòng)是總時(shí)差小的活動(dòng),若改變其中某個(gè)活動(dòng)的耗時(shí),則可能使關(guān)鍵路徑發(fā)生變化。所以,關(guān)鍵路徑是相對(duì)的,是可以變化的。在采取一定的技術(shù)措施之后,關(guān)鍵路徑有可能變?yōu)榉顷P(guān)鍵路徑,而非關(guān)鍵路徑也有可能變?yōu)殛P(guān)鍵路徑。計(jì)算關(guān)鍵路徑可以用正推法計(jì)算出每項(xiàng)活動(dòng)的早開始和早結(jié)束時(shí)間,用逆推法計(jì)算每項(xiàng)活動(dòng)的遲開始和遲結(jié)束時(shí)間,從而可以確定每一項(xiàng)活動(dòng)是否具有浮動(dòng)時(shí)間。如果浮動(dòng)時(shí)間不為零,也是說(shuō)這項(xiàng)工作不是位于關(guān)鍵線路上,它是具有浮動(dòng)時(shí)間的。

  綜合來(lái)說(shuō),關(guān)鍵路徑法的優(yōu)點(diǎn)是能為項(xiàng)目及其主要活動(dòng)提供了圖形化的顯示,這些量化的信息為識(shí)別潛在的項(xiàng)目延遲風(fēng)險(xiǎn)提供極其重要的依據(jù)。例如,使用關(guān)鍵路徑分析可使進(jìn)度均衡。因?yàn)楫?dāng)項(xiàng)目經(jīng)理知道了關(guān)鍵路徑上的一個(gè)任務(wù)會(huì)落后于預(yù)期進(jìn)度時(shí),他可能會(huì)給關(guān)鍵路徑上的其它任務(wù)分配更多資源來(lái)彌補(bǔ)時(shí)間;或通過(guò)跟蹤關(guān)鍵路徑,以判斷是否需要采取積極主動(dòng)的行動(dòng)來(lái)達(dá)到預(yù)期目標(biāo)。

如何應(yīng)用關(guān)鍵路徑法優(yōu)化時(shí)間管理?

  關(guān)鍵路徑表示完成項(xiàng)目的短時(shí)間。如果關(guān)鍵路徑上的一個(gè)或者多個(gè)活動(dòng)比預(yù)期計(jì)劃要長(zhǎng),除非采取修正行動(dòng)否則項(xiàng)目進(jìn)度將會(huì)延后。因此,在軟件開發(fā)時(shí)間管理中,控制進(jìn)度表的基本思想是在一個(gè)龐大的網(wǎng)絡(luò)圖中找出關(guān)鍵路徑,并對(duì)各關(guān)鍵活動(dòng)優(yōu)先安排資源以盡量壓縮需要的時(shí)間。而對(duì)非關(guān)鍵路徑的各個(gè)活動(dòng),只要在不影響完工時(shí)間的條件下,抽出適當(dāng)?shù)娜肆Α⑽锪拓?cái)力等資源,用在關(guān)鍵路徑上以達(dá)到縮短工程工期。

(1)關(guān)鍵任務(wù)的定義和時(shí)間估算

  為了找出項(xiàng)目的關(guān)鍵路徑,必須首先要設(shè)計(jì)好網(wǎng)絡(luò)圖。因此,第一步是在開發(fā)范圍內(nèi)用WBS(工作分解結(jié)構(gòu))把所有工作分解成小任務(wù)。這個(gè)過(guò)程的輸出是任務(wù)清單和里程碑清單,需要注意的是這些清單不僅僅是要列出有哪些任務(wù)和有哪些里程碑,而是任務(wù)還要有含持續(xù)時(shí)間或具體的時(shí)間工期等信息。因?yàn)殛P(guān)鍵任務(wù)的另一個(gè)屬性是時(shí)間屬性,這在時(shí)間管理中是非常重要的。一般來(lái)說(shuō),任務(wù)的持續(xù)時(shí)間估算是一個(gè)復(fù)雜的估算過(guò)程,因?yàn)橛泻芏嘁蛩囟紩?huì)影響到任務(wù)的持續(xù)時(shí)間,如工作效率水平,投入的資源數(shù)量等。

(2)評(píng)估任務(wù)的優(yōu)先級(jí)

  根據(jù)優(yōu)先級(jí)為每個(gè)任務(wù)建立相對(duì)重要性是核心的一步。因?yàn)樵谲浖_發(fā)中事情會(huì)是非常多,不可能平均分配時(shí)間。如果經(jīng)常出現(xiàn)時(shí)間被次要工作過(guò)度占用,這會(huì)是很糟糕的情況。因此,相應(yīng)的根據(jù)緊急程度把任務(wù)涂成綠色、黃色和紅色,意味著不僅可以很容易的區(qū)分項(xiàng)目?jī)?nèi)和項(xiàng)目間的任務(wù)優(yōu)先權(quán),而且也可以很明確的分配時(shí)間資源。另外,評(píng)估任務(wù)的優(yōu)先級(jí)也會(huì)把時(shí)間管理觀念推廣到團(tuán)隊(duì)的各個(gè)層次。不但可以確保工作在合適的時(shí)間內(nèi)完成,而且還不需要管理層經(jīng)常性的提醒和干預(yù)。所以,明確任務(wù)的優(yōu)先級(jí)是影響非常大的一個(gè)步驟,因?yàn)樗艽蟠蟾纳圃诙嘀厝蝿?wù)中時(shí)間資源的分配效率。

(3)關(guān)鍵任務(wù)的排序和路徑計(jì)算

  關(guān)鍵任務(wù)的排序是根據(jù)任務(wù)的前后和依賴關(guān)系形成網(wǎng)絡(luò)圖。簡(jiǎn)單地說(shuō),是我們要找出耗時(shí)多的活動(dòng)序列組成的路徑。因?yàn)檎页隽岁P(guān)鍵路徑后,我們可以預(yù)測(cè)項(xiàng)目的工時(shí),終確定項(xiàng)目的工期。這里需要提醒的是,只有在考慮到資源平衡和資源日歷后的任務(wù)網(wǎng)絡(luò)圖才會(huì)是一個(gè)有價(jià)值的進(jìn)度表。因此,在存在可預(yù)見風(fēng)險(xiǎn)的路徑點(diǎn)上,事前一定要進(jìn)行資源優(yōu)化,以防止項(xiàng)目超期。

(4)監(jiān)督和檢查進(jìn)度表的實(shí)施

  一般來(lái)說(shuō),在網(wǎng)絡(luò)圖上計(jì)算關(guān)鍵路徑后會(huì)形成進(jìn)度表。然后,我們通過(guò)監(jiān)督和檢查進(jìn)度表與實(shí)際情況的比較,能很方便的使項(xiàng)目時(shí)間受控了。例如,通過(guò)趕工或快速跟進(jìn)的方式對(duì)滯后的進(jìn)度進(jìn)行壓縮,以使進(jìn)度表受控,從而也使到項(xiàng)目時(shí)間得到控制。

關(guān)鍵詞閱讀
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd