軟件外包項(xiàng)目中的進(jìn)度管理

字號(hào):

案例
    A公司是一家美資軟件公司在華辦事機(jī)構(gòu),其主要的目標(biāo)是開(kāi)拓中國(guó)市場(chǎng)、服務(wù)中國(guó)客戶,做一些本地化和客戶化的工作。它的主要軟件產(chǎn)品是由總部在硅谷的軟件開(kāi)發(fā)基地完成,然后由世界各地的分公司或辦事機(jī)構(gòu)進(jìn)行客戶化定制、二次開(kāi)發(fā)和系統(tǒng)維護(hù)。這些工作除了日常銷售和系統(tǒng)核心維護(hù)之外,都是外包給本地的軟件公司來(lái)做。東方公司是A公司在中國(guó)的合作伙伴,主要負(fù)責(zé)軟件的本地化和測(cè)試工作。
    Bob先生是A公司中國(guó)地區(qū)的負(fù)責(zé)人,Henry則是剛剛加入A公司的負(fù)責(zé)此外包項(xiàng)目的項(xiàng)目經(jīng)理。東方公司是由William負(fù)責(zé)開(kāi)發(fā)和管理工作,William本身是技術(shù)人員,并沒(méi)有項(xiàng)目管理的經(jīng)驗(yàn)。
    當(dāng)Henry接手這項(xiàng)工作后,發(fā)現(xiàn)東方公司的項(xiàng)目開(kāi)發(fā)成本非常高,每人每天130美金,但客戶的滿意度較差,并且每次開(kāi)發(fā)進(jìn)度都要拖后,交付使用的版本也不盡如人意。而且,東方公司和A公司硅谷開(kāi)發(fā)總部缺乏必要的溝通,只能把問(wèn)題反饋給Henry,由Henry再反饋給總部。但由于Henry本身并不熟悉這個(gè)軟件的開(kāi)發(fā)工作,也造成了很多不必要的麻煩。
    為此,Bob希望Henry和William用項(xiàng)目管理的方法對(duì)該項(xiàng)目進(jìn)行管理和改進(jìn)。隨后,Henry和William召開(kāi)了一系列的會(huì)議,提出了新的做法。
    首先,他們制定了詳細(xì)的項(xiàng)目計(jì)劃和進(jìn)度計(jì)劃;其次,成立了單獨(dú)的測(cè)試小組,將軟件的開(kāi)發(fā)和測(cè)試分開(kāi);并且,在硅谷和東方公司之間建立了一個(gè)新的溝通渠道,一些軟件問(wèn)題可以與總部直接溝通;同時(shí),還采用了里程碑管理。
    六個(gè)月后,軟件交付使用。但是客戶對(duì)這個(gè)版本還是不滿意,認(rèn)為還有很多問(wèn)題。為什么運(yùn)用了項(xiàng)目管理的方法,這個(gè)項(xiàng)目還是沒(méi)有得到改善?
    Henry和William又進(jìn)行了反復(fù)探討,發(fā)現(xiàn)主要有三個(gè)方面問(wèn)題:1、軟件本地化產(chǎn)生的問(wèn)題并不多,但A公司提供的底層軟件本身存在一些問(wèn)題;2、軟件的界面也存在一些問(wèn)題,這是由于測(cè)試的項(xiàng)目不夠詳細(xì)引起的;3、開(kāi)發(fā)的周期還是太短,沒(méi)有時(shí)間完成一些項(xiàng)目的調(diào)試,所以新版本還是有許多的問(wèn)題。
    此時(shí),Henry向Bob提出是否采用公開(kāi)招標(biāo)的方式,選擇新的、實(shí)力更強(qiáng)的合作伙伴。但Bob認(rèn)為,與東方公司合作時(shí)間已經(jīng)很長(zhǎng)了,如果選擇新的伙伴又需要較長(zhǎng)的適應(yīng)期,而且成本可能會(huì)更高。于是,Henry向東方公司提出一些新的管理建議。首先,他們采用大量的歷史數(shù)據(jù)進(jìn)行分析,制定出更詳細(xì)的進(jìn)度計(jì)劃;其次,要求東方公司提供詳細(xì)的開(kāi)發(fā)文檔和測(cè)試文檔(之前William的團(tuán)隊(duì)做的工作沒(méi)有任何文檔,給其他工作帶來(lái)了很多困難);第三,重新審核開(kāi)發(fā)周期,對(duì)里程碑進(jìn)行細(xì)化。
    又過(guò)了六個(gè)月,新的版本完成了。這一次,客戶對(duì)它的評(píng)價(jià)比前兩個(gè)版本高得多,基本上達(dá)到項(xiàng)目運(yùn)行的要求。但客戶還是對(duì)項(xiàng)目進(jìn)度提出了疑問(wèn),認(rèn)為實(shí)時(shí)推出換代產(chǎn)品不需要那么長(zhǎng)的時(shí)間。
    軟件外包是現(xiàn)在軟件工程中較常見(jiàn)的做法。在軟件外包工程中,保證質(zhì)量的進(jìn)度是很難控制的。對(duì)于項(xiàng)目經(jīng)理來(lái)說(shuō)需要一整套復(fù)雜的能力,比如制定計(jì)劃、確定優(yōu)先順序、干系人的溝通、評(píng)價(jià)等,每一種能力都與項(xiàng)目的最終結(jié)果有直接或者間接的關(guān)系。
    然而,國(guó)內(nèi)的項(xiàng)目經(jīng)理大多沒(méi)有接受過(guò)正規(guī)訓(xùn)練,缺乏項(xiàng)目管理方面的專業(yè)知識(shí)的技巧,往往只是憑借以前的少量經(jīng)驗(yàn)盲目去做,容易出現(xiàn)各種問(wèn)題。尤其是在管理外包項(xiàng)目時(shí),缺乏足夠的經(jīng)驗(yàn)和技巧,往往造成進(jìn)度不斷推遲,而質(zhì)量無(wú)法保證的情況。
    前文是一個(gè)比較典型的軟件外包項(xiàng)目的案例。在這個(gè)案例中,我們可以看到現(xiàn)在IT業(yè)內(nèi)許多外包項(xiàng)目的影子。
    在該案例中,東方公司沒(méi)有專門(mén)的項(xiàng)目經(jīng)理,是由技術(shù)人員William兼做管理。這是國(guó)內(nèi)軟件公司經(jīng)常會(huì)出現(xiàn)的問(wèn)題。最初,出現(xiàn)進(jìn)度落后的問(wèn)題時(shí),A公司的Henry與東方公司的William討論后決定采用項(xiàng)目管理中計(jì)劃管理等手段,其中包括里程碑管理。這是控制進(jìn)度的較常見(jiàn)做法。
    里程碑管理的引入
    一般來(lái)說(shuō),在項(xiàng)目開(kāi)始時(shí),項(xiàng)目組成員都會(huì)對(duì)項(xiàng)目制定一個(gè)詳細(xì)的計(jì)劃。通常情況下,在明確的工作說(shuō)明書(shū)(SOW)和WBS的基礎(chǔ)上制定具體的進(jìn)度計(jì)劃時(shí),需要采用一些具體的技術(shù)。像這種軟件外包項(xiàng)目,最成熟的技術(shù)是里程碑管理。
    里程碑一般是項(xiàng)目中完成階段性工作的標(biāo)志。不同類型的項(xiàng)目,里程碑也不同。比如,在開(kāi)發(fā)項(xiàng)目中,可以將需求的最終確認(rèn)、產(chǎn)品移交等關(guān)鍵任務(wù)作為項(xiàng)目的里程碑。本案例中,Henry在接手項(xiàng)目后采用里程碑進(jìn)行管理是很恰當(dāng)?shù)摹?BR>    不過(guò),要注意的是,每到一個(gè)里程碑處,應(yīng)及時(shí)對(duì)前段工作進(jìn)行小結(jié),并對(duì)后續(xù)工作進(jìn)行計(jì)劃調(diào)整。對(duì)于一些管理效果明顯的領(lǐng)域,可以不必投入較多精力。而對(duì)于下一步管理過(guò)程中可能會(huì)出現(xiàn)問(wèn)題的領(lǐng)域,應(yīng)給予較多的關(guān)注。當(dāng)然,在軟件項(xiàng)目里,進(jìn)度的變化是較常見(jiàn)的事情。
    在本案例中,采用里程碑管理后仍沒(méi)有達(dá)到客戶的要求,進(jìn)度依然拖后。在這里,就需要考慮另一個(gè)因素—質(zhì)量與進(jìn)度的關(guān)系。
    質(zhì)量與進(jìn)度關(guān)系
    通常,項(xiàng)目管理的前提是保證在預(yù)算內(nèi)、滿足質(zhì)量的前提下,按進(jìn)度完成項(xiàng)目。因此,可以看到,保證質(zhì)量是前提。那么,如何在滿足質(zhì)量的前提下管理進(jìn)度呢?單純從項(xiàng)目管理理論知識(shí)中并沒(méi)有一種有效的方式。筆者通過(guò)實(shí)踐,推薦一種較實(shí)用的方法。具體步驟為:
    首先,盡量利用歷史數(shù)據(jù)。在本案例中,Henry應(yīng)該調(diào)查之前的項(xiàng)目情況,將會(huì)發(fā)現(xiàn)可以類比的情況,事先就可以知道需要管理質(zhì)量和進(jìn)度的關(guān)系。
    其次,由于此項(xiàng)目是軟件外包項(xiàng)目,Henry不能完全掌握項(xiàng)目的資源調(diào)度情況,因此缺乏對(duì)質(zhì)量的控制。這也是大多數(shù)外包工程中最令人難以掌握的地方。在這里,可以采用對(duì)進(jìn)度管理計(jì)劃添加質(zhì)量參數(shù)的方法,也就是通過(guò)參數(shù)調(diào)整進(jìn)度和質(zhì)量的關(guān)系。
    這一做法的前提是要有一定的歷史數(shù)據(jù)。比如,從歷史數(shù)據(jù)中得知,完成子項(xiàng)目的時(shí)間是5天,測(cè)試后有15個(gè)問(wèn)題;完成同樣子項(xiàng)目的時(shí)間是7天,測(cè)試后有10個(gè)問(wèn)題;完成同樣子項(xiàng)目的時(shí)間是8天,測(cè)試后有5個(gè)問(wèn)題,……以此類推。
    
    隨著數(shù)據(jù)的不斷增多的,采用兩維坐標(biāo)圖,就會(huì)得到一些離散的點(diǎn)(不考慮資源的差異),并形成一條曲線,見(jiàn)圖1??紤]項(xiàng)目允許的質(zhì)量范圍,對(duì)照?qǐng)D中的數(shù)據(jù),找出相應(yīng)的參數(shù)。根據(jù)得到的參數(shù),確定一個(gè)合適的進(jìn)度計(jì)劃。
    進(jìn)度與成本的關(guān)系
    在本案例中,Henry發(fā)現(xiàn)東方公司進(jìn)度一直拖后,成本卻居高不下。這里就需要了解軟件外包項(xiàng)目中進(jìn)度與成本的關(guān)系。很多時(shí)候,此類工程大多采用固定總價(jià)合同。但由于軟件項(xiàng)目的修改比較多,實(shí)際上此類合同很像是固定總價(jià)加獎(jiǎng)勵(lì)費(fèi)用,其中獎(jiǎng)勵(lì)費(fèi)用一般會(huì)采用單價(jià)合同,即若干元/人天的合同,也就是說(shuō),承包商的成本是建立在人力成本估算上的。這樣,一些承包商會(huì)傾向于拖延進(jìn)度(或者減少實(shí)際投入,造成質(zhì)量下降)。因此,項(xiàng)目經(jīng)理需要了解整個(gè)合同的情況,參與合同的制定。在此案例中,Henry試圖通過(guò)引入競(jìng)爭(zhēng)來(lái)提高整個(gè)項(xiàng)目的效率,滿足項(xiàng)目目標(biāo),也是出于同樣的原因。尤其值得注意的是,有時(shí)候,出于競(jìng)爭(zhēng)的需要,承包商會(huì)提供低廉的價(jià)格,此時(shí)對(duì)于進(jìn)度管理更應(yīng)該謹(jǐn)慎和完善。
    還要指出的一點(diǎn)是,要對(duì)學(xué)習(xí)曲線有深刻地認(rèn)識(shí)。在軟件開(kāi)發(fā)工程中,學(xué)習(xí)曲線(learning curve)有很大的用途。通常情況,承包商在接到同樣類型的軟件項(xiàng)目后,第二次會(huì)比第一次節(jié)省15%-20%的時(shí)間。項(xiàng)目經(jīng)理要了解一下以前類似項(xiàng)目的情況。