不同的人對預估有不同的看法。業務方覺得預估就是承諾。開發方認為預估就是猜測。
承諾
承諾是必須做到的。專業開發人員不隨便承諾,除非他們確切知道可以完成。
如果被要求承諾做自己不確定的事情,那麼就應當堅決拒絕。
預估
預估是一種猜測。它不包含任何承諾的色彩。
大多數軟體開發人員都很不擅長預估。原因在於我們並不理解預估的實質。預估不是個定數,預估的結果是一種概率分布。
暗示性承諾
專業開發人員能夠清楚區分預估和承諾。只有在確切知道可以完成的前提下,他們才會給出承諾。
他們也會小心避免給出暗示性的承諾。他們會盡可能清楚地說明預估的概率分布,這樣主管就可以做出合適的計畫。
計畫評審技術(pert,program evaluation and review technique)的一部分內容就是對預估的計算方法。
根據3個數字預估某項任務。這就是三元分析法。
o:樂觀預估。這是非常樂觀的數字。為保證樂觀預估有意義,這個數字對應的發生概率應當小於1%。
n:標稱預估。這是概率最大的數字。
p:悲觀預估。這是最糟糕的數字。為保證悲觀預估有意義,這個數字對應的發生概率也應當小於1%。
有了以上三個預估,可以像下面這樣描述概率分布:
μ=(o+4n+p)/6
μ是任務的期望完成時間。通常這個數字都有點水分
σ=(p-o)/6
σ是這個任務的概率分布的標準差,用來衡量不確定性。如果這個數字很大,就表示非常不確定。
德爾菲法(wideband delphi)
一組人集合起來,討論某項任務,預估完成時間,然後重複「討論-預估」的過程,直到意見統一。
1、亮手指
2、規劃撲克
3、關聯預估(affinity estimation)
4、三元預估
預估是非常容易出錯的,控制錯誤的辦法之一是使用大數定律。把大任務分成許多小任務,分開預估再加總,結果會比單獨評估大任務要準確很多。
程式設計師職業素養 讀書筆記
專業主義不但象徵著榮耀與驕傲,而且明確意味著責任與義務。這兩者密切相關,因為你無法負責的事情上不可能獲得榮耀與驕傲。1.3 首先,不行損害之事 不要破壞軟體功能。每人能寫出完美的軟體,但這並不表示你不用對不完美負責。失誤率永遠不可能等於零,但你有責任讓它無限接近零。每次qa找出問題時,更糟糕的是使用...
《程式設計師的職業素養》讀書筆記
程式設計師的職業素養 是robert c.martin 大師的經典著作之一,旨在討論如何成為一名專業的軟體開發人士,以及專業的軟體開發人士所需的各種品質。他被人們親切的稱為bob大叔。在讀過之後,我對本書的一些理解,這些理解只是我個人的理解,可能比較片面,也有些理想化,畢竟每個人的理解都不盡相同。專...
程式設計師的職業素養 讀書筆記 第7章 驗收測試
開發方與業務方之間最常見的溝通是關於需求的。業務方描述他們認為自己需要的東西,程式設計師按照自己理解的業務方表達的需求來開發。在現實裡,關於需求的溝通是極其困難的,其中會出現各種問題。過早精細化 做業務的人和寫程式的人都容易陷入乙個陷阱,即過早進行精細化。1 不確定原則 每次向業務方展示一項功能,他...