信息系統(tǒng)建設(shè) 是智力密集、勞動(dòng)密集型項(xiàng)目,受人力資源影響最大,項(xiàng)目成員的結(jié)構(gòu)、責(zé)任心、能力和穩(wěn)定性對(duì)項(xiàng)目的質(zhì)量以及是否成功有著決定性的影響。人在信息系統(tǒng)項(xiàng)目中既是成本,又是資本。一般來說,人力成本占信息系統(tǒng)項(xiàng)目成本構(gòu)成的主要部分,這就要求我們從成本角度去衡量人力資源,盡量使人力資源的投入最小、產(chǎn)出最大。
在項(xiàng)目開發(fā)中,人越多越好嗎?當(dāng)項(xiàng)目進(jìn)度延遲時(shí),是否應(yīng)該增加人力投入?效果如何?會(huì)不會(huì)越幫越忙?這些問題是人力計(jì)劃要解決的。
制定信息系統(tǒng)項(xiàng)目的人力計(jì)劃,主要基于工作量和進(jìn)度預(yù)估。一般來講,工作量與項(xiàng)目總時(shí)間的比值就是理論上所需的人力數(shù)。但選取和分配人力有許多值得研究的問題。許多學(xué)者從軟件工程的角度提出了一些思路,比如“人員——進(jìn)度權(quán)衡定律”,信息系統(tǒng)項(xiàng)目可以此為參照,從項(xiàng)目管理的角度分析人力資源的平衡情況。
可借鑒的經(jīng)驗(yàn)1.人員——進(jìn)度權(quán)衡定律
著名學(xué)者Putnam在估算軟件開發(fā)工作量時(shí)得出公式:E=L3(C3Rt4d),其中E表示工作量,L表示源代碼行數(shù),Ck表示技術(shù)狀態(tài)常數(shù),td表示開發(fā)時(shí)間。在這里,工作量的單位是人年,進(jìn)度的單位是年。從公式中可知,軟件開發(fā)項(xiàng)目的工作量(E)與交付時(shí)間(td)的4次方成反比,顯然,軟件開發(fā)過程中人員與時(shí)間的折衷是十分重要的問題。Putnam將這一結(jié)論稱為“軟件開發(fā)的權(quán)衡定律”。
我們知道,信息系統(tǒng)項(xiàng)目的建設(shè)時(shí)間主要取決于應(yīng)用軟件的開發(fā)時(shí)間,我們將這種人員與進(jìn)度之間的非線性替代關(guān)系稱為“人員——進(jìn)度權(quán)衡定律”。
2.Brooks定律
曾擔(dān)任IBM公司操作系統(tǒng)項(xiàng)目經(jīng)理的F.Brooks,從大量的軟件開發(fā)實(shí)踐中得出了另一條結(jié)論:“向一個(gè)已經(jīng)拖延的項(xiàng)目追加開發(fā)人員,可能使它完成得更晚”。鑒于這一發(fā)現(xiàn)的重要性,許多文獻(xiàn)稱之為Brooks定律。這里,Brooks從另一個(gè)角度說明了“時(shí)間與人員不能線性互換”這一原則。
對(duì)上述兩個(gè)定律的合理解釋是,當(dāng)開發(fā)人員以算術(shù)級(jí)數(shù)增長時(shí),人員之間的通信將以幾何級(jí)數(shù)增長,從而可能導(dǎo)致“得不償失”的結(jié)果。一般說來,由N個(gè)開發(fā)人員組成的小組要完成既定的工作,相互之間的通信路徑總數(shù)為C2N=N(N-1)/2,而通信是需要時(shí)間的。所以,當(dāng)新的開發(fā)人員加入項(xiàng)目組之后,原有的開發(fā)人員必須向新來的成員詳細(xì)講解某個(gè)活動(dòng)或工作包的來龍去脈。由于信息系統(tǒng)開發(fā)具有較強(qiáng)的個(gè)人風(fēng)格,所以交流溝通的時(shí)間更容易拉長,而后來者還不一定能達(dá)到原來開發(fā)人員的工作質(zhì)量。
3.用做人力計(jì)劃的Rayleigh-Norden曲線
圖1是IS項(xiàng)目不同開發(fā)階段的人力分配經(jīng)驗(yàn)?zāi)P?。圖中以橫坐標(biāo)表示距開發(fā)起點(diǎn)的時(shí)間,縱坐標(biāo)代表在不同時(shí)間點(diǎn)需要的人力。虛線畫出的矩形顯示了平均使用人力所造成的問題:開始階段人力過剩,造成浪費(fèi)(①),到開發(fā)后期需要人力時(shí),又顯得人手不足(②),以后再來補(bǔ)償,已為時(shí)過晚(③),甚至可能如Brooks定律所說,導(dǎo)致越幫越忙的結(jié)果。
圖1 用做人力計(jì)劃的Rayleigh-Norden曲線
如何平衡人力計(jì)劃? 信息系統(tǒng)項(xiàng)目的人力分配大致符合Rayleigh-Norden曲線分布,呈現(xiàn)出前后用人少、中間用人多的狀況。然而,信息系統(tǒng)開發(fā)人員并不是想找就能找到的。因此,在制定人力資源計(jì)劃時(shí),就要在基本按照上述曲線配備人力的同時(shí),盡量使某個(gè)階段的人力穩(wěn)定,并確保整個(gè)項(xiàng)目期人員的波動(dòng)不要太大。我們稱這一過程為“人力資源計(jì)劃的平衡” 。
下面舉例說明人力資源計(jì)劃平衡的方法。假設(shè)有一個(gè)學(xué)籍信息管理系統(tǒng)已經(jīng)立項(xiàng),由于系統(tǒng)較小,準(zhǔn)備采用原型法開發(fā),并擬定了一個(gè)帶有各子活動(dòng)工期和人力需求的網(wǎng)絡(luò)圖(圖2)。我們假設(shè)參加這個(gè)項(xiàng)目的所有成員都是多面手,也就是說,項(xiàng)目成員之間是可以相互替代的。
圖2 人力資源需求網(wǎng)絡(luò)圖
如果不采用項(xiàng)目管理方法,一般人們都希望各項(xiàng)活動(dòng)盡早開始、盡早結(jié)束。現(xiàn)在我們就假設(shè)網(wǎng)絡(luò)圖中每一活動(dòng)在其最早開始時(shí)間執(zhí)行,基于此,我們可以繪制相應(yīng)的人力資源分配圖(圖3)。
圖3 基于活動(dòng)最早開始時(shí)間的人力資源計(jì)劃圖
從圖3(a)中可以看出,開發(fā)學(xué)籍信息系統(tǒng)項(xiàng)目總共需要13周,總工作量為33人周;從圖3(b)中可以看出,前三周需要4個(gè)開發(fā)人員,第4、5周需要3個(gè)開發(fā)人員,第6至12周只需要2個(gè)開發(fā)人員,第13周需要一個(gè)開發(fā)人員。顯然,該項(xiàng)目的人力需求波動(dòng)較大。為了使人力資源盡可能地平衡,我們考察該項(xiàng)目的網(wǎng)絡(luò)圖,從圖2中可以看出,該項(xiàng)目的關(guān)鍵路徑是原型法軟件開發(fā)、系統(tǒng)測(cè)試與轉(zhuǎn)換以及文檔寫作三項(xiàng)活動(dòng),其他活動(dòng)都處于非關(guān)鍵路徑上。因此我們可以將設(shè)備采購活動(dòng)推遲在第6周開始,這樣就得到調(diào)整后的人力資源分配圖(圖4)。 圖4 基于資源平衡的人力計(jì)劃圖
從圖4(a)中可以看出,學(xué)籍信息系統(tǒng)項(xiàng)目總共還是需要13周的時(shí)間,總工作量仍為33人周,也就是說,雖然調(diào)整了人力資源分配,但并未影響進(jìn)度;從圖4(b)中可以看出,前八周需要3個(gè)開發(fā)人員,第9至12周只需要2個(gè)開發(fā)人員,第13周需要一個(gè)開發(fā)人員。顯然,相對(duì)圖3(b)來講,調(diào)整后該項(xiàng)目的人力需求波動(dòng)較小。
需要解釋的是,由于采用原型法開發(fā)該項(xiàng)目,系統(tǒng)調(diào)研、原型制作和原型改造都在項(xiàng)目前期進(jìn)行,需要的人力較多,所以是直接從Rayleigh-Norden曲線分布的中部開始。從這個(gè)意義上看,本項(xiàng)目的人力使用也基本遵循上述曲線的分布。