我想大家都遇到過這種情況:
??? 需求不是很明確而且肯定會(huì)變化;
??? 還沒有開始做分析設(shè)計(jì),對(duì)工作量心里沒譜;
??? 上面給了最后期限,卻不給資源……
?
??? 這種情況下,你心里知道風(fēng)險(xiǎn)極大,卻必須接受這個(gè)工作。
????
????記住,你是開發(fā)人員,你的本分是系統(tǒng)實(shí)現(xiàn)——你只應(yīng)該承擔(dān)開發(fā)的風(fēng)險(xiǎn)。
????怎么樣更好地“堅(jiān)守本分”,不干預(yù)你職責(zé)外的風(fēng)險(xiǎn)呢?
??? 其實(shí)有很好的辦法,
本文給出一些建議。
?
?
1. 關(guān)于工作量
??? 工作量是一個(gè)概率!
??? 對(duì)于每個(gè)工作項(xiàng),其完成所需的工作量(人天)都是一個(gè)概率分布
??? 有最小值(但概率幾乎為零)
??? 有可靠值(最可能的情況,概率在80%左右)
??? 沒有最大值(最大值為無(wú)窮,其概率同樣為零)
?
??? 如果估算工作量時(shí)只估算了最小值,并且把這個(gè)值最為依據(jù),那么對(duì)不起,你死定了——大家根據(jù)這個(gè)值盯著你的工作,而你按照這個(gè)時(shí)間表完成的概率幾乎為零。那么項(xiàng)目延期的風(fēng)險(xiǎn)完全由你承擔(dān)。
?
2. 關(guān)于累計(jì)工作量
??? 關(guān)鍵路徑上概率的累計(jì)是每個(gè)工作項(xiàng)概率相乘!
??? 比如關(guān)鍵路徑上有3個(gè)認(rèn)為,其最可能完成的工作量和概率分別為(10人天,70%),(15人天,80%),(9人天,75%)
??? 則使用10+15+9=34人天整個(gè)完成的概率是:70%×80%×75%=42%!
??? 通常關(guān)鍵路徑上會(huì)有10個(gè)以上的工作項(xiàng),即使每個(gè)工作項(xiàng)按照概率90%來(lái)估算工作量,整個(gè)完成的概率也只有0.9^10=53%!
3. 概率來(lái)自哪里?
??? 概率來(lái)自風(fēng)險(xiǎn)!
??? 風(fēng)險(xiǎn)主要來(lái)自需求變化!
4.如何應(yīng)對(duì)
??? 工作量的估算不是簡(jiǎn)單的數(shù)字!
??? 工作量的估算還要考慮風(fēng)險(xiǎn)。最簡(jiǎn)單的辦法是定一個(gè)風(fēng)險(xiǎn)系數(shù)。風(fēng)險(xiǎn)系數(shù)取決于需求不明確,需求可能變化,開發(fā)人員會(huì)生病等等。
??? 比如,
??????? 情況??????????????????????????????????? 風(fēng)險(xiǎn)系數(shù)
??????? ========================
??????? 需求不明確??????????????????????????0.5
??????? 需求可能發(fā)生很大變化????????????????1.5
??????? 需求會(huì)增加很多??????????????????????2--3
?
??? 等等。因?yàn)樽屇銏?bào)工作量的時(shí)候通常沒有給你充分的時(shí)間,所以可以只從需求的確定程度來(lái)風(fēng)險(xiǎn)系數(shù)。
?
??? 最終,最可能的工作量為最小工作量×(1+風(fēng)險(xiǎn)系數(shù))
?
?
??? 整體工作量要加保險(xiǎn)系數(shù)。
??? 由于概率累乘,整體風(fēng)險(xiǎn)還是很大。如果要保證85%以上的可靠性,還要在整體上進(jìn)行調(diào)整。
??? 比如,最后匯總的工作量為200人天,而關(guān)鍵路徑上計(jì)算出的概率為50%,為了保證總體有85%的概率,則
??? 需要的工作量還要增加一個(gè)保險(xiǎn)量,大體上是(?可靠值-?最小值)×0.8
??????????? (根據(jù)概率分布曲線導(dǎo)出,不是很精確,也沒必要精確)。
5.注意事項(xiàng)
???? 使用人天作為工作量的單位
??????????? 2人月很可能被砍到1人月,但40人天通常被砍到30人天。
??????????? 記住每個(gè)月只有22個(gè)工作日。遇到法定假日更少。
???????單個(gè)工作項(xiàng),工作量估算一定要客觀。
??????????? 單個(gè)工作項(xiàng)的工作量很容易估算,不要讓別人挑出問題。
??????????? 如果有問題在風(fēng)險(xiǎn)系數(shù)上做文章。
???????工作量估算和項(xiàng)目計(jì)劃要隨時(shí)更新
??????????? 已完成的工作項(xiàng),不再存在風(fēng)險(xiǎn),同時(shí)實(shí)際完成時(shí)間已經(jīng)確定。
??????????? 需求在逐步確定,風(fēng)險(xiǎn)在逐步降低。
??????????? 有新需求時(shí),加上新的工作項(xiàng)。
??????????? 隨時(shí)估算新的風(fēng)險(xiǎn)可能。
?
?
?
6. 討價(jià)還價(jià)
??? 上面在工作量上討價(jià)還價(jià)時(shí),其實(shí)是在幫我們逐漸確定需求,減少風(fēng)險(xiǎn)。
???????? 比如,
??????? 甲:這個(gè)為什么要用這么長(zhǎng)時(shí)間?
??????? 乙:如果需求能夠確定,那么用的時(shí)間還是很少的,但是現(xiàn)在不確定,風(fēng)險(xiǎn)系數(shù)比較高。
???????? 甲:是嗎?我看看,嗯,這個(gè)功能我們就不做了。
???????? 乙:這樣啊,風(fēng)險(xiǎn)系數(shù)降低到XXX,最可能完成的工作量是XXX。這個(gè)功能不做了嗎?我們簽字確認(rèn)一下?
?
7.實(shí)例
??? 以后有時(shí)間給出一個(gè)實(shí)際的例子。包括快速分析設(shè)計(jì),工作量估算表模板,實(shí)際進(jìn)度中對(duì)工作表的更新等等。
?
?
???????
本人的最新博客遷移到http://thinkinside.tk,使用GitHub Pages建立。
我會(huì)陸續(xù)將所寫的文章遷移過去,并進(jìn)行補(bǔ)充和修正,
歡迎過來(lái)圍觀。