求極值可以使用微積分中的求極值方法,首先令Q(a,b)對a和b分別求偏導,并令偏導為零,得如下方程組:
經(jīng)過一系列計算和推導,終可得到:
將以前的歷史數(shù)據(jù)代入上述方程,可以得到a和b的小二乘估計。同樣,這種機械而乏味的計算一般交由工具去完成。我用Excel得到a和b的估計分別為56.251和10.653。Excel分析結(jié)果如圖3所示:
圖3
根據(jù)估計結(jié)果,我們可以得出相關(guān)函數(shù)為y=56.251+10.653。我們還可以證明,這個估計是一致小方差無偏估計,證明過程從略。
現(xiàn)在我們不但得到了相關(guān)函數(shù),還得到了如下有用的數(shù)據(jù)結(jié)果:這個團隊在目前的管理模式下,開發(fā)一個項目平均準備時間為56.251人時,而平均每個用例開發(fā)耗時為10.653人時。
得出y
有了上面的結(jié)果,我們可以很輕易得出新項目的計劃工時。例如新項目有50個用例,代入可以得到y(tǒng)=56.251+10.653*50=588.901,約為589個人時,再假設(shè)團隊中有3個開發(fā)人員,平均每周工作五天,每天工作8小時,可以得到項目大約需要開發(fā)24.54個人日,開發(fā)周期約為5周。
后面的話
至此我們已經(jīng)完成了利用一元線性回歸模型對軟件工期的估計。但是不得不承認,這個估計方法存在很多缺陷,如估計變量單一以及估計模型過于簡單等等。實驗證明,這種一元線性模型對中小型項目相對有效,如果團隊比較大并且項目十分復雜,估計效果不理想了。不過這篇文章給出了一種思路,是如何利用數(shù)理統(tǒng)計模型以及歷史經(jīng)驗數(shù)據(jù)來估計新項目的工期。對于文中的具體方法則可以進行諸多擴展,例如使用多個估計代理進行多元回歸分析、細化估計方法等等。例如PSP中給出一種非常精細的PROBE估計法,有興趣的朋友可以參考。另外,除了求得估計值,還可以給出估值置信區(qū)間,甚至使用蒙特卡洛模擬技術(shù)進行更復雜的分析,都可以得到更理想的估值。但是其核心思想與本文是相通的。