Issue就像黑社會,你不盡快解決它,它會更快帶著兄弟來找你!

    www.kapakresimleri.org
    「威廉老師,為什麼每次專案到最後階段都會這麼痛苦,都有一大堆解不完的issue(bug)?」

    這是我課堂上的一位學員,在中場休息的時候問我的一個問題。要回答這個看似簡單的問題,可是需要從專案的起源和風險的產生,兩者之間的連結講起…

    企業為了生存,就需要獲利;要獲利,就需要新的服務或產品;要產生新的服務或產品,就需要制訂新服務或新產品的策略;為了落實策略,就需要各式各樣的專案,以產出這些新的服務或產品。這樣的脈絡,企業才能夠對客戶提供新的價值,客戶也才會願意以金錢來交換新的價值。

    既然專案產出的是新的服務或產品,那每個專案的產出就是獨特的。既是獨特的,就代表必然會有部分或是全部的工作,是團隊所沒有做過的。這些沒有做過的部分,就會產生所謂的不確定性。那一個專案的不確定性的來源會有哪些呢?

    風險無所不在

    舉例來說,對於一項沒有做過的工作而言,您會如何估算完成這件工作所需要的時間呢?信心程度又有多少呢?同樣的,那成本呢?

    此外,在做這件工作之前,是否有一些預設的前提要件(假設條件)呢?例如,假設這件工作需要使用到某種特殊設備?或是這件工作需要某位專家的協助,才能夠順利地開展?

    說到這裡,一個專案既然有這麼多的不確定性,自然就衍生出許多的風險了(此處的風險是指「負向風險(威脅)」,而非「正向風險(機會)」)。

    風險其實在專案的每個面向都存在,而且,在PM一不注意的時候就變成issue來突襲你!例如,可能有工作漏做的風險(範疇)、逾期的風險(時程)、超支的風險(成本)、功能未達驗收標準的風險(品質)、供應商倒閉的風險(採購)、找不到適合的團隊成員,或成員突然離職或生病的風險(人資)、誤會或得罪人而不自知,或太晚通知相關成員開工的風險(溝通)、因為利益受害而開始有人反對專案推展的風險(利害關係人)等等。

    一般說來,在專案初期的風險應該較高,因為絕大多數的資訊在此階段都不夠明朗。隨著專案的進展,資訊與工作成果愈來愈趨於完整,不確定性大減,風險理應隨著降低。可是在實務上,我們卻往往遇到這樣的狀況:嚴重的問題似乎都會拖到最後階段還解決不了!不然就是到最後階段時,嚴重的問題才被大量舉報出來!好像在專案尾聲,風險反而變高了!我們來看看,這到底是為什麼呢?

    專案初期

    此時,由於功能大多尚未完工,因而相關的測試案例(test cases)也就無法被執行。當然,issue被發掘出來的速度就會慢得多。

    此外,QA單位在還沒拿到可以實測的東西之前,光憑需求和規格文件去定義測試案例,其完整度其實是會有一定的極限的。很多時候,新的測試案例是要在實測的時候,才會有靈感被激發出來,尤其是新功能的各種新用法都還是第一次,更不易被事先定義完整。

    專案中期

    某些問題被發現舉報之後,相關人員往往沒有在第一時間,儘速將它們解決,而是先去趕其他的工作進度。這些已知的問題,就會在陸續開展的其他測試過程中,不斷地造成測試案例的誤判。許多不同角度切入的測試案例,就會因此而測出許多不同的表徵現象(symptoms),並且舉報這些現象為新的issue

    結果就是issue的數量急遽地增加,RD愈來愈疲於奔命地去回覆每項issue的解決計畫(action plan),因而,就更無暇去趕進度、去解決真正嚴重的問題。這就形成了一個非常惡性的循環:愈不儘速解決新問題,新問題就愈快速激增。

    專案尾聲

    此時幾乎所有的功能皆已完工,大多數的測試案例也已被執行完畢,加上各功能之間的整合性測試(例如,整體的穩定度、效能、節電等)也相繼地完成,當然被挖掘出來的問題就相對會比較多,比較廣。

    你不盡快解決它,它會更快帶著兄弟來找你

    專案經驗豐富的人都知道,往往在團隊解決了少數幾個嚴重問題後,同時也會一併結案掉許多其他的問題。原因是,差不多80%的問題都是由20%的根源(root causes)所造成的。根據經驗,這20%的根源往往就是當初新功能送測時,最早被舉報出來的那些問題。這也就是大家耳熟能詳的「80/20法則」。

    因此,我通常都會優先緊盯每個新功能最先被測出來的幾個嚴重問題,迅速將這些根源清除掉,減少它們滋生不必要side-effects的機會(例如,增加RD除錯的難度;浪費RDPMQA大量時間去回應大量的issue;浪費大量的測試資源去測出相同的問題、做重複的判斷和紀錄等)。

    當然啦,我們這裡談的案例,不過是眾多風險類型當中的少數幾種。「趕進度」是屬於「時程可能延誤」的風險;「問題激增」是屬於「品質控管不良」的風險;「功能漏做」而被舉報,是屬於「範疇(工作)漏做」的風險,這裡的每個部分都還可以繼續談很多。

    簡單來講,除了要「盡量」規劃完整(當然不可能100%),以未雨綢繆,防範於未然之外,更要記住「Issue就像黑社會,你不盡快解決它,它會更快帶著兄弟來找你!」因為,這是因應「規劃疏漏」很重要的第二層防護網啊!