|
一些有趣的觀點(diǎn)出現(xiàn)在我所關(guān)注的郵件列表中。下面是其中的一些。原始評(píng)論將以藍(lán)色字體顯示,下面是我的回應(yīng)。這不是對(duì)相關(guān)問題的徹底看法,只是我所想到的一些相關(guān)的回應(yīng)。注:我已加以編輯,以改善流程(flow),并加以闡述。
在軟件開發(fā)中,我們不能對(duì)任何單獨(dú)的任務(wù)作出時(shí)間的估算,是由于工作性質(zhì)是創(chuàng)造新知識(shí)。
軟件開發(fā)的目標(biāo)是實(shí)現(xiàn)流程(Process)自動(dòng)化。只要一個(gè)流程實(shí)現(xiàn)了自動(dòng)化,便可以針對(duì)大多數(shù)情況在可預(yù)期的時(shí)間內(nèi)反復(fù)運(yùn)行。源代碼就好像生產(chǎn)藍(lán)圖,而電腦就好像生產(chǎn)工廠,輸入(數(shù)據(jù))好像原材料,輸入(數(shù)據(jù))就像制成品。而使用另一種類比,星巴克可以重復(fù)迅速地制作咖啡的原因就在于他們花費(fèi)很多時(shí)間在流程的設(shè)計(jì)上,使得該流程成為了一個(gè)復(fù)雜且昂貴的作業(yè)。星巴克的個(gè)人經(jīng)營者不必再去重新研究該流程,只需買下此藍(lán)圖便可。我會(huì)讓各位讀者練習(xí)推斷我對(duì)COSTA咖啡制作過程的意見。
事實(shí)上,不可預(yù)期的開發(fā)時(shí)間并不總是壞事,因?yàn)樗鶐淼膬r(jià)值也是如此。一款成功的軟件可以制造或節(jié)省的價(jià)值遠(yuǎn)超過其成本。Tom DeMarco之所以贊成關(guān)注高成本項(xiàng)目,正是基于這個(gè)原因。能注意到這點(diǎn),需要一種價(jià)值增長的理念,而不是廣泛而又普遍的成本控制理念。這是很重要的問題。
目前為止,Don Reinertsen的《Principles of Product Development Flow /產(chǎn)品開發(fā)流程原理》,是我所看過的對(duì)可變性與為價(jià)值而開發(fā)的最好解釋,該原理在日常流程管理中大量使用PatchSpace Bible。我所說的“目前為止最好的”是指超越我所看過的其他解釋一個(gè)檔次,不包括約束理論(Theory of Constraints)的著作。
這就是我的最近開發(fā)項(xiàng)目的數(shù)據(jù)。直方圖中的R表示5個(gè)小時(shí)的量:橫軸表示的是User Case 的持續(xù)時(shí)間——0-5小時(shí),5-10小時(shí),等等;縱軸表示的是占此時(shí)續(xù)時(shí)間的User Case數(shù)量。我以90分鐘為間隔,工作并將其記錄在Wave上,這樣我們就能清楚地知道任務(wù)持續(xù)時(shí)間。
我們這么做既為了與客戶溝通,又為了賬單。結(jié)果是:我們的開發(fā)時(shí)間的可預(yù)知程度跟放射性衰變一樣,但卻是始終如一的輻射。可估計(jì)的相關(guān)數(shù)據(jù)少得可憐,我拒絕估計(jì)個(gè)別任務(wù)的的時(shí)間,因?yàn)檫@會(huì)產(chǎn)生誤導(dǎo),但是我們有足夠數(shù)據(jù)進(jìn)行合計(jì)。
經(jīng)驗(yàn)法則:接受開發(fā)人員的估算意見,但是要在兩倍的基礎(chǔ)上再加一點(diǎn)時(shí)間
兩倍加一點(diǎn)法則很有趣。經(jīng)理開始運(yùn)用此法則時(shí),多長時(shí)間他會(huì)提前完成一次?我們通常太過注重超支。如果一個(gè)團(tuán)隊(duì)未能提前完成任務(wù)的一半。他就要增加估計(jì)時(shí)間,這意味著拿開發(fā)周期與項(xiàng)目進(jìn)度做交易。周期往往比可預(yù)測性更重要,因?yàn)樗馕吨绲剡M(jìn)入市場。同樣看看Reinertsen的作品,數(shù)字會(huì)以與數(shù)量級(jí)不同的規(guī)律出現(xiàn)。
并且,這是關(guān)鍵鏈(Critical Chain)項(xiàng)目管理的基礎(chǔ),這會(huì)將項(xiàng)目估計(jì)時(shí)間二等分,把剩余時(shí)間(添補(bǔ)單獨(dú)項(xiàng)目)放在最后,作為“項(xiàng)目緩沖時(shí)間”。這就意味著帕金森定律不會(huì)導(dǎo)致單獨(dú)任務(wù)無規(guī)律地?cái)U(kuò)張。盡管我不覺得關(guān)鍵鏈?zhǔn)擒浖袠I(yè)的一個(gè)合適的方法,但作為開發(fā)工作的內(nèi)容,它可作為反饋與學(xué)習(xí)提高的工具,可明顯改善計(jì)劃。
通常人們只是估計(jì)時(shí)間
不僅開發(fā)人員估計(jì)不好。每個(gè)人都會(huì)遇到臨場發(fā)揮(即興應(yīng)付)的問題,因?yàn)槟鞘撬麄儧]從未做過的事,所以在完成之前,他們無法準(zhǔn)確地作出判斷。
作為一個(gè)群體,我們應(yīng)避免這一點(diǎn)。不知道就是不知道,一定要說出來。相比于無法估計(jì),那些能夠定期了解任務(wù)進(jìn)度,從而意識(shí)到風(fēng)險(xiǎn)(并選擇繼續(xù)投資)的客戶,會(huì)給予團(tuán)隊(duì)更多的信任。這是事實(shí)!我是認(rèn)真的,不用只相信我的話,看看David Anderson的《Kanban》一書吧。
估算是一個(gè)很重要的技能,應(yīng)該在初級(jí)開發(fā)人員中廣泛教學(xué)
我提出了一個(gè)替換方案:我們需要教給初級(jí)開發(fā)人員的是完成的意義。如果估計(jì)問題已經(jīng)夠糟糕了,在一些不確定的點(diǎn)找出未完成的某些東西(也許是匆忙地兌現(xiàn)承諾…我的意思是估計(jì)判斷!)不僅會(huì)打亂時(shí)間的估計(jì),還會(huì)打亂所進(jìn)行的工作的日程。這是常有的事,并且會(huì)給一個(gè)開發(fā)團(tuán)隊(duì)的地位造成重大損失。
譯文出處:伯樂在線- 職場博客 - 程序員
譯文鏈接:http://www.jobbole.com/entry.php/744
原文:Ashley Moran 文章推薦:關(guān)關(guān) 翻譯:伯樂在線敏捷翻譯 - 高志翔
如需轉(zhuǎn)載,但請(qǐng)注明原文/譯文出處、譯文超鏈接和譯者等信息,否則視為侵權(quán),謝謝合作!
it知識(shí)庫:為什么開發(fā)人員不能估算時(shí)間?,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。