[讀書筆記]軟體估算-估算方法(一)

chinasandy2009發表於2009-11-17

1       估算方法概述

1.1    選擇估算方法時該考慮的問題

待估算的內容:譬如規定時間或規定預算內該交付的特性,規定的特性該用多少預算和時間等,

專案規模:小型專案:5個技術人員的專案,最佳的估算方法時自底向上,也就時基於將要實際進行工作的個人提供的估算值來進行估算,大型專案:25個人以上的團隊人員,專案持續6-12個月,多采用自頂向下的方法,基於數學和統計學,在專案中期,可以基於專案歷史資料的自底向上的方法結合起來,提供更準確的估算.中型專案:大約包括5-25,持續2-12個月.可以用大型專案的估算,也可以用小型專案的估算.

軟體開發方式:開發方式主要有順序可迭代,

開發階段,早期,中期,後期.

估算的準確度取決於:方法本身,方法是否被應用到合適的估算問題中,專案所處的階段.

1.2    估算方法適用表

在選擇估算方法時,要考慮估算的物件,專案的規模,開發階段,專案開發方式和需要的準確度.

2       計數,計算和判斷

2.1    首先計數,

首先計數,無法計數時使用計算,判斷是最後的方法.

2.2    計數的物件

早期:需求,特性,用例,使用者故事等

中期:變更請求,web頁面,報告,對話方塊,顯示螢幕,資料表等

後期:已編的程式碼行,,報告的缺陷數,

與估算最密切相關的就是軟體規模,需要找到有效體現規模的計數器,譬如需求,功能點等,

越早找到有效的計數物件,就越能提供長期的可預測性,

找到可以產生統計上有意義的均值的計數物件:20個以上,統計上20個樣本才有意義.

2.3    通過計算把計數值轉換為估算值

收集歷史資料,由此計算出估算值,可以在專案後期對缺陷計數,或者通過web頁面計數進行估算.

專家判斷作為最後的手段.

3       估算校準和歷史資料

校準用於把計數轉換為估算值,即先計數再計算.下面三類的資料用來對估算進行校準:

行業資料,歷史資料,專案資料(待估專案先前已經產生的資料)

3.1    歷史資料的好處

使用歷史資料進行估算不容易超支.

歷史資料的使用可以初步考慮到可能對專案結果產生影響的開發組織因素,歷史資料反映了這些因素,可以自動地根據它們進行估算的調整,

避免主觀性和無根據的樂觀.

3.2    .要收集的資料

規模:程式碼行或者其他軟體交付後可以計數的物件

工作量:人月

時間:日曆月

缺陷:按級別分類

3.2.1   與規模有關的問題

可以使用程式碼行,功能點,使用者故事,web頁面,資料表等很多方式表現規模,在計算規模時要對程式碼行的計算保持一致,譬如在A專案中程式碼行的計算不包括空行和註釋,那麼在B專案中也應該這麼計算.

3.2.2   與工作量有關的問題

保持計算工作量的計算方式一直,譬如不包括節假日,使用小時計算等等,

3.2.3   與日曆時間相關的問題

專案何時開始,專案何時結束,需要有個明確的定義.

3.2.4   與缺陷度有關的問題

收集資料用於估算的歷史資料時,從少量資料開始,要保證真正瞭解正在收集的資料,並採用一致的方法來收集這些資料.

專案結束後儘早收集他的歷史資料,在專案進行過程中週期性的收集歷史資料,

3.3    如何校準

將收集的資料轉化為使用者估算的模型:

每個開發人員平均每月完成的程式碼

3個人的團隊每個日曆月交付的使用者故事

團隊每X人時可以定義一個用例,

測試人員每x小時可以建立的測試用例

3.4    使用專案資料進行精細化估算

使用當前專案的資料可以為專案的剩餘部分建立高度準確的估算.專案的迭代性越高,就可以越早的使用當前的專案資料.

3.5    使用行業的平均資料進行校準

如果沒有歷史資料,就使用行業資料,但是行業資料有很多的可變性,譬如生產率,團隊等,

總結:如果你的專案沒有收集這些專案資料,趕緊收集吧!!!!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22878014/viewspace-619895/,如需轉載,請註明出處,否則將追究法律責任。

相關文章