同行評審對于軟件企業(yè)來說是很有效的一種方式,無論是國外還是國內(nèi)企業(yè)越來越認(rèn)識到了同行評審的重要性,但是在實施的過程中效果不是很理想,常常會出現(xiàn)走形式,使評審會議變成了討論會議,對具體的問題爭論不休,經(jīng)常跑題,使評審的效果大大的降低。我在實施的過程中根據(jù)同行評審的要求,總結(jié)出來以下經(jīng)驗供大家參考,同行評審的目的是及早高效的發(fā)現(xiàn)并消除開發(fā)過程中出現(xiàn)的缺陷。很多公司也制定了相應(yīng)的評審流程,項目開始的時候也做了評審計劃,但是在具體的實踐中把握不好一些細(xì)節(jié)的東西,這些主要的問題大多數(shù)發(fā)生在評審會議的組織上,而這些細(xì)小的環(huán)節(jié)才是評審是否成果的關(guān)鍵。只有評審會議比較完滿了,其他修改Bug、消除缺陷都比較容易完成。我在這里主要講一下評審會議的組織,至于評審計劃、評審執(zhí)行過程的數(shù)據(jù)采集、測量等環(huán)節(jié)不再詳述。
評審會議流程一般采取以下幾個步驟:評審會議的準(zhǔn)備、評審會議的召開、評審會議的跟蹤三大環(huán)節(jié)。
一、 評審會議的準(zhǔn)備
會議的發(fā)起人召集會議,發(fā)出評審?fù)ㄖㄔu審內(nèi)容、會議時間、會議地點、參加人員等),并且將相關(guān)待評審的相關(guān)資料也發(fā)送給參加會議的評委;主要的目的有兩個:第一、讓參加會議的人員對會議的內(nèi)容有一定的了解,在會議前做好準(zhǔn)備,避免盲目的參加會議而浪費自己和其他人的時間;第二、如果該評委在會議時間有其他緊急的事情,可以及早反饋給會議召集人,必便召集人重新確定評委或者評審會議改期召開。
二、 評審會議的召開
一般情況下,確定一個會議主持人;其主要的職責(zé)是控制會議的進(jìn)度、時間、協(xié)調(diào)會議中出現(xiàn)的偏差。
對于待評審的工作產(chǎn)品由其生產(chǎn)者采用“走讀”的形式進(jìn)行講解,在講解的過程中回答評委提出的問題。
會議記錄人主要是記錄會議中發(fā)現(xiàn)的所有問題,方便會后的修改完善。
SQA人員參加會議主要的關(guān)注點在于對照SQA的檢查表Checklist檢查評審的流程是否符合規(guī)范。
三、 評審會議的跟蹤
將記錄的問題匯總到《評審記錄表》,由項目組進(jìn)行修改、完善;SQA監(jiān)督所有問題是否封閉。
附錄:
(1) 列舉重要工作產(chǎn)品評審的重點:
A 計劃的評審
主要是關(guān)注的核心在于估計是否準(zhǔn)確;人員安排是否合理;以上兩個方面如果合理,項目的進(jìn)度就不會出很大的問題。
B 需求的評審
主要關(guān)注需求來源、需求的準(zhǔn)確性、需求的完整性,避免產(chǎn)生二義性;最好讓測試人員和客戶參加,以便讓各角色達(dá)成共識。
C 總體設(shè)計的評審
在總體設(shè)計評審中,最好將已經(jīng)評審?fù)ㄟ^的需求文檔從配置管理庫中提出,對照總體設(shè)計是否和需求一致;另外,技術(shù)領(lǐng)域?qū)<覅⒓釉u審還要關(guān)注于設(shè)計的合理性、可實現(xiàn)性以及完整性。
D 代碼評審
由項目組內(nèi)進(jìn)行代碼審核,主要關(guān)注代碼的格式、整體邏輯、變量的命名、程序注釋等表面的屬性;至于運行質(zhì)量應(yīng)當(dāng)放在單元測試中解決。
E 管理性的評審
管理性的評審一般放在里程碑、項目結(jié)束后進(jìn)行。準(zhǔn)備的資料包括前期工作的總結(jié),是否按照計劃執(zhí)行、出現(xiàn)的問題的數(shù)目、解決了多少、未解決的問題、是否對后期有影響等。
(2) 評審中應(yīng)當(dāng)把握的幾個原則:
A 評審工作產(chǎn)品,而不是評審生產(chǎn)者
評審涉及到別人和自我。如果進(jìn)行的恰當(dāng),可以使所有參與者體會到溫暖的成就感。如果不恰當(dāng),則可能陷入審問的氣氛之中。應(yīng)當(dāng)溫和的指出錯誤,會議的氣氛應(yīng)當(dāng)是輕松和建設(shè)性的;不要試圖貶低或者羞愧別人。主持人應(yīng)當(dāng)加以引導(dǎo),以保證會議始終處于恰當(dāng)?shù)臍夥蘸蛻B(tài)度中,如果失去控制應(yīng)立即休會。
B 制定日程,并且遵守日程
各中會議都有一個主要的缺點:放任自流。評審會議必須保證不要離題和按照計劃進(jìn)行。主持人要有維持會議的程序的責(zé)任,有人在轉(zhuǎn)移話題的時候應(yīng)當(dāng)提醒。
C 限制爭論和辯駁
評委提出問題時,未必所有人都能認(rèn)同該問題的嚴(yán)重性或者能馬上打成一直的意見。不要花費時間爭論這一問題,應(yīng)當(dāng)記錄在案,留會后討論。
D 對各個問題發(fā)表見解,但是不要試圖解決所有記錄的問題
評審會議不是解決問題的會議。問題的解決由生產(chǎn)者自己或者其他人的幫助下完成。問題的解決方案應(yīng)當(dāng)在會后進(jìn)行。
E 作書面筆記
有時候讓記錄員在黑板上作筆記是個好主意,在記錄的時候,評委可以推敲措詞,確定問題的優(yōu)先次序。
F 限制參與人數(shù),并且堅持事先做準(zhǔn)備
倆個人的腦袋好過一個,但是14個腦袋未必就好過4個。將評審涉及的人員數(shù)量保證保持在最小的值上。所有參與會議的人員要事先作好準(zhǔn)備。
G 為每個可能要評審的工作產(chǎn)品建立一個檢查表
檢查表能幫助評審主持人組織會議,并幫助每個與會人員將注意力集中在重要問題上。
H 為評審分配資源和時間
評審要占項目組的資源和時間。所以,評審會議一定要作為軟件工作活動的任務(wù)加以調(diào)度??梢栽诰C合計劃中考慮進(jìn)去。
I 對所有的評審者進(jìn)行有意義的培訓(xùn)
為了提高效率,所有參與評審會議的人都應(yīng)當(dāng)接受正式的培訓(xùn)。
J 會議時間的控制
為了提高效率,每次評審會議只評審一個工作產(chǎn)品,并且時間最長不能超過2個小時。所以要求,在評審準(zhǔn)備時候各位評委事先作好準(zhǔn)備。
|