建設(shè)工程教育網(wǎng) > 建筑文苑 > 工程管理 > 正文
2010-01-11 10:49 【大 中 小】【打印】【我要糾錯(cuò)】
對(duì)一個(gè)項(xiàng)目的評(píng)估,往往被要求在項(xiàng)目需求還不明確的時(shí)候開(kāi)始。不知道你是否有這樣的體會(huì),客戶給你簡(jiǎn)單介紹了一點(diǎn)需求,或者發(fā)給你一份寫(xiě)的很粗略的文檔,就要求你給個(gè)價(jià)格看這東西大概是要花多少錢(qián)多少時(shí)間才能建成。以前我做網(wǎng)站的時(shí)候,遇到過(guò)好多好多的這類(lèi)問(wèn)題。
在軟件開(kāi)發(fā)過(guò)程中,總要面臨一個(gè)“估算(Estimation)”的問(wèn)題。這個(gè)項(xiàng)目需要多長(zhǎng)時(shí)間?這個(gè)模塊你大概多久完成?一共要花多少錢(qián)才能搞出來(lái)?軟件開(kāi)發(fā)的成本主常常用人月來(lái)計(jì)算,當(dāng)然,也有人/小時(shí),人/天。從數(shù)學(xué)上說(shuō),計(jì)算一個(gè)時(shí)間的先決條件,是必須要知道速率和距離。那軟件開(kāi)發(fā)度速率是多少?開(kāi)發(fā)要走完的距離又怎么估計(jì)?
假定“人天”可以作為我們需要找到的速率(Velocity)的單位,就是某個(gè)人每天8小時(shí)能干的活的工作量,或說(shuō)他的開(kāi)發(fā)能力。對(duì)于一大堆待要開(kāi)發(fā)的需求,它的總工作量和整個(gè)團(tuán)隊(duì)的單位開(kāi)發(fā)能力的計(jì)算需要考慮更多的因素。
先來(lái)考慮需求的總量。我們來(lái)看這一個(gè)例子,列舉你認(rèn)識(shí)的滿足下面條件的人:人,男人,20歲的男人,20歲的 頭發(fā)有些染黃的男人,20歲的頭發(fā)有些染黃抽煙的男人。從這一組詞中,我們可以看到,從左到右描述的越來(lái)越具體,你能列舉出的也越來(lái)越少。而反過(guò)來(lái)順序,詞的外延更大,你的能想到的卻越來(lái)越多的。
同樣的,對(duì)于需求的描述,如果描述的越細(xì)致,你就越能夠準(zhǔn)確的估算它的工作量。 登錄系統(tǒng),這樣的需求很難說(shuō)要多久。而一個(gè)使用用戶名密碼登錄,支持找回密碼功能的登錄系統(tǒng)就稍微好一些。如果能夠畫(huà)出界面原型圖那就更加清晰了。對(duì)于這樣的需求,我們可以用“理想的人天”來(lái)評(píng)估。我們說(shuō)某一個(gè)需求的成本,是2Ideal Days.就是一個(gè)人在理想的2天內(nèi)能夠完成這個(gè)工作。
說(shuō)到開(kāi)發(fā)人員的“理想的人天”,就不能離開(kāi)團(tuán)隊(duì)孤立的看。一個(gè)團(tuán)隊(duì)包括項(xiàng)目經(jīng)理和需求分析師、測(cè)試員等角色。他們的工作不直接反應(yīng)到代碼量的多少。如果只考慮一個(gè)項(xiàng)目開(kāi)發(fā)人員的代碼開(kāi)發(fā)量成本,毫無(wú)疑問(wèn)要虧損的。另外,團(tuán)隊(duì)成員水準(zhǔn)參差不齊,不同的任務(wù)不同程序員來(lái)完成所花費(fèi)的時(shí)間也不同。因此,單獨(dú)相加每個(gè)成員的“人天”毫無(wú)意義。必須要整體考慮一個(gè)團(tuán)隊(duì)的總“人天”。
那么如何衡量一個(gè)團(tuán)隊(duì)的總“人天”?如果一個(gè)團(tuán)隊(duì)已經(jīng)經(jīng)過(guò)長(zhǎng)期的磨合,那么可以從以往的數(shù)據(jù)來(lái)獲得他們的開(kāi)發(fā)量。 如果是新建立的團(tuán)隊(duì),沒(méi)有經(jīng)過(guò)磨合,那就需要開(kāi)始實(shí)際進(jìn)行一段時(shí)間的開(kāi)發(fā),在開(kāi)發(fā)后3-4個(gè)星期再回頭來(lái)計(jì)算這幾個(gè)星期的團(tuán)隊(duì)速率。一般的,一個(gè)團(tuán)隊(duì)經(jīng)過(guò)一段時(shí)間的磨合,在開(kāi)發(fā)速率上會(huì)有緩慢的提升。例如一個(gè)需求的估算是5理想人天,而團(tuán)隊(duì)實(shí)際開(kāi)發(fā)了10天。那么團(tuán)隊(duì)的速率就是5理想人天,團(tuán)隊(duì)的負(fù)載系數(shù),即正常被其他事情干擾而降低的比率是2.
有了這個(gè)團(tuán)隊(duì)的速率,項(xiàng)目經(jīng)理就可以放心大膽的說(shuō),我們團(tuán)隊(duì)有10人,開(kāi)發(fā)能力是“n理想人天每周”,負(fù)載系數(shù)是2,由于有20n的需求總量,我們大概在40周左右完成。因此,我們的報(bào)價(jià)是xx,xxx,xxx元。
如果你有幸長(zhǎng)期跟蹤過(guò)一個(gè)團(tuán)隊(duì)的開(kāi)發(fā)速率,就會(huì)發(fā)現(xiàn)很多有趣的現(xiàn)象。一開(kāi)始,團(tuán)隊(duì)速率很低,但慢慢的成長(zhǎng)。到達(dá)一定時(shí)期后,就會(huì)穩(wěn)定在一個(gè)固定值附近。有時(shí)候有新的成員加入進(jìn)團(tuán)隊(duì),團(tuán)隊(duì)的開(kāi)發(fā)速率會(huì)出人意外的降低一段時(shí)間再慢慢回增。
成本、時(shí)間、范圍、質(zhì)量,這是項(xiàng)目管理常見(jiàn)的四要素,四者很難同時(shí)滿足。如果關(guān)心時(shí)間,又不想出錢(qián),還要完成那么多功能,那犧牲的就真正是質(zhì)量了。常說(shuō)的一分錢(qián)一份貨,在軟件開(kāi)發(fā)中反映的淋漓盡致。所以,為了能夠保證按時(shí)按質(zhì)完成任務(wù),一個(gè)合理的開(kāi)發(fā)價(jià)格是合格的項(xiàng)目經(jīng)理必須能夠估算出來(lái)的。而這需要長(zhǎng)期經(jīng)驗(yàn)和實(shí)踐的積累,急不來(lái)的。
但有些時(shí)候,也有些不好處理的問(wèn)題。有人問(wèn):我是老板,如果我的開(kāi)發(fā)團(tuán)隊(duì)合起伙來(lái)編造一個(gè)估算,把我的需求估算的很多,而把他們的速率估算的很低,工起來(lái)工作量不飽和,老消極怠工怎么辦?我只能說(shuō),這只好借助于開(kāi)發(fā)方法以外的事情了,例如獎(jiǎng)金激勵(lì)、績(jī)效考核、引入外部咨詢團(tuán)隊(duì)(例如ThoughtWorks)等等,人的問(wèn)題不是能夠簡(jiǎn)單靠過(guò)程就解決了的,如果道歉有用的話,要警察干嘛?
1、凡本網(wǎng)注明“來(lái)源:建設(shè)工程教育網(wǎng)”的所有作品,版權(quán)均屬建設(shè)工程教育網(wǎng)所有,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、鏈接、轉(zhuǎn)貼或以其他方式使用;已經(jīng)本網(wǎng)授權(quán)的,應(yīng)在授權(quán)范圍內(nèi)使用,且必須注明“來(lái)源:建設(shè)工程教育網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其法律責(zé)任。
2、本網(wǎng)部分資料為網(wǎng)上搜集轉(zhuǎn)載,均盡力標(biāo)明作者和出處。對(duì)于本網(wǎng)刊載作品涉及版權(quán)等問(wèn)題的,請(qǐng)作者與本網(wǎng)站聯(lián)系,本網(wǎng)站核實(shí)確認(rèn)后會(huì)盡快予以處理。
本網(wǎng)轉(zhuǎn)載之作品,并不意味著認(rèn)同該作品的觀點(diǎn)或真實(shí)性。如其他媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用,請(qǐng)與著作權(quán)人聯(lián)系,并自負(fù)法律責(zé)任。
3、本網(wǎng)站歡迎積極投稿。