跳到主要內容

Build or Buy 自建或購買軟體

 對於一個中小企業來說,成本絕對是首要考慮的因素,當使用者或高層提出需求/構想時,IT部門應該要如何處置呢? 是買市面上的商品還是找IT人員做一個,或是直接在Github找一個Open Source的套件來用呢?現在AI時代很多人提到RAG也是同樣的想法,就一併來討論吧!

做為一個資深的傳統產業"基層"IT人,對於這類的問題體認頗深。幾年前有幸聽過臺灣50大企業的經理人開悟,當時他提出 "Build or Buy" 的概念給敝公司IT主管,工程背景的資深主管想著軟體不是誰都會寫嗎?找底下一個優秀的工程師寫一年總行了吧?再不濟去找一個Open Source的專案來改一下就好。 所以敝公司的MIS系統全都是自建,包括人事與薪資、差勤系統都是一人完成的系統。

這樣真的好嗎?若人事只是人事記錄,確實沒什麼問題,可惜幾年過去後,組織重整就不是這麼單純。當有人開始職務調動,部門改名時要有異動記錄,離職後再復職需要統計年資時要怎麼算?保險公司每年都需要重新計算保費,必須依照各間保險公司的規定以不同的保費計算方式。薪資、差勤的規定必須遵守勞基法,當勞基法變動或政府機關的解釋令下來時,程式就必須跟著修改,更遑論公司裡奇奇怪怪的內規,還有勞資會議的變動等;前幾年勞基常變動時,MIS每年都在改差勤計算;這幾年又出現資安法,為符合資安規定,每次修改都要寫一大堆表單,還要修補漏洞,改得沒完沒了。養一個人的成本超過百萬,拿這些錢去買個進銷存系統和保固,會不會還有剩?省下來的錢可以再投入開發其他市面上沒有的系統,或是把這些系統銜接加值運用。

再回來談其他系統,我剛到這間公司時還沒有Webmail,所以就導入OpenWebmail,誰知道董仲愷博士 (參考資料)畢業幾年後,到2006年的2.52版就沒有人維護,一直到2014年後才由其他社群接手維護;此時本公司已經購買本土的"公開找"公司出的"郵件兩千"軟體。那採用商用軟體的結果呢?只能說:很爽。遇到奇奇怪怪的問題時直接找 Support,信打不開時找Support,被駭客DDoS攻擊時找Support;所有煩人的事他們都遇到了,一通電話就搞定,省下的人力(就是我)跑去支援其他部門的專案,替公司賺的錢遠超過購買成本。 特此聲明無業配,若公開找要我業配請留言:D。 

回頭來談 RAG 吧,可能略懂資訊的主管會覺得我手下有幾個不錯的年輕人,具備幾年的開發經驗,也有聽過李宏毅教授,陳縕儂教授的AI課程,可以寫個撿豆子程式,就讓他們來做吧。事情真的有這麼簡單嗎?一開始 Prototype用AnythingLLM架個網站,放一些Demo文件,下載個小模型再買二張RTX 4090就收工。接下來上線後同仁覺得不錯,要求放進去大量文件,此時才開始痛苦,各類型不同的文件匯入的問題,資料怎麼會短少?出現幻覺怎麼處理?用量大時服務沒反應怎麼辦? 高層要求出使用報表,還得想辦法做精美的使用統計。等到再過一陣子,內部模型與新的模型能力差距越來越大,換另一個模型時又需要不同的調校,文件需要重新做embedding匯入...。除非是科技公司或是資訊公司要鑽研此方向,其他公司根本就沒有本錢自行開發 RAG 。

公務機關曾有一個計劃是做Open Source的共用資訊系統,後來不讓非公務機關存取,我也不知後續了;但已知目前許多公務機關都直接使用上級所提供的系統,不再需要自行採購或發包。

在一般中小企業,對於市面上有需要功能的產品,我都不建議自建,尤其是從頭打造,根本是浪費資源。企業內部不可能存在不需要維護的系統,在宇宙間唯一不變的真理就是「變」,需求會變、環境會變,人也會變。Think before you act. 決定開發前先算成本,尤其是人力成本與時間成本,真的有必要自行開發嗎?


留言

這個網誌中的熱門文章

自然人憑證讀卡機驅動程式

鳥毅用的是第一代的自然人憑證讀卡機,EZ100PU(後來有同事買EZmini可以讀SIM卡似乎更好),每年報稅時用一次。 本來只是要申請些政府業務,一時之間找不到光碟,沒想到在 驅動程式下載 居然看到Linux和Mac的驅動程式,剩下的就是政府單位的網頁和程式應該改版了吧!!!

DBeaver 介面語言

DBeaver是我個人頗常用的一套跨平台Database管理工具,最近升級後發現Windows版本居然變成簡體中文,而且無法切換為英文。

如何將較高版本SQL Server複製到低版本SQL Server (降級為舊版)並保留權限及資料庫圖表

一般若是要將SQL Server裡的Database轉往其他Server時,最簡單的方式就是備份(Backup)後再還原(Restore),或者是䣃離(detach)後附加(attach)。 但是很不幸地,若是由較低版本(e.g. 2008)到較高版本(e.g. 2012)要怎麼辦呢?