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