這是在Joel上看到的,軟體開發中的五個世界:
- 熱縮封膜(Shrinkwrap)軟體
- 內部用的軟體
- 嵌入式軟體
- 遊戲軟體
- 用後即丟的軟體
原來在學校學的軟體開發內容幾乎都是內部用的軟體這一個體系,當工作之後一直想把學校教的套進來,一直覺得格格不入,感覺非常奇怪,其實我認為如果是用學校教的開發方法,來開發我們的軟體,並不會那麼的適合。
看完這篇才恍然大悟,原來我們是屬於熱縮封膜軟體,這樣看來一切都很好解釋,我們並不是為特定人員開發功能,所以無法透過訪談使用者來瞭解需求,在需求分析那塊就跟學校教的大不相同了,基本上我們或許會為特定族群開發部份功能,例如港股資訊或技術自設指標的Key Pro的應用,雖然並不是每個投資人都看港股,或都會跟投顧買指標,但是這族群夠大,值得開發。但是我們並不應該為特定的個人來開發某些功能,因為我們是靠量來獲利。在開發新功能,必須先考量這項開發值得嗎,花了那麼多時間、資源開發,能回收嗎?所以大部分的功能都是在猜、預測這功能開發完後能夠大賣。
看了那麼多有關軟體產業的文章,覺得軟體開發人員,想靠本業賺大錢,最有可能的世界是熱縮封膜或嵌入式,嵌入式是綁硬體來賣,技術門檻夠高,但是賺不賺的了大錢,還是得看硬體臉色。而熱縮封膜爆發力夠,因為熱縮封膜可以讓大量化無成本的軟體特性發揮到最大,而要能夠達到這種境界的軟體,有幾個特性:夠穩、有特色(其他軟體不易模仿)、有跨入門檻(使用者不偏好轉移使用,像word或軟體使用技術夠難)。這樣來看,其實要能大賣的熱縮封模式,其技術門檻不應該低。
這篇文章,有一段很重要的話:
當你閱讀那些由專業軟體開發大師或顧問撰寫的程式設計方法書時,可以放心認定書裡說的都是企業內部用的軟體開發。不是熱縮封膜軟體,不是嵌入式軟體當然也不會是遊戲軟體。為什麼呢?因為這些大師都是企業在請的,是企業在付他們的薪水。
所以大部分軟體開發的書籍教的都是內部用的企業軟體開發,鮮少看到熱縮封膜式的,所以當我們看的一個軟體開發方法論時,得回頭來想他講的是我們的世界嗎?
留言