實習的時候,我講過一句現在想起來還是會害怕的話。
主管問我某一塊測得怎麼樣,我說:
「喔,那部分我看過了。」
我不是在說謊。我真的有看過——我打開那一頁,滑過去,畫面長得跟預期一樣,沒有紅字,沒有壞掉的排版。在我當時的理解裡,那就叫「看過了」,而「看過了」跟「沒問題」是同一個意思。
後來我才知道:看過跟測過,完全是兩回事。
看過,是我的眼睛掃過那個畫面,沒有東西讓我覺得不對勁。
測過,是我事先決定了前置條件、我預期會發生什麼,然後我確認實際發生的跟我預期的一不一樣。
前者是被動的,我等著問題自己跳出來讓我看見。後者是主動的,我拿一個明確的問題去問這個系統,然後寫下它的回答。
沒有問題的觀察,抓不到任何東西。因為我根本沒有在找。(大學那段單戀也是這樣,我以為我在觀察,其實我只是在等對方自己講。)
我當時會把兩者混為一談,是因為在我腦中,測試的產出就是「有沒有發現 bug」。既然我看了一圈沒發現,那結果不是一樣嗎?
不一樣的地方在於:如果我是測過的,我講得出我測了什麼;如果我只是看過,我講不出來。而我講不出來這件事,主管是聽得出來的。
現在回頭想,我會脫口而出「我看過了」,是因為我以為主管問那句話是在要一個答案——好或不好、綠燈或紅燈。
所以我給了他一個綠燈。
但他問的其實不是那個。他要決定的是這個東西能不能出去、什麼時候出去、出去之後他要不要提前跟誰打招呼。他需要的是一個他可以拿來做決定的東西。
一個綠燈沒辦法拿來做決定。它只能拿來相信或不相信。
這個錯我後來又犯了一次,換了一種形式。那時候我已經不是實習生了,我學會做很漂亮的報告——通過率、圖表、已知問題列表,整整齊齊。我以為這樣就夠專業了。結果對方看一眼,問:「所以這版到底能不能上?會不會出事?」
我當下的反應跟實習時一模一樣:我不是都寫在上面了嗎?
但通過率 98% 這種東西,跟「我看過了」是同一類的話。它聽起來是個結論,實際上沒有邊界。剩下的 2% 是什麼?那 2% 會不會讓某個版本的使用者結不了帳?這些他都要自己在腦中翻譯一遍。
我每次交出一份需要對方翻譯的東西,就是把判斷的工作丟回給他。
我後來慢慢學會的做法,其實一點門檻都沒有,我當實習生的時候就做得到,只是沒有人告訴我可以這樣講話。
不要只回「可以」或「不行」。把範圍講出來:
「主流程我照著計劃跑完了,沒有問題。但某個比較邊緣的情境我只驗了一半,因為測試資料我準備不出來。如果你要今天上,我把那段情境的風險講給你聽,你再決定。」
我當年不會這樣講。因為在我的理解裡,「這版到底能不能上」是一個超出我權限的問題,我一個實習生講了也沒有用。
這個理解沒有錯——那確實不是我能決定的。但我可以把判斷的材料放到他面前,決定還是他做。
我現在覺得這就是由下往上的樣子:不是我忽然有了權力,而是我讓有權力的人能做出更好的決定。這件事不需要任何人授權,實習生也做得到。
下次要回報的時候,不要只給一個結論。給這三件事:
我測了什麼。我沒測什麼。我為什麼沒測。
第三項最重要,也最少人寫。沒測的原因通常不是偷懶——是時間不夠、是環境壞掉、是資料做不出來、是那塊根本沒人跟我說這版有動到。這些寫出來,對方才知道他手上這個「可以上」是建立在什麼之上。
昨天那篇的收尾,是向上問一句「你會從哪裡開始懷疑」。今天這篇,是向上講清楚我做了什麼、沒做什麼。
一個是把對方腦中的地圖挖出來一點,一個是把我自己走過的路線畫清楚。這兩件事加起來,才開始有點像「保證」。
明天聊第三件事:同樣一句「這個要測一下」,你的主管是 PM、是 RD 主管、還是 QA 主管,那句話的意思完全不一樣。