在項(xiàng)目管理過程中,工作量的估算是一個(gè)重要的環(huán)節(jié),直接關(guān)系到項(xiàng)目的成功與失敗。工作量的估算方法有很多,如經(jīng)驗(yàn)估算法,工作分解法,還有就是數(shù)學(xué)模型法等等,但在我們實(shí)際的項(xiàng)目管理過程中,許多著名的估算方法使用起來并不那么靈活、方便,并不一定適合于我們的實(shí)際項(xiàng)目。
在實(shí)際情況中,項(xiàng)目不但耗時(shí)長(zhǎng),而且成功率也很低,其中一個(gè)很重要的原因是對(duì)于需求的工作量評(píng)估沒有一個(gè)具體的依據(jù),很多時(shí)候都是想當(dāng)然的估算一個(gè)數(shù)字,當(dāng)項(xiàng)目開發(fā)過程中來自于需求變更后對(duì)新需求的工作量估計(jì)不足導(dǎo)致產(chǎn)生連鎖反應(yīng),最后失去對(duì)項(xiàng)目的控制。很多項(xiàng)目經(jīng)理對(duì)于項(xiàng)目評(píng)估、管理、控制的能力基本上是來自于項(xiàng)目經(jīng)理本身的從業(yè)經(jīng)驗(yàn),由于各種各樣的原因,項(xiàng)目經(jīng)理更多的是一個(gè)全才,這是在當(dāng)前環(huán)境下,保證項(xiàng)目還能正常運(yùn)行的必然結(jié)果。
本文的目的在于提出一種對(duì)項(xiàng)目總體工作量估算的模型,用于項(xiàng)目經(jīng)理在面對(duì)原始合同進(jìn)行概要設(shè)計(jì),項(xiàng)目進(jìn)行過程中面對(duì)需求變更時(shí)計(jì)算工作量的一種參考依據(jù)。這個(gè)模型的目的是要有效的減少工作量,這并不意味著會(huì)少做事,而是希望引導(dǎo)多做正確的事情。特別是這個(gè)模型也能為提高工作效率指明方向。
要設(shè)計(jì)一個(gè)模型,首先要對(duì)日常工作進(jìn)行全面的分析,抽象出工作的每一個(gè)步驟,對(duì)每個(gè)步驟中所需要用到的知識(shí)進(jìn)行歸納,還需要對(duì)每個(gè)步驟中的復(fù)雜度進(jìn)行評(píng)估。在一個(gè)項(xiàng)目的開發(fā)過程中,在面對(duì)一個(gè)業(yè)務(wù)功能時(shí)首先做的是從需求中設(shè)計(jì)表結(jié)構(gòu),然后為表結(jié)構(gòu)定義各種各樣的關(guān)聯(lián),定義完關(guān)聯(lián)后基本上在大腦內(nèi)形成界面的大致樣子,然后就開始寫代碼。從上面的過程中,大致可以分成下面的兩個(gè)步驟:
1. 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)階段
2. 根據(jù)數(shù)據(jù)結(jié)構(gòu)編寫代碼階段
接下來分析下每個(gè)步驟所用到的知識(shí)。
1. 在數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)階段所使用的知識(shí)分為以下幾個(gè)部分
1) 數(shù)據(jù)庫設(shè)計(jì)知識(shí)
2) 業(yè)務(wù)知識(shí)
2. 在根據(jù)數(shù)據(jù)結(jié)構(gòu)編寫代碼階段所使用的知識(shí)分為以下幾個(gè)部分
1) 數(shù)據(jù)庫操作知識(shí)
2) 后臺(tái)編程語言知識(shí)
3) 前臺(tái)編程語言知識(shí)
4) 業(yè)務(wù)知識(shí)
通過以上的分析可以看到,在第一個(gè)階段所需知識(shí)單一,更多的源自于經(jīng)驗(yàn)。由于所使用知識(shí)比少,當(dāng)需求產(chǎn)生變化時(shí),為變化所花費(fèi)的時(shí)間也比較少。因此可以得出一個(gè)簡(jiǎn)單的結(jié)論,當(dāng)某一個(gè)步驟所需知識(shí)比較單一時(shí),對(duì)該步驟的變更和編碼所需時(shí)間都比較少。
那么可以看到在第二個(gè)階段,所用知識(shí)復(fù)雜,所以必須要對(duì)第二階段進(jìn)行細(xì)分。
在第二階段,通常的做法是,根據(jù)業(yè)務(wù)功能,首先編寫關(guān)于這個(gè)業(yè)務(wù)表的增刪改的代碼,再根據(jù)表之間的關(guān)系寫出數(shù)據(jù)關(guān)系代碼,最后根據(jù)設(shè)計(jì)的界面樣式,編寫界面代碼。在這個(gè)階段也分成以下幾個(gè)步驟:
1. 編寫單表的維護(hù)代碼
2. 編寫該表與其他表的業(yè)務(wù)關(guān)系代碼
3. 編寫界面代碼
同樣的,再來分析下每個(gè)步驟所使用的知識(shí):
1. 在編寫單表的維護(hù)代碼所使用的知識(shí)分為以下幾個(gè)部分
1) 數(shù)據(jù)庫單表操作知識(shí)
2) 后臺(tái)編程語言知識(shí),僅需要知道如何操作數(shù)據(jù)庫
3) 業(yè)務(wù)知識(shí)
2. 在編寫該表與其他表的業(yè)務(wù)關(guān)系代碼所使用的知識(shí)分為以下幾個(gè)部分
1) 數(shù)據(jù)庫多表查詢知識(shí)
2) 后臺(tái)編程語言,這里是根據(jù)業(yè)務(wù)的復(fù)雜度來決定所使用的知識(shí)范圍。
3) 業(yè)務(wù)知識(shí)
3. 在編寫界面代碼所使用的知識(shí)分為以下幾個(gè)部分
1) html知識(shí)2) java