本人覺得如果要提高軟件開發人員的開發質量,必須有相應的考核制度,有了制度后才能推動開發人員想方設法改善自已的開發質量。雖然目前很多公司有這方面的績效考核,但是大多數沒有對軟件開發的過程進行細粒度的度量,所以不能依據有效的度量數據來考核開發人員的工作績效,大部份只是憑考核人主觀意志來考核,不能形成對被考核人有效的說服力。以下文檔是本人根據以前經驗和相關的資料所編寫的度量方法和考核方法,希望能對公司改善考核制度有用。由于時間有限,有不足之處,請各位仁兄多提意見,謝謝!
1 目的
對軟件開發的過程所產生的軟件項的質量和過程進行定量的評價,用評價的結果指導軟件的開發過程,不斷地提高軟件開發質量水平,并依據度量記錄來考核軟件開發人員的工作績效。
2 軟件項包括
1)技術文檔:參照公司"軟件工程產品集",所確定的配置項;主要包括:可行性分析報告、需求分析報告、軟件功能規格說明、開發計劃、質量計劃、系統設計報告、測試文檔、技術報告、用戶手冊、總結報告等;
2)計算機程序。
3 度量數據的來源
1)項目計劃;
2)評審報告;
3)測試報告;
4)問題報告;
5)軟件維護記錄;
4 質量度量
4.1 度量指標
主要根據各類軟件項檢查表的檢查指標來確定,例如,軟件需求規格說明書檢查表(見附錄1),有10個檢查指標,則根據具體項目檢查側重點不同,可從中選擇相應的檢查指標作為度量指標。
4.2 質量等級
1)軟件項的質量等級的確定根據度量綜合指標進行。
2)度量綜合指標計算公式為: Total = ∑QiMi。
3)其中i=1,2,...n代表指標數量;
4)Q代表度量的指標;
5)M代表度量的指標Q在整個指標體系中所占的權重系數,對不同的開發項目可能不同,此系數根據開發的不同著重點給出。
度量指標權重系數表:
序號 指標 權重
1 指標1 權數1
2 指標2 權數2
3 指標3 權數3
4 指標4 權數4
5 指標5 權數5
加權平均分 1.0
6)質量評價:一般地,根據度量綜合指標值,有以下評分標準。
質量評價計分標準表
序號 得分 質量評價
1 9.0~10.0 優質
2 8.0~8.9 良好
3 6.0~7.9 合格
4 低于6.0 劣質
4.3 度量指標計算方法
1)度量指標評分標準:根據軟件項的各檢查指標的缺陷率來確定,既為每項度量指標制定計分標準,缺陷率越高得分越低。
度量指標計分標準表
序號 得分 缺陷率范圍
1 9~10 范圍1
3 7~8 范圍3
4 5~6 范圍4
5 低于5 范圍5
2)缺陷率來源:主要是各軟件項檢查、評審、測試的過程所產生的缺陷跟蹤表(見附錄2),缺陷跟蹤表中的缺陷類別對應檢查表中的檢查指標。
3)缺陷率單位
<1>結構化方法
需求文檔:以功能點或文檔頁數為單位(缺陷數/功能點、缺陷數/頁)。
設計文檔:以模塊或文檔頁數為單位(缺陷數/模塊、缺陷數/頁)。
軟件代碼:以模塊或代碼行數為單位(缺陷數/模塊、缺陷數/LOC)。
<2>面向對象方法
需求文檔:以業務用例或文檔頁數為單位(缺陷數/BUC、缺陷數/頁)。
設計文檔:以用例或文檔頁數為單位(缺陷數/UC、缺陷數/頁)。
軟件代碼:以用例或代碼行數為單位(缺陷數/UC、缺陷數/LOC)。
4)缺陷率計算方法:
<1>首先根據缺陷跟蹤表中的缺陷類別分別統計各類別的缺陷率,然后依據度量指標計分標準表來給每個度量指標打分。
<2>缺陷率計算公式為: Total = ∑(Bi/U)Mi。
<3>其中i=1,2,...n代表缺陷級別,缺陷級別可分為:致命、嚴重、一般、輕微;
<4>B代表每種缺陷級別的缺陷數;
<5>U代表缺陷率單位數;
<6>M代表每種缺陷級別的權重系數,通常權重系數以"一般" 缺陷級別作為基數(權數設為1),"輕微"缺陷級別可不用計算缺陷率(權數設為0)。
缺陷級別權重系數表:
序號 級別 權數
1 致命 3
2 嚴重 2
3 一般 1
4 輕微 0
5 過程度量
5.1 及時度
1)以軟件項目計劃規定的的完成時間為基準,通過比較實際完成時間和計劃完成時間的時間差,與軟件項完成周期的比率來評價各軟件項的及時度。
2)時間差率=(實際完成時間-計劃完成時間)/(計劃開始時間-計劃完成時間)
3)評分標準如下:時間差率范圍可根據具體項目而定。
及時度評分標準表
序號 得分 時間差率范圍
1 9~10 范圍1(15%以內)
3 7~8 范圍3(15%~35%)
4 低于7 范圍4(35%以上)
5.2 成熟度
以軟件項檢查、評審、測試的結果為評價基準,評分標準如下:
<1>9~10分:一次檢查、評審、測試通過,無須調整;
<2>7~8分:一次檢查、評審、測試通過,略有調整,或第二次檢查、評審、測試通過無須調整;
<3>6分以下:二次以上檢查、評審、測試未通過。
5.3 改善效率
在檢查、評審、測試的結果的基礎上改善軟件項結果,以改善的時間是否影響后續階段的完成和計劃的總體完成時間為評分依據,評分標準如下:
<1>9~10分:改善效率良好,軟件項的修改無須增加工作量,不影響階段的繼續進行和項目計劃的總體完成,或無須修改;
<2>7~8分:改善效率一般,軟件項的修改或完善影響階段的繼續進行,增加工作量在原計劃的20%(此閥值可根據具體項目而定)以內;
<3>6分以下:改善效率較差,軟件項的修改或完善過程使項目延期,或增加的工作量超過20%(此閥值可根據具體項目而定)。
5.4 綜合評價
1)過程度量的綜合評分方法是:S=P*A1+M*A2+E*A3。
2)S代表綜合評分;
3)P代表及時度;
4)M代表成熟度;
5)E代表改善效率;
6)A代表過程指標(P、M、E)在整個指標體系中所占的權重系數(可根據具體項目而定)。
過程指標權重系數表:
序號 指標 權重
1 及時度 權數1(0.3)
2 成熟度 權數2(0.3)
3 改善效率 權數3(0.4)
加權平均分 1.0
7)過程評價:一般地,根據過程綜合評分,有以下評分標準。
過程評價計分標準表:
序號 得分 過程評價
1 9.0~10.0 優質
2 8.0~8.9 良好
3 6.0~7.9 合格
4 低于6.0 劣質
6 軟件項綜合評價
1)軟件項綜合評分=質量評分*質量權數+過程評分*過程權數。
綜合指標權重系數表:
序號 指標 權重
1 質量 權數1(0.5)
2 過程 權數2(0.5)
加權平均分 1.0
2)軟件項綜合評價:一般地,根據軟件項綜合評分,有以下評分標準。
軟件項綜合評價計分標準表:
序號 得分 過程評價
1 9.0~10.0 優質
2 8.0~8.9 良好
3 6.0~7.9 合格
4 低于6.0 劣質
7 度量記錄
項目經理或開發經理在軟件項提交檢查、評審、測試通過后,需要填寫軟件項度量表(見附錄3),并提交給SQA部審核和軟件事業部經理批準。如果一個軟件項由多人完成,需要將軟件項按(功能、模塊)拆分,分別記錄
各人的度量,SQA部在審計軟件項時,根據軟件項度量表填寫軟件項綜合評價表(見附錄4)。
8 績效考核
8.1 開發人員考核
1)軟件項的平均得分值計算方法是:AV=(∑COi)/i*10。
2)AV代表軟件項的平均得分值;
3)CO代表軟件項綜合得分;
4)i=1,2,...n代表軟件項數量。
5)績效考核標準:一般地,根據軟件項的平均得分值,有以下評分標準。
績效考核計分標準表
序號 得分 考核評價
1 90~100 優秀
2 80~89 良好
3 60~79 及格
4 低于60 很差
6)軟件部門根據軟件項綜合評價表每個月或季度統計各開發人員所負責的軟件項的平均得分值,比較開發人員軟件項的平均得分值與績效考核標準范圍,確定開發人員績效考核評價?冃Э己藶"良好"以上人員獎勵相應金額,績效考核為"很差"人員處罰相應金額。對于很差的開發人員需要通報批評,并要求在項目經理、開發經理幫助下寫個人軟件開發過程改進書。如果是連續三個月都是很差,則可能降級、降工資、甚至解雇;對于優秀的開發
人員通報表揚,并組織經驗交流會介紹其優秀的軟件開發過程控制方法,如果是連續三個月都是優秀,則可能升級、升工資。
8.2 項目經理、開發經理考核
1)項目組的平均得分值計算方法是:AV=(∑COi)/i*10。
2)AV代表項目組的平均得分值;
3)CO代表項目組成員績效考核得分;
4)i=1,2,...n代表項目組成員數量。
5)績效考核標準:一般地,根據項目組的平均得分值,有以下評分標準。
績效考核計分標準表
序號 得分 考核評價
1 90~100 優秀
2 80~89 良好
3 60~79 及格
4 低于60 很差
6)軟件部門每個月或季度確定了項目組成員績效考核評價后,計算項目組的平均得分值,比較項目組的平均得分值與績效考核標準范圍,確定項目經理、開發經理績效考核評價?冃Э己藶"良好"以上項目經理、開發經理獎勵相應金額,績效考核為"很差" 項目經理、開發經理處罰相應金額。對于很差的項目經理、開發經理需要通報批評,并要求在部門經理幫助下作項目組軟件開發過程改進書,如果是連續三個月都是很差,則可能降級、降工
資、甚至解雇;對于優秀的項目經理、開發經理通報表揚,并組織經驗交流會介紹其優秀的項目組開發過程管理方法,如果是連續三個月都是優秀,則可能升級、升工資。
8.3 檢查、測試人員考核
1)在軟件項檢查、評審、測試過程中,項目經理或開發經理需要填寫檢查、測試人員的缺陷查找質量度量表(見附錄5)作為月度考核或季度考核依據。
2)缺陷查找率計算方法
<1>缺陷查找率計算公式為: Total = ∑(Bi/U)Mi。
<2>其中i=1,2,...n代表缺陷級別,缺陷級別可分為:致命、嚴重、一般、輕微;
<3>B代表每種缺陷級別的缺陷數;
<4>U代表缺陷率單位數;
<5>M代表每種缺陷級別的權重系數,通常權重系數以"一般" 缺陷級別作為基數(權數設為1),"輕微"缺陷級別可不用計算缺陷查找率(權數設為0)。
缺陷級別權重系數表:
序號 級別 權數
1 致命 3
2 嚴重 2
3 一般 1
4 輕微 0
3)缺陷查找質量評價:為每個軟件項制定相應的缺陷查找質量計分標準。
缺陷查找質量計分標準表:
序號 得分 缺陷查找率范圍
1 9~10 范圍1
3 7~8 范圍3
4 5~6 范圍4
5 低于5 范圍5
4)缺陷查找的平均得分值計算方法是:AV=(∑COi)/i*10。
<1>AV代表缺陷查找的平均得分值;
<2>CO代表缺陷查找質量得分;
<3>i=1,2,...n代表軟件項數量。
5)績效考核標準
績效考核計分標準表:
序號 得分 考核評價
1 90~100 優秀
2 76~89 良好
3 60~75 及格
4 低于60 很差
6)軟件部門根據軟件項綜合評價表每個月或季度統計各檢查人員或測試人員缺陷查找的平均得分值,比較檢查人員或測試人員缺陷查找的平均得分值與績效考核標準范圍,確定檢查人員或測試人員績效考核評價,績效考核為"良好"以上人員獎勵相應金額。對于優秀的人員通報表揚,并組織經驗交流會介紹其優秀的檢視和測試方法。
8.4 缺陷考核
1)某階段的軟件項檢查、評審、測試通過后,如果在后面階段工作中發現此軟件項的缺陷時,需定位缺陷級別,定位是"重大"以上級別缺陷時,每個缺陷罰款××元,作為項目組活動經費。
2)在軟件項檢查、評審、測試過程前,需要制定軟件項的最低缺陷查找率,通過缺陷查找質量度量表(見附錄5),比較檢查或測試人員的缺陷查找率少于最低缺陷查找率時,當軟件項在以后階段發現缺陷而被罰款時,款項由軟件項負責人和檢查、測試人2比1分攤。
9 附錄
附錄1:軟件項檢查表;(略)
附錄2:缺陷跟蹤表;(略)
附錄3:軟件項度量表;(略)
附錄4:軟件項綜合評價表;(略)
附錄5:缺陷查找質量度量表。(略)
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/