年紀大了,好像要講什麼故事都是發生在 10 幾年前。話說 Teddy 第一份工作,在開發『連鎖洗衣店門市進銷存系統』之前,Teddy 還開發過『連鎖 XX 門市進銷存系統』。這個 XX 代理美國知名『環保』品牌的『香精』,『洗髮精』,『口紅』,『茶』等等產品(奇怪,Teddy 怎麼淨做些湯湯水水的系統?)。故事發生在第 N + 1 次的會議中:
XX 總經理:Teddy 啊,我們請木工做一個衣櫥,木工會幫我們測量衣櫥大小。如果木工不小心把木版的尺寸裁切錯誤,是要自己吸收費用的,不可能讓業主來出這一筆錢。你們做系統經驗不足,都沒有給我們『專業』的建議,導致需求改來改去的。現在又要我們全部負擔需求修改的費用,這樣是不是不合理?你們也應該要吸收一部分的修改費用啊。
Teddy 當年只知道傻傻的寫程式,內心跟一張『尚未使用過的舒潔衛生紙』一樣純白,屬於標準的『年幼無知』加上嚴重『涉世未深』,所以完全不知如何反駁對方。
現在的 Teddy 會說:XX 總經理,你嘛幫幫忙,怎麼會『木工,軟工,傻傻分不清楚』。
Teddy 倒是要請問 XX 總經理:
- 妳家衣櫃四周的牆壁位置,地板與天花板的高度,會隨時變來變去的嗎?
- 衣櫃門板材質選好之後,木工也裁切好了,妳還可以改變材質嗎?
- 木工把衣櫃都做好之後,妳可以因為突然發現『衣服太多放不下』的這個理由,請對方拆掉重作嗎?
- 衣櫃作到一半妳可以請木工改成狗屋嗎?
可是,做軟體的卻應該免費隨便修改到客戶爽為止。軟體真是世界上最神奇的東西啊,既然軟體是『軟』的,老娘愛怎麼改,就怎麼改,但是休想從老娘的口袋多掏出一毛錢來。總之都是軟體廠商『經驗不足』的問題啦,老娘讓你們學經驗沒跟你們收錢就已經很不錯了。
***
『軟體需求』會一直改變,這一點應該算是『常識』了吧?!不過人類總是有『視而不見』的超能力,就好比某段相聲裡的台詞:『我的眼睛裡只看得到我想看的東西』,所以還是有很多人很自然地看不到『軟體需求會不斷改變』這個事實,而認為只要很有經驗就可以『第一次就做對』,因此客戶只要『不花腦筋』地付錢了事便可。
老闆,別再『木工,軟工,傻傻分不清楚了』:
- 首先,您要做的系統,雖然 95% 的內容可能在世界上某個角落曾經有人做過,但是除非你能剛好找到這個『有經驗的人(所謂 domain known-how 很強的人) 』來做需求分析,否則對於你目前找來的『包商』而言,這可是全新的體驗。
- 就算是你找到這個傳說中『domain known-how 很強的人 』,也不可能開發出『第一次就做對的需求書』,這個東西應該還沒有被發明出來。
- 幾乎大部分的軟體開發專案都可以被歸類為『新產品開發』(書上寫的,那一本書要再查一下),所以風險一定很高。能夠找到愈多『有經驗的人』當然可以降低風險,但是不可能降低到零,否則開發成本可能會變得無限高。
- 找到有良心的開發團隊(這...哪裡有啊!)。
- 自己要多做功課,畢竟軟體最後是自己要用的,現在偷懶以後更痛苦(如果是自己家裡要裝潢,不可能自己不做功課吧... IKEA 都不知道跑了幾趟,咖啡喝到胃潰瘍發作)。
- 與對方維持良性的互動。
- 要求對方採用 Scrum。
***
友藏內心獨白:一步到位聽起來很爽,但好系統跟好酒一樣,是需要時間醞釀滴。
沒有留言:
張貼留言