1220 問對問題

跟某間外商公司的人交手久了,其實我覺得有的時候一些「怨念」在於他們聽不懂我們問的問題,我們有的時候也問錯問題。 有的時候會覺得這些外商的 FAE 非常好當,反正隨便回答一下就好了。

事實上最近幾個難解的 issue 都是一開始就問錯了問題才導致後來很難解。例如說我找到了一個問題的正解,結果因為太晚到我這邊才被我找到,中間進了幾百幾千版,然後後面還有其他問題有同樣的症狀但是不同的原因,使得我必須一直要大海撈針。撈出了三個(其實其中有一個還不能確定是不是我錯怪了他),還要面對一個因為大進版所以還不知道怎麼去分析的問題。

然後問 Vendor ,又一開始就問錯問題所以其實他們也不知道我們在問什麼。所以就亂猜然後回答。事實上,如果一開始就問對問題,那這個 issue 就會變成三個不同的小 issue 加上一個大 issue ...

很多時候,原本是小問題的 issue 最後變成很錯綜難解的 issue 就是這樣,因為沒有在一開始就成功把問題切開來縮小問題的範圍,並且讓人周知,使得後來在問題點上加上去的東西會引發其他更多不同的問題。

那要怎麼樣一開始就正確問到對的問題呢?我自己的經驗是,不要馬上就把症狀當作是症狀。

例如說,我在追查的這一個問題,其實一開始到我這邊來的時候,講的是,某個 clk 引起問題。但是我不管怎麼查 code ,我最後只能得出,這個 clk 在那個時候還在抖是正常的,他是症狀,不是原因。但是我一開始也被這個描述給誤導,所以一直往錯誤的方向追查下去,最後我終於跳脫這個思路,判斷報給我的原因不是原因,而是症狀。我最近解到的問題其實都是這樣,都是一開始報給我的原因都是錯的,那都是其他的東西引起的症狀。

然後就要開始找原因,一開始因為對這邊的 debug 技巧不夠熟,所以繞了很多遠路,然後再把問題縮小了之後,找了其他資深的同事討論。討論。 在我把範圍縮小的對的問題問出來後,資深的同事馬上有人想到之前也有類似的問題, 然後我就在上上週瞬間找到解法。本來想說又可以作其他的事情了,結果...

「Nine-Way, 你的那個 solution 還是沒有解這個症狀啊!」
『怎麼可能? X! 還真的新版的還是一樣?到底是誰!!!!』

因為其實問題早在很早就被發現了,只是大家一直很忙,然後終於到我這邊來的時候其實已經過了快一個月,我又花了一週釐清問題找到解法,結果這五週進了一大堆新的 commits (上千個) ,而且還有一次大進版(也是上千個)...

最後繼續坎坷後,終於把問題釐清(果然是大進版造成的問題),如果一開始就問對問題,那這個大進版造成的問題就會有個明確的方向可以追查,而不是一直重複找到一個,然後因為後面又進版了,結果又被其他的問題引起同樣的問題。我最後這一條 issue 下面我解掉了六個子 issue 才把問題解決,原本只是一條小 issue 啊...

Comments

comments powered by Disqus