算并不是只是得到一個項目估算的總體數字,項目的估算總數其實是由項目各種工作的估算組成的。
前文介紹了項目的各種工作,每一種工作都需要認真估算。如果估算發(fā)生偏差,要能定位到具體是哪部分的估算出問題了,否則估算沒有指導項目工作的價值。功能點法、代碼行法的估算辦法,只能得到一個項目估算的總數,而不能定位到具體的哪一部分工作,這樣得到的估算結果難以用來指導項目工作。
4.估算依賴項目組的整體實力。
如果你沒有軟件開發(fā)相關經驗,只懂理論上的估算,你是不可能做好估算工作的。
項目組由項目管理、軟件設計、編碼、測試、實施等各類專業(yè)人才組成,每個人在自己方面都是專家,每個人都是整個項目組中最有資格對自己專業(yè)方面的工作進行估算。前文列出了的項目各方面的工作,應該由相應的項目成員為主進行估算。
5.項目組應該不斷學習、總結、進步,提高整體水平。
需求不明確、設計不確定這是項目的特點,我們需要不斷地學習來提高水平,將這些不明確的因素逐步明確。
沒有什么妙方能解決這些不明確的因素,靠的還是我們的知識和能力。項目組每個人都應該通過持續(xù)估算來發(fā)現自己的不足并提高水平。
6.公司應該定期組織項目資深人士制定估算指南并持續(xù)更新。
我們公司有一份估算模板,里面匯集了以前的估算經驗,列出了所有需要考慮的估算內容以及詳細的說明。
我們以前沒有估算模板時,估算偏差會達到50%以上,總結經驗發(fā)現偏差的主要原因是估漏!使用估算模板會幫助我們發(fā)現遺漏,后來我們的估算偏差基本可以控制在20%以內。
前文的“估算要估啥”小節(jié),我列出了項目通常要考慮的各種工作,也列出了容易估漏和估計不足的地方,大家可在此基礎上根據自己公司實際情況,修改和擴充這些內容,寫出自己公司的估算模板或估算指南。
先得到項目規(guī)模,再由規(guī)模導出工作量,這是一個很美好的想法,問題就是和我們的實際情況相去甚遠了。
將工作分解,直到分解到可以估計工作量的程度,這個可能是最土最有效的方法了。但你可能會問,這樣的估算方法,項目之間就無法橫向比較了?
項目估算第一目標是用來指導項目工作,如果這個目標都達不到,那么就不需要考慮項目之間的橫向比較了。
另外我要反問:為什么非要用這樣的方式來作項目之間的橫向比較?有什么好處?國外優(yōu)秀的軟件開發(fā)工作室就不會做這樣無聊的事情,軟件開發(fā)可能是人類最厲害的智力活動,你覺得一定能量化度量嗎?
要從本質上提升估算水平,你不太可能用幾天時間去突擊學習某種估算辦法就能勝任項目實際的估算工作。
提高估算能力靠你長期的積累,你的實力、你的項目團隊的綜合實力,還有你們公司的綜合實力,決定了估算的水平!
估算是為項目服務的,后文你會看到如何利用估算來管理項目,又如何因應項目實際情況來更新估算。
下面開始,我們將講述估算與計劃的關系、計劃及計劃跟蹤。
計劃有什么內容?
關于項目計劃,我們要先討論什么是正確的事情,然后再討論如何做正確的事情,我們先來看看項目計劃應該有什么內容?
讓大家做項目計劃,很多人以為用Project做一份開發(fā)進度計劃就完事了。而項目的開發(fā)工作只是占了項目工作的其中一部分而已,跟項目所有相關的工作,我們都需要計劃。諸如開發(fā)計劃、測試計劃、培訓計劃、溝通計劃、采購計劃等等,這些計劃的集合,我們稱之為項目計劃。
項目計劃應該包含以下內容:
1.項目背景、目標、概述等。
2.項目需要提交的工作產品,包括內部工作產品和最終工作產品。
3.風險分析及應對措施。
4.項目估算。
5.項目在成本、進度、質量方面的管理目標。
6.項目人員職責。
7.對