服務

老舊系統重構與資料搬遷:10 年老系統怎麼換掉又不停機?

2026.09.17 · 32 次瀏覽
老舊系統重構與資料搬遷:10 年老系統怎麼換掉又不停機?

從絞殺榕分階段替換到雙寫平行運行:四種方案矩陣、新台幣三級預算與隱藏費用、七階段流程、五個陷阱、90 天路線圖與 10 題決策清單

分享:

「原廠說這套系統不再維護了,但我們每天還有 400 張單靠它跑。」這是今年最常接到的電話。對方多半有一套 8 到 12 年前發包的系統,跑在早已終止支援的環境上,原開發者失聯,庫裡躺著 60 萬筆交易。老闆怕的不是花錢,是「換的那天出不了貨」。

一、該做與不該做

系統能跑又沒有資安風險,年維護費低於 15 萬,它是資產。

適合啟動

  • 環境已過原廠支援期(如 PHP 5.x/7.x 全面 EOL),漏洞無法修補
  • 原開發商解散或失聯,改一個欄位等三週、報價五萬
  • 無法開接口,官網、ERP、LINE 各自為政,重複輸入每天逾 2 小時
  • 欄位叫 remark1~remark9、日期存成文字;報表跑 8 分鐘、20 人上線就卡

不適用

  • 半年內要被併購或轉型,流程還沒定案
  • 只有一兩個功能不順,外掛工具就能解
  • 無人說得清流程,也不指派窗口
  • 預算低於 20 萬卻要全面翻新,只會產出第二套待重構的系統

二、四種方案怎麼選

方案優點缺點成本
原地續命:只升環境補漏洞2–4 週最快治標,兩年內再爆NT$60,000–150,000
換套裝/SaaS維護外包、更新免費流程遷就軟體、客製受限年費 NT$36,000–300,000+導入 10 萬起
一次性重寫:同日切換架構最乾淨風險最高,同日全爆NT$800,000–3,000,000
絞殺榕分階段替換可回滾、分期、不中斷並行成本高、專案較長NT$180,000 起,分 3–5 期

九成案子走第四條。微軟列它為官方遷移模式(Strangler Fig Pattern):新舊之間放一層轉接,流量逐個模組導過去,直到舊系統沒有流量。

三、流程與交付物

階段時間交付物工具
① 健檢盤點2–3 週架構圖、資料表筆數、髒資料比例DBeaver、Notion
② 訪談切分1–2 週MoSCoW 優先順序、分期計畫Miro
③ 清洗對應2–4 週欄位對應表、去重規則、腳本pandas、SQL
④ 第一模組4–8 週介面稿、API 文件、測試站Figma、Laravel/Next.js
⑤ 雙寫並行4–8 週雙寫機制、差異報表排程腳本、Grafana
⑥ UAT 訓練2 週驗收紀錄、SOP、錄影Notion
⑦ 切換封存1 週runbook、回滾方案、唯讀庫Cloudflare、UptimeRobot

關鍵在第⑤階段:新舊同時寫入、每天自動比對,連續 14 天零差異才准切換——這是不停機唯一的保險。

四、成本拆解

  • 健檢盤點:NT$35,000–80,000(可抵開發費)
  • 入門級(單一核心模組+搬遷):NT$180,000–350,000
  • 標準級(3–5 模組、並行 2 月):NT$450,000–900,000
  • 完整級(全面重構+API 層+權限設計):NT$1,200,000–3,000,000

隱藏費用約佔總預算 18–30%:

  • 並行期雙份主機:每月 NT$3,000–15,000,平均多付 3 個月
  • 資料清洗:1 萬筆客戶去重約 16–40 工時
  • 匯出舊資料:原廠不給 DB 權限時報價 NT$20,000–150,000
  • 金流、物流、發票重串:每條 NT$25,000–60,000
  • 穩定期維護:開發費 15–20%/年;訓練每場 NT$8,000–15,000

五、真相 vs 客戶想像

客戶以為實際發生
匯出匯入就好,一個週末搞定舊資料 8–25% 是髒的,清洗常比搬遷久 3 倍
新系統照舊的做一樣就好至少 30% 功能三年沒人用,照抄等於把技術債搬家
上線當天就變快前兩週效率先降後升,第 4–6 週才回到原水準
舊系統可以立刻關掉會計、稽核、客訴需 6–12 個月唯讀期

六、五個陷阱與解法

  • 沒有凍結期:舊系統還在改欄位,對應表天天失效。→ 簽功能凍結同意書,只准修 bug。
  • 清洗規則丟給廠商決定:哪兩筆客戶算同一家只有業務知道。→ 由窗口逐條確認。
  • 沒有回滾方案:出事只能硬撐。→ runbook 寫明「幾點前發現問題就切回舊系統」。
  • 個資在測試站裸奔:拿正式資料測試違反個人資料保護法的安全維護義務。→ 測試站一律去識別化。
  • 一次搬所有模組:省了並行成本,風險全壓同一天。→ 先搬報表模組。

七、90 天路線圖

  • 30 天:新舊比對零差異、關鍵流程錯誤率低於 1%、可用率 ≥ 99.5%
  • 60 天:作業工時降 20–35%、報表由分鐘級降到秒級、重複輸入歸零
  • 90 天:第二模組切換完成、舊系統轉唯讀、換算月省人力金額與 ROI 回收期(多數 14–26 個月)

八、決策清單(勾 6 題以上建議啟動)

  • ☐ 環境已過原廠支援期?
  • ☐ 原開發商解散或報價不合理?
  • ☐ 每天逾 1 小時重複輸入?
  • ☐ 新需求被回「做不到」逾 3 次?
  • ☐ 一年內曾因系統影響出貨?
  • ☐ 拿不到資料庫完整備份?
  • ☐ 無法提供 API 或匯出 CSV?
  • ☐ 能指派窗口每週投入 4 小時?
  • ☐ 預算能分 3 期、總額 20 萬以上?
  • ☐ 老闆願意親自參加驗收?

九、常見問題

Q1:一定要停機嗎?停多久?

分階段替換的話,正式切換多半只需 2–4 小時,排在週日凌晨。重點不是停機長短,而是切換前有沒有完成連續 14 天雙寫零差異驗證;沒做這步就是賭博。

Q2:原廠不給資料庫權限怎麼辦?

先看合約的資料所有權條款——資料是你的,程式碼才是他們的。仍不配合時可要求匯出 CSV、從列印功能逐表取得,或爬自家後台。最極端的一次是從 PDF 報表還原 3 萬筆。

Q3:怎麼確保資料沒少、沒錯?

三層驗證:每張表筆數比對、關鍵金額欄位總和比對、每表抽 30 筆逐欄核對。三層全過才簽驗收單,比對報表也列為交付物。

十、下一步

ScriptWalker 的「老舊系統重構與資料搬遷」自 NT$180,000 起、分期執行。還在評估可先做「系統健檢與資料盤點」(NT$35,000 起、2–3 週),交付架構圖、資料健康度報告與分期建議書,費用全額折抵開發費;結論若是不必重構,我們會直說。

來信附上「系統名稱、使用年限、每天幾人用、最痛的三件事」,兩個工作天內回覆報價。

分享: