翻舊帳

2013年9月12日 星期四

Schedule就是用來Delay的!

標題非常大逆不道.



我特地做了個很愚蠢的甘特圖做為這篇的封面.

首先, 任何一個schedule, 理應是排程的負責人攪盡腦汁, 考量了眾多變因, 算無遺策之後的結果.
如果每個人掌握的資訊相同, 立場一致, 排出來的schedule一定相去不遠.
不過, 每個人有每個人的立場, 所以看出去的角度自然不一樣. 為了弭平眾議, 於是我們開會.

但是, 在加入了"討論"這個過程之後, 得出來的schedule, 很有可能是加上了某些前提之後得到的結果.
比如原本該專用的人力被調去"同時支援"另一個案子, 因為"他應該在這個時候會有空做這件事".
比如原本該給前端的測試修正時間被"樂觀地"無視, 因為"這很簡單, 應該沒有問題".
比如原本應該要做的完整測試被"天真地"刪減, 因為"這功能在另一個案子測過, 不會出包啦!"...etc.

此時, 所謂的schedule, 它代表的意義其實只剩下: "目標".
一個有可能達成但幾乎所有人都心知肚明可能性不高的, 目標.
為什麼這麼說?
因為算無遺策的前提是不可掌握的變因越少越好, 變因的複雜度越小越好.
但你們卻自顧自瘋狂地增加變因, 而且還期望這些不曉得是幾次元來的變因乖順地像是常數.
看著天氣圖, 衛星雲圖, 地球模擬器, 歷史資料作為判斷依據的氣象局都還會預測失準了, 你憑什麼認為這種像是矇上眼睛隨手畫出的schedule會成真?

話說, 有目標其實也還算是好事.
至少可以確定所有參與者知道前進的方向.
反正, 在前進的同時慢慢修正之前錯誤的預測, 最後, 事實跟預測總是會重疊的吧!?

但那些在一開始的會議中曾經試圖"修正"你錯誤預測的人, 在這時候可就不再像規劃時那樣樂觀了.
他們會跳著, 叫著, 但從來不是笑著地喊:
"This is your promise!"
"我不聽我不聽! 你就是要給我!"
"出不去都是你的責任! 當初是你答應這個schedule的!"
"假日可以加班趕出來啊!"

唉...
所以, Schedule就是用來Delay的.

因為你們從來不想聽實話.



至於debug的schedule, 那理所當然是個用來delay的目標, 只是更沒人想聽.

你可以用90度的熱水泡一碗泡麵, 而且可以很精準地知道它在三分鐘後可以食用.
為什麼?
因為這是經過無數次驗證後的結果, 它是個可以被預測的過程.

但, 解決一個bug?

這好比是警方辦案, 你能夠要警方限期破案嗎? 在沒有足夠證據支持下限期破案抓到的嫌犯你確定不是替死鬼嗎?

debug要知道解法之後才能確認完成時間;
要知道解法得先確認root cause;
我要是知道root cause, 這bug我早解了還會讓它留在那兒等你嚷著要schedule?

我不認為智力造成了溝通的鴻溝.
會一直發生這種衝突, 單純只是因為你們從來不想聽實話.

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...