l

2010年6月13日 星期日

老闆,軟體不是這樣開發滴

6/13 08:45~10:50

N 年前台北捷運藍線 (板南線) 通車之後,有一天 Teddy 和第一份工作的老闆一起搭捷運(忘了去做什麼好事)。上車之後我們聊到捷運的方便性:

Teddy :捷運通車之後節省了很多通勤時間。

老闆:我認為節省時間還不是最重要的,因為捷運使得通勤時間變的『可預測』,會因此改變人們的行為模式。

PS:當時捷運木柵線還沒有遇到強烈月光而變身為『詐胡線』,否則老闆就不會這麼說了...XD。

重點來了,速度快當然很重要,但是捷運的『可預測性』卻是改變人們生活習慣的主要因素。Teddy 第一份工作的公司剛好在捷運忠孝敦化站附近,沒有捷運之前,Teddy 搭公車可能要 40~50 分鐘才能到公司(還不包括等公車時間)。有時候趕時間搭計程車也不一定比較快,因為雖然平常覺的台北的計程車多的跟螞蟻一樣,但是上班時間經常等了很久也攔不到一輛空的計程車。所以為了不想上班或是約會遲到,就必須要提早出門以『容忍』這些『不可預測性』。有了捷運之後,從甲地到乙地(假設都在捷運沿線)的通勤時間就變得比較可預測,因此無論是人們買房子,找工作,開店,約會見面,就經常會挑選捷運沿線。這就是所謂的『改變人們生活習慣』。

『可預測性』相當大的程度是立基於『可靠性(reliability)』之上。以路上交通而言高鐵速度夠快了吧,時速 300 公里,台北到高雄 90 分鐘,好貴 好方便啊。如果今天有人發明時速 9000 公里的『超級高鐵』,台北到高雄縮短到只要 3 分鐘 ,但是有 1% 的出事率(就是平均搭 100 次有一次可能會出事),鄉民們除非是想要賺保險費,不然應該沒人敢搭。

現在『詐胡線』被罵到臭頭也是相同的原因,『詐胡線』通車之後的確變得很方便,但是它的『不可靠性』卻總是讓乘客們『心裡毛毛的』。搭完『詐胡線』沒出事內心的感受有點像是不小心中了 200 塊發票一樣湧起一絲小小的安慰。大眾運輸能蓋成這樣子,也算是『台北奇蹟』了。

***

但是,做軟體就不一樣喔,反正一般的軟體出包又不會『死人』,因此這種『先研究不傷身體,再講求藥效』的理論就不適用。所以,做軟體有自己一套的公式:

(交貨速度 = 收錢速度) >>>>> 軟體品質

備註:(交貨速度 等於 收錢速度) 大大大大大於 軟體品質 。

所以,你的老闆便可以理歪氣壯的大聲說出以下名言:
  • 做專案的不需要自動化測試,做產品才要。
  • 解 600 多個 bugs 要靠找『domain know-how』很強的人來幫忙。(Teddy 內心獨白:老闆,啊你嘛『幫幫忙』)
  • 沒有測試人員沒關係,工程師自己測這樣就很好了。
  • 這個軟體可以準備 release 了,先找幾個客戶試用。(小工程師內心獨白:報告老闆,軟體連 alpha test 都還沒開始耶)
  • 軟體現在不能 release ?!我已經等了  Ν 年了,我不想再等另一個 N 年。
  • 我最多給你三天,在三天之內把這個 bug/功能 給我改/做好。
***

台灣的硬體代工產業實在是太強了,強到把所有的養分都吸光以至於軟體變得很弱(這就好比 Teddy 因為中文太好以至於英文很爛是一樣的道理...XD)。雖然口頭上喊著『軟體』很重要,但這些大老闆與高階主管們絕大多數還是以代工硬體的思維來看軟體開發。

老闆:我一個工程師3~4個月就可以獨立設計一塊電路板,你們六~七個人做個『小』軟體搞了兩年還做不出來。

大老闆與好不容易熬出頭的各級主管們,Teddy 知道你們每天都有開不完的會,加不完的班,都很忙,忙到沒時間去了解軟體要怎麼開發。但請用你的『膝蓋』想一下,設計一塊電路版的背後,有多少的協力廠商已經提供好 solutions 了,而且主動的跟公司推銷這些既有的 solutions。硬體分工很細,遇到問題,背後各有不同的協力廠商會出面協助解決。有很多在硬體公司開發軟體的人,名義上號稱是設計與開發軟體,但實際上可能是只有負責把公司從其他廠商(通常是國外廠商)買來的軟體或是韌體修修補補,調整成自己公司所需要的,比較少真正有自己的軟體產品。就算是有心想要做自己的軟體產品,老闆卻天真的認為軟體開發沒什麼學問,什麼都『自己來』就可以了。 

老闆:什麼,要花錢買 components(當然是 software components),15 萬,這麼貴,自己寫比較省。要導入 Scrum,10 萬,這麼貴,自己試就好了 要導入自動化測試,8 萬,這麼貴,人工測一測就好了。要.......『賣夠共阿啦』(別再講了),要什麼一律免談


***  

Teddy 的第一份工作曾經開發過『連鎖洗衣店門市進銷存系統』。大家一聽到『洗衣店』一定覺的這是一個很 LO 的產業,除了當兵的時候集體送洗過衣服的超噁爛經驗以外,Teddy 從來沒有過到乾洗店送洗衣服的經驗。當時 Teddy 的直覺反應也是:『洗衣店,欬,沒什麼了不起,沒什麼了不起』。

等到 Teddy 接觸到洗衣店老闆(是一位女士)之後,嚇了一大跳,人家可是『哈佛 MBA』。在訪談需求的過程中,更是發現老闆的經營策略與台灣傳統的洗衣店大大不同,不論從『門市人員聘用』,『教育訓練』,到『定價策略』,背後都有一套科學的作法,讓 Teddy 大開眼界(真的是人外有人,天外有天。人家洗衣店老闆很低調也很客氣,並沒有一天到晚把自己是哈佛 MBA 放在嘴上)。

人客啊,人家經營洗衣店這種『傳統產業』都這麼用心了,開發軟體難道不應該也『科學化』一點?清朝末年有一段時期,中國人覺的『火車』會破壞風水,極力反對蓋鐵路,現在中國土地上高鐵滿地跑。老闆啊,軟體工程不是洪水猛獸,更不是『髒話』,經營管理的書老闆們看的夠多了,抽空看看軟體開發的『閒書』吧。再沒時間看看 Teddy 的『搞笑談軟工』也是 C/P 值頗高的一項投資。

***

友藏內心獨白:等一下又要去『天瓏』逛逛。

3 則留言:

  1. 附加一個老闆名言:
    有bug?! bug還不是軟工寫出來的~

    回覆刪除
  2. 所以從今天起,為了減少 bugs 數量,不准任何人寫任何一行程式,只要專心 debug 就好了...YA...

    耶,debug 不是也要寫(改)程式...這表示...更多的 bugs...無窮迴圈。

    回覆刪除
  3. 再加一刀好了

    "會寫程式有什麼了不起,不過是一堆printf/if-else/for loop....

    回覆刪除