估計的問題是它涉及預測未知,所以你需要清楚地定義你引用的過程,以減少未知元素。
例如,你的過程可能是:
- 現有的材料和文件(0.5天)
- 1天的研討會,討論的選項和建議(1天)的初步審查
- 車間寫上去(1.5天)
- 審查大綱規範與客戶和方法後跟次要修訂和簽字(0.5天)
- 德泰導致分析和設計工作坊根據需要(5天)最終設計
- 寫了(2天)
- 研討會,審查最終設計(1天)
- 反饋和修訂,最終的設計,不超過三個迭代(3 x 0.5天)
- 終止簽名(0。5天)
在每種情況下,您需要說明他們在評論方面需要什麼,並且您需要說明您要在哪裏迭代要執行的最大迭代次數。解釋一下這樣做的原因是爲了讓你給他他想要的固定價格,並且他需要明白你在按照他想要的方式工作,所以他需要保持他的討價還價並且把他的團隊集中在它上面當他們需要時。
一旦你同意一個過程,你可以相當準確地估計它。對我來說,有兩個關鍵的技巧:
1)如果你不確定需要多長時間,將其分解成更小的任務。這些規模較小(並且更容易估算),但您經常也會接觸到您忘記了必須做的一些小事。 2)如果數字看起來本能地錯誤(通常太高),請查看數字,但不要更改它們,除非您誠實地認爲您錯誤地估計了其中一項單獨任務。我們的本能傾向於認爲一切都會好起來,跳過沉悶的東西(寫作講習班打哈欠,但它必須發生)。不幸的是,在現實世界中,小事情必須發生,並且它永遠不會如你所願,所以不要假裝它會成爲別的東西 - 任何估計或過程,你發現自己要去「所以如果一切順利」是一個壞的一個需要改變。
在此之上,你需要添加應急 - 三類,你們兩個必須添加,一個你可以:
第涵蓋時間處理可能出現的特定風險。瀏覽並列出所有你不確定的事情,但想想可能會出現,併爲流程增加時間。
例如,您認爲有可能需要做一些原型設計。估計它會發生的可能性,如果它將兩者相乘就需要多長時間。也許你認爲它有50%的可能性發生,如果確實需要2天 - 爲估計值增加0.5 x 2天(1天)。)添加所有這些並添加它們。
第二個是「狗屎發生」應急。 IT項目是不可預測的,事情發生你沒有想到。你可以嘗試提前把它全部弄清楚,但是你不會去管理那麼重要的東西,剩下的就是添加一個百分比來覆蓋它。如果你認爲這個過程是穩定的,顧客是好的和專注的,我通常會去15%,但是如果你認爲他們是片面的,這個比例可以下降到10%。
第三類是爲客戶而不是你。如果他說他不能保證他們會堅持這個過程,就像你需要他一樣,你說「很好,這個過程就是我所引用的,但是我們有一個變更補貼」。這是他的預算花在偏離過程。假設你已經爲此添加了五天,並且他要求增加一個沒有在這個過程中的車間。它會花你一天的時間和一天的時間來寫 - 你說「如果你想這是五天改變預算的兩天時間 - 」他可以同意或不同意。
這意味着你得到了你的過程,並且他有能力偏離它,而無需返回他的項目組並尋求更多的錢。
哦,並記錄你所花的所有時間。這可以讓你比較你認爲它會採取什麼和你所做的,這樣你可以提高估計,但也意味着如果你超出了你知道多少,你可能會偷偷地將它添加到構建階段,並收回錢。最後還有一件事:在某個時候他會說「如果花費更少的時間就會少收費?」。答案是不。固定的價格可以消除他的超支風險,但意味着你承擔了風險。你接受這種風險的回報是,如果你提前得到更多的錢,但他沒有得到雙贏。如果進場時間較短,則意味着你沒有獲得任何好處,但如果它遲到了,就會得到所有的痛苦 - 真的不公平嗎?
哦,拜託,夥計們,爲什麼這個問題已經關閉,警方已經試圖關閉這個問題?你有沒有允許超出代碼範例的問題? – 2010-06-13 14:18:37
「關於堆棧溢出的問題預計通常與程序或軟件開發有關,在常見問題中定義的範圍內。這是不是「與軟件開發有關?Sheesh! – 2010-06-13 14:19:32