複審

複審

複審雖然與會者可能獨立地準備了一些複審,但複審是以會議形式進行的。

中科永聯高級技術培訓中心(www.itisedu.com)

複審概述
雖然與會者可能獨立地準備了一些複審,但複審是以會議形式進行的。
在流程活動期間持續不斷地監測質量,以防止直到複審才發現隱藏的大量缺陷。在 Rational Unified Process 的每個活動中,參考下面列出的檢查點就是為了在這方面有所加強;在非正式的複審會議或日常工作中使用檢查點。
複審類型
在 1990 年的標準辭彙表中,IEEE 定義了三種複審:

複審
一次正式的會議。在會議上向用戶、客戶或其他相關各方介紹一個或一組工件,以徵求對方的意見和批准。
檢查
一種正式的評估方法,將由非製作者本人的個人或小組詳細檢查工件,以查明是否有錯誤、是否違反開發標準、是否存在其他問題。
走查
一個複審過程,由某個開發人員領導一個或多個開發團隊成員對他(或她)所編寫的一段工件進行檢查;同時,由其他成員針對技術、風格、可能的錯誤、是否違反開發標準和其他問題提出問題並發表意見。
跨團隊進行實施後,複審還提供了發現其他小組的設計和代碼的機會,並且增加檢測公共原始碼的機會、復用的機會以及泛化關係的機會。複審還提供了在不同的小組之間協調構架風格的方法。

在 Rational Unified Process 中,複審在確保質量維度發揮了重要的輔助作用。在 Rational Unified Process 中,確保質量的主要因素在有關“同事檢查”的部分 【ROY98】 中進行了詳細說明。然而,此書的確指出了複審在專業開發方面其他有價值的影響:資歷較低的工作人員有機會了解專家的工作,並讓高級導師對自己的工作進行複審。

計畫
我們對複審制定計畫,以確定複審的重點和範圍,並確保所有參與者理解自己的角色和複審的目標。

在複審之前,通過確定將提出的問題確定複審範圍;確定評估的對象及原因。針對可能提出的各種問題,參閱要複審工件的檢查點。確切的問題取決於項目所處的階段:早期複審將關心較廣泛的構架問題,而後期複審將更為具體。

確定了複審範圍之後,便可以確定複審參與者、議程和進行複審所需的信息。選擇參與者時,應該在軟體構架專業知識和領域專業知識之間建立平衡。清楚明確地指定協調複審的評估負責人。如果有必要,調用其他團隊或組織的其他部分來提供領域專業知識或技術專業知識。

複審員的數目應該大約為七個人或更少。如果選擇得當,他們應該完全可以確定構架方面的問題。如果複審員的數量太多,實際上會因為會議時間過長、參與更困難,以及在複審過程中增加了枝節問題和討論,而降低複審的質量。如果複審員少於四個,則會因為減少了問題的多樣性而增加片面性的風險。

複審員應該在要複審的領域擁有豐富經驗;對於用例,複審員應該理解問題領域;對於軟體構架,複審員還需要具備軟體設計技術的知識。缺乏經驗的複審員可以通過參與複審了解有關構架的內容,但他們對複審的幫助很小,同時他們的參與還可能會分散複審力量。保持小規模的複審小組;參與者不超過 7 個,但不少於 3 個。複審員數量太少會危及複審的質量,複審員數量太多,就無法進行對於獲得質量結果非常重要的互動式討論。

選擇符合以下條件的複審員:

具有相當的背景來理解所介紹的材料
所複審產品或工件的質量與之有利害關係
準備
複審之前,應該收集要複審的工件和所有背景材料,並分發給複審參與者。對於複審材料並收集問題的複審員來說,這些工作必須在複審會議之前很好地完成。預先分發足夠的複審材料,讓複審員有時間準備複審,可以顯著提高複審結果的質量。準備複審還會大大提高複審的效率和有效性。

複審員應該在複審之前研究文檔、構思問題、確定要討論的問題。在複審員正常工作量的情況下,幾個工作日通常是準備複審所需的最少時間。

進行複審
進行成功的複審有幾個關鍵要素:

理解複審流程
確保複審員理解自己的角色
指定協調員
使複審保持簡短,嚴格按照議程進行
確定問題,而不要解決問題
以下將詳細討論每一條。

理解複審流程
一般來說,複審流程是一個重複進行的循環過程:

複審員提出問題
討論問題,同時對問題進行了確認
確定缺陷(確定需要解決的地方)
直到沒有確定的問題時再繼續下一步
為了使這個過程有效進行,每個人都必須理解複審的目標是提高複審工件的質量。應該以發現問題的挑剔眼光來複審工件。這種做法可能很困難,所以所有複審員都必須經常提醒自己將重點放在確定問題上(我們天生就會解決問題,但作為複審員我們必須忘掉這一點)。

我們都強烈地感覺到工作是屬於自己的;通常,我們很難接受批評,甚至是建設性的批評。因為這樣,我們必須更加努力地工作,以便將注意力集中在複審目標上:使工件的質量更好。

理解複審員角色
為了進行有效的複審,每個人都必須扮演一個角色。更具體地說,必須扮演某些角色,而且複審員不能輕易地轉變角色。複審中的基本角色有:

協調員
記錄員
介紹員
複審員
協調員確保複審按議程進行,並以當前的主題為重點。協調員應該確保對枝節問題的討論不會使複審脫離正軌,而且所有複審員都以平等的身份參加討論。

記錄員經常被忽略,但卻是複審團隊中必不可少的部分。其專職任務是記錄所討論的內容和要採取的行動。將此任務分配給某個複審員,實質上??有記錄下所決定的事情,就很可能會導致將來再次發生該問題。確保指定一位記錄員,並保證這是此人所扮演的唯一角色。

介紹員是複審工件的製作者。介紹員解釋工件和理解工件所需的所有背景信息(如果工件不是無需解釋的,可能需要做一些工作)。重要的是,複審不能變成“審訊”,因為複審的重點是工件,而不是介紹員。協調員的作用是確保與會者(包括介紹員)記住這一點。討論開始,介紹員首先發言,回答問題並提供解釋說明。

複審員提出問題。一定要側重於提出問題,而不要耗費大量精力討論如何解決問題。注重結果,而不是方法。

指定協調員
正如上面所討論的,協調員對於保持複審不失去重點起到了關鍵的作用。有一點很重要,協調員的工作重點是使複審不脫離正軌;他不應該具有複審員的職責。協調員的作用是獲取討論,確保大家平等地參與會議,確保爭論不會影響大局。這是一個專職的任務。如果不能有效地協調,複審就無法達成預期的結論,而且也無法實現他們的目標。

使複審保持簡短
簡短而側重於明確目標的複審是最有效的。因為很難長期保持重點,而且複審員還有其他的工作要做,應該將複審時間限制在兩小時之內。如果要進行時間較長的複審,可以將其拆分為幾個規模較小、更有重點的複審。如果複審員能保持重點,就會獲得更好的結果。

這種作法的關鍵是制定非常確定的議程和清楚明確的目標。分發複審材料後,應該向大家傳達這些目標,而且複審會議開始時,協調員應該強調這些目標。之後,在會議進行期間,協調員還必須經常地(有時是強迫性的)強調這些目標。

確定問題,而不要解決問題
複審會議無法實現預期結果的一個主要原因是,會議很容易變成關於應該如何解決問題的討論。解決問題通常需要調查和仔細思考;複審的形式對於這種討論來說不是一個有效的方法。確定了問題之後,確定該缺陷是否必須得到解決,之後將調查和解決的任務分配給某個人。複審會議應該只注重確定問題。

如果問題需要一組人作進一步的討論,就另外召開一次單獨的會議重點討論該主題。通常,這種會議需要一些調查和準備工作,而且需要一些具備適當工作技能的人員參加。複審應該將重點放在確定其他問題上。協調員經常需要施加相當大的影響,來確保複審會議側重於這個方向。

對複審結果採取行動
如果不對複審結果採取行動,那么複審就沒有什麼價值。複審結束時:

確定問題列表的優先順序。
創建缺陷,以追蹤問題及其解決辦法。
如果需要進行其他調查,將調查問題(而不是解決問題)的任務分配給一個小團隊。
對於可以在當前疊代中解決的問題,指派一個人或一個團隊解決該問題。
將未解決問題的列表留給未來的疊代計畫工作。
© 1987 - 2001 Rational Software Corporation。著作權所有。

相關搜尋

熱門詞條

聯絡我們