Project management有一個威力強大的武器--Review。
依project的life cycle,一般RD都會經歷requirement review、design review、code review、bug review,也會有schedule review、risk review、document review等等不同的review。Review的時間點可能是daily review、weekly review或是依事件發生點來review。而review的參與者至少有owner和reviewer,常常也會有其他相關人員或專家參與。然後review會有記錄,會有actions。
Review是一個同步大家的認知並達成共識的過程,也是一種認證和背書的行為,目的是為了藉由不同人角度儘早發現問題,降低做錯而重做的程度和次數。當然review是要付出代價的,先不論owner準備review要花的功夫,光review這個動作就會佔用owner和reviewer的時間。Review的代價是顯而易見的,大家都看得到,也感受地到,但是review的成果卻是隱性的,除非有人把成果量化並且做出比較,不然review的成果很容易被忽略。
我們先借用一下The Math Behind Agile and Automation文章裡的三張圖,藍色線代表的是解決一個bug所需要的成本,可以看得出來愈後期cost愈高,而且決不會是簡單的線性關係。舉個簡單的狀況說明一下,例如在coding phase,RD是自己實作自己測試,發現bug時就自己解決就可以了,但是如果該bug沒有被RD發現而是一直等到testing phase時,由VT測試人員發現,該bug還是要回報給RD處理。簡單的流程,但是在成本上就有很大的差異,就project的角度來看,在coding phase解決bug的人力成本只需要RD而已,但進testing phase解決bug的人力成本就需要RD和VT。再來看時間成本,因為系統的整合關係,愈後期bug的複雜度愈高,RD需要更多的時間才能解決bug,而且bug解完了還需要交由VT花時間去驗證。而且實際project的操作上VT發現bug後,並不會馬上交給原本的RD,常常是需要經過好幾位RD的分析才知道造成bug的原因是什麼,最後才交給原本的RD處理。當然有時候也會由其他的RD找出其他的方法解決,只是要承擔這種非正解可能有side effect的後果。影響這麼多人,花了這麼多分析、溝通、驗證的時間,成本的差異相信是很明顯的。到出貨階段回報的問題,影響人就包含客戶、FAE、Sales、VT、RD,甚至可能嚴重到影響彼此的合作關係或賠上公司信譽,那成本就更可怕了。
Figure A |
Figure B |
Figure C |
以RD的角度,就是發現bug,解決bug。解決bug跑不掉是要落在RD自己身上,但是對於發現bug,有些RD就會認為交給VT,用VT的時間來省自己的時間!這樣的做法無疑是把圖形中的紫色曲線右移(後期)了,對解bug的成本是大大增加的,是很不可取的,如果發現這樣的情況,PL應該要立即糾正。再從做事的態度來看也是一種不負責任的且自私的態度。PL應該要去了解RD會這樣做的原因,如果因為RD的loading太重了,造成他不得行此下策,那就要想辦法幫他分擔loading,如果發展是普遍的風氣,那就要想辦法灌輸正確的觀念和做事態度,或是更落實review的機制,透過制度面來減少這樣的漏洞。
Review是你的武器,用得好會加速你的project,但是濫用的話,也是會傷了你的project。幾個review常見的問題和陷阱,在這也做個提醒:
A、Review流於形式,有制度卻沒效果
Review是專業的行為,是要能找現問題,而不是reviewer簽個名做做表面功夫。會流於形式表示大家還不認同review,需要多花時間在教育和溝通上,只有重視review並認真review時,才會看見效果。
B、Review沒有重點
剛開始review,會不知道怎麼review,該review什麼,重點在哪裡。Project可以針對不同的review定義各自的review重點。例如design review可以著重在solution的優劣選擇、架構設計、模組切割、Flow chart、Command/Data的sequence flow、Interface的定義等等。也可以整理出常犯的錯誤做為review的重點。一旦有review的重點,也可以提升review的效率。
C、找不到reviewer來review
Reviewer通常是找專家來擔任,但是有可能專家太忙,沒時間幫owner review,或是新的feature,沒有專家可以當reviewer。當沒有足夠的專家資源可以做reviewer時,leader、資深RD、能力強的RD或是feature相關的RD也可以當reviewer。Reviewer找相同function team的成員在review的溝通上會比較順暢。
D、Review成為一種干擾
Review的主角是owner和reviewer,基本上是二方協調好reviewer的時間地點就可以了。但是如果owner每實作一小部份就找reviewer做review,也會因為太過頻繁而中斷原本reviewer的工作。累積到適當的量或實作到某一個階段再來做review,才能有較整體的review,也不會讓review成為一種負擔。
沒有留言:
張貼留言