爲了能夠統一進行工作量的比較,ISO、ISBSG(國際軟件基準比對標準組)/CSBSG(中國軟件基準比對標準組)採用了一些分類方法。
注意這些分類方法看起來很像瀑布模型的“研發階段”,但實際上即使是採用迭代、敏捷開發,仍可以把每個迭代內的工作量分解爲這些類型,以便於以往瀑布模型的工作量進行對比。
左邊是ISO的定義,右邊是ISBSG(CSBSG採納了ISBSG的定義)
ISO 12207 Project Steps 對應 ISBSG Effort Phase
1Requirements Elicitation需求獲取 = Specify 需求
2System Requirements Analysis需求分析 = Specify需求
3System Architecture Design 系統架構設計 = Specify需求
4Software Requirements Analysis 軟件需求分析 = Specify需求
5Software Design 軟件設計 = Design設計
6Software Construct (Code & Unit Test)軟件創建(編碼+單元測試) = Build構建
7Software Integration 軟件集成 = Build構建
8Software Testing 軟件測試 = Test測試(功能性測試)
9System Integration 系統集成 = Test測試
10System Testing系統測試 = Test測試(壓力,性能……)
11Software Installation軟件安裝 = Implement實施
12User Support用戶支持 =Implement實施
建議:使用ISBSG的定義
第一個原因是簡單。
第二個原因是ISO雖然做了規定,但因爲ISO本身不收集數據,而ISBSG/CSBSG還是有很多數據的,因此比較起來方便。
如果已有體系已經符合ISO,倒是也可以用ISO的標準,只要和ISBSG做一個對應就可以了。
下面是一個國內發佈過的生產力報告中的數據,可以有一個直觀參考:
工作量比例關係
需求11%
設計14%
構建45%
測試22%
實施8%
工期比例關係(僅限於瀑布模型)
18%
13%
26%
28%
15%
(因舍入誤差總和不是100%)