空泛的估算
編程人員有時(shí)和廚師一樣,某項(xiàng)任務(wù)的計(jì)劃進(jìn)度顾瞻,受限制與客戶(hù)要求的緊迫程度,然而緊迫程度并不能控制實(shí)際完成的情況德绿。
例如荷荤,約定兩分鐘內(nèi)煎完一個(gè)雞蛋,看上去簡(jiǎn)單移稳,但實(shí)際上它無(wú)法在兩分鐘內(nèi)完成蕴纳,顧客只能選擇等待或者吃生雞蛋。廚師的另一個(gè)選擇是把火開(kāi)大秒裕,不過(guò)結(jié)果常常是得到一個(gè)更糟糕的煎蛋袱蚓。
為了滿(mǎn)足顧客期望而造成的不合理進(jìn)度安排,在軟件領(lǐng)域中非常普遍几蜻。不科學(xué)的估算方法喇潘,少的可憐的數(shù)據(jù)支持,完全憑借產(chǎn)品經(jīng)理直覺(jué)的判斷梭稚,這樣的方式很難得出有力颖低、可靠、低風(fēng)險(xiǎn)的評(píng)估弧烤。
顯然忱屑,我們有兩種解決方案:
- 采用科學(xué)的方法,例如生產(chǎn)率圖表暇昂、缺陷率圖表莺戒、估算規(guī)則等
- 項(xiàng)目經(jīng)理挺直腰桿,堅(jiān)持他們的估計(jì)急波,確信自己的經(jīng)驗(yàn)比客戶(hù)期望進(jìn)度要強(qiáng)得多
可是从铲,我們對(duì)自己的估計(jì)不確定,因此在管理和客戶(hù)的壓力下澄暮,我們常常缺乏堅(jiān)持的勇氣名段。
重復(fù)產(chǎn)生的進(jìn)度災(zāi)難
當(dāng)一個(gè)周期4個(gè)月的項(xiàng)目阱扬,在第2個(gè)月的節(jié)點(diǎn)上進(jìn)度沒(méi)有達(dá)到要求,此時(shí)項(xiàng)目經(jīng)理可以做些什么呢:
- 假設(shè)任務(wù)必須按時(shí)完成伸辟,整體進(jìn)度估算合理麻惶,那么就指派更多的人手
- 假設(shè)任務(wù)必須按時(shí)完成,整理進(jìn)度估算偏少信夫,那么指派更多更多的人手
- 不削減任務(wù)窃蹋,確保工作能徹底完成,重新安排進(jìn)度
- 削減任務(wù)忙迁,仔細(xì)認(rèn)真的調(diào)整項(xiàng)目脐彩,重新安排進(jìn)度
前兩種情況是災(zāi)難性的碎乃,因?yàn)樵黾尤耸謴娜矫嬖黾恿隧?xiàng)目必要的總體工作量:
- 任務(wù)重新分配本身和所造成的工作中斷
- 培訓(xùn)新人員
- 額外的相互溝通
而且毫無(wú)疑問(wèn)的是姊扔,增加人手所開(kāi)發(fā)出的產(chǎn)品,比沒(méi)有增加人手而是重新安排進(jìn)度所生產(chǎn)出的產(chǎn)品更差梅誓。向進(jìn)度落后的項(xiàng)目中增加人手恰梢,只會(huì)使得項(xiàng)目更加落后。
以上內(nèi)容就是《人月神話(huà)》第二章——人月神話(huà)梗掰,后兩節(jié)所講述的內(nèi)容
作者反復(fù)論證了軟件項(xiàng)目延期最主要的原因——缺乏合理的進(jìn)度安排嵌言。讀者不忍發(fā)問(wèn)了“沒(méi)有按時(shí)完成任務(wù)是因?yàn)闀r(shí)間太短”這難道不是詭辯嗎?
其實(shí)及穗,作者想要提醒的是那些制定項(xiàng)目進(jìn)度的人摧茴。進(jìn)度估算作為軟件工程中十分重要的一環(huán),常常得不到應(yīng)有的重視埂陆,不全面的苛白、不科學(xué)的、不負(fù)責(zé)任的進(jìn)度安排時(shí)常發(fā)生焚虱。項(xiàng)目經(jīng)理總會(huì)有意無(wú)意的犯下各種錯(cuò)誤购裙,例如忽略測(cè)試階段、盲目自信鹃栽、缺少方法躏率、缺乏勇氣等等。這么說(shuō)來(lái)民鼓,軟件項(xiàng)目延期的主要責(zé)任人也就是制定項(xiàng)目進(jìn)度的人薇芝。
放到現(xiàn)實(shí)中來(lái)說(shuō),作者的觀(guān)點(diǎn)其實(shí)是有前提假設(shè)的丰嘉,那就是所有的程序員都拒絕加班夯到,所有項(xiàng)目都會(huì)指派一名項(xiàng)目經(jīng)理,所有客戶(hù)都知道自己要什么供嚎。說(shuō)不定國(guó)外的環(huán)境確實(shí)是這樣的黄娘,但是這三點(diǎn)假設(shè)在我們身邊都是不成立的峭状。
首先,程序員無(wú)條件的加班讓項(xiàng)目經(jīng)理更加盲目自信逼争,為了能夠接收到項(xiàng)目优床,不斷地妥協(xié)于進(jìn)度緊張的客戶(hù)。其次誓焦,人員安排的混亂和欠缺胆敞,大多數(shù)項(xiàng)目是不存在項(xiàng)目經(jīng)理的,甚至是由商務(wù)人員直接規(guī)劃進(jìn)度杂伟。最后移层,也是最可怕的事情,客戶(hù)不清楚自己需要的是什么赫粥。
這些問(wèn)題都發(fā)生在進(jìn)度估算階段之前观话,但由于不是本書(shū)重點(diǎn)所以不再贅述,以后會(huì)在其他書(shū)籍的導(dǎo)讀中再來(lái)討論這幾個(gè)問(wèn)題越平。
總之频蛔,《人月神話(huà)》第二章作者通過(guò)嚴(yán)謹(jǐn)詳實(shí)的論證,得出了這樣的結(jié)論秦叛,多少有點(diǎn)偏袒程序員的意思晦溪,難道項(xiàng)目延期的問(wèn)題只在于安排進(jìn)度的人嗎?