很多人都會把「功能模組化開發」想像得很美好。
幾個想像得很美好的點:
1.重複開發成本高,模組化成本可以比較低
2.可以大量重複利用
大方向來說。1跟2都沒有錯。但實作面會遇到的狀況是:
模組化成本比較低的前提是「必須大量重複利用」
所以,你確定有大量重複利用的機會嗎?
還有,如果你沒有足夠的類似需求重複開發經驗,
你要怎麼評估哪些東西該模組化,哪些東西該保持客製彈性?
你知道像WP那種開源系統,就像影片字幕組一樣,
是因為有愛有熱情才有辦法那樣持續無償做,
但一但用商業的模式做成本之高是沒有商業公司會有意願做的嗎?
商業開發上要評估要不要模組化,
就必須要把重複利用的次數這件事考慮進去。
要把重複利用這件事考慮進去,
就要思考「在多久時間內重複利用」幾次的這件事。
如果把時間拉進來,例如三年內重複利用兩次。
那模組化就不是最好的選擇,他反而會浪費,
因為要做模組化的系統開發成本也相對會倍數提高。
如果是三年內重複利用30次。
那模組化就是可以考慮的選擇,
因為拉多次數來看成本確實能夠降低。
很多人在做平台都只會想到重複利用感覺成本可以降低,
卻很少去思考自己有沒有能力推動重複利用的次數高到足以降低成本。
或者也許,自己沒有能力推到的看起來總是比較便宜。也許是這種心態使然吧。