外包做的軟體,驗收要檢查什麼?付尾款前,先確認這 10 件事
把軟體外包出去,最緊張的時刻通常不是開發中,而是「準備結案、要付尾款」的那一刻。
畫面看起來都對、廠商說「做好了」,但你心裡不太踏實:這套東西真的能長期用嗎?如果之後要換人維護,接得住嗎?帳號和原始碼到底在誰手上?
驗收的重點,不是把功能一項一項點過去看會不會動。功能會動只是最低標準。真正決定這筆錢花得值不值得的,是你有沒有拿到「能被使用、能交接、有人維護」的完整軟體資產。
下面這 10 件事,建議在付尾款前逐項確認。你不需要懂程式,也能照著問、照著檢查。
1. 你拿得到完整原始碼,而且能自己重建嗎?
先確認一件最基本、卻最常被略過的事:完整原始碼在你手上,而且不是只有廠商那台電腦能編譯、能部署。
請對方把原始碼交付到你公司持有的版本庫(例如你們自己的 GitHub / GitLab 帳號),並確認裡面包含建置與部署所需的所有東西。判斷標準很簡單:換一個工程師,照著文件能不能把同一套系統重新架起來?如果答案是「只有原廠商知道怎麼弄」,那你買到的是服務,不是資產。
2. 有沒有交接文件?(架構、資料庫、部署、環境設定)
交接文件不需要很漂亮,但要能讓下一個人接手。至少包含:系統架構說明、資料庫結構、部署步驟、環境變數清單,以及用到哪些第三方服務。
很多外包軟體上線一切正常,直到某天要改一個小地方,才發現「沒有人知道它是怎麼組起來的」。一份能照著重建系統的文件,價值往往比多做兩個功能還高。
3. 帳號、網域、主機、金鑰在誰名下?
網域、雲端主機、資料庫、金流、第三方 API 金鑰,這些都應該註冊在你公司名下,由你持有最高權限,再把操作權限分享給廠商。
如果這些帳號全掛在廠商那邊,一旦換人或發生糾紛,你可能拿不回網域、搬不走資料。驗收時逐項確認:每個帳號的擁有者是誰、你是不是 owner/admin、廠商離場後怎麼回收他的存取權限。
4. 資料庫結構與資料,你能自己匯出嗎?
資料是你的,不是廠商的。要確認你能隨時把完整資料匯出成標準格式(例如資料庫備份或 CSV),而不是只能透過廠商的畫面一頁一頁看。
實際做一次匯出測試最準:如果連要一份完整資料都要等廠商幫忙、或根本拿不到,這就是一個要在付款前解決的紅旗。
5. 有沒有用真實情境驗收,而不只是看 demo?
Demo 通常是用整理過的漂亮資料跑一遍。真實使用時,資料更亂、使用者操作更不規則、同時上線的人也更多。
驗收時請用貼近真實的情境測:真實的資料量、真實的操作流程、故意輸入不完整或錯誤的資料,看系統會不會壞、會不會給出合理提示。把你最擔心的幾個情況列成一張驗收測試表,一項一項走過。
6. 出錯、漏掉、卡住時,系統怎麼處理?
好的軟體不是永遠不出錯,而是出錯時能被發現、被處理。
確認幾件事:發生錯誤時有沒有清楚的訊息、有沒有紀錄(log)能事後追查、關鍵流程失敗時會不會通知到人。如果系統一遇到沒預期的情況就整個卡死、又查不出原因,上線後每一次小狀況都會變成找不到人的救火。
7. 資安與權限有沒有基本把關?
不用做到大型企業等級,但基本盤要有:登入與權限分級(誰能看到什麼、誰能改什麼)、密碼與金鑰沒有寫死在程式或公開外流、資料傳輸有沒有加密、有沒有定期備份且備份能還原。
只要系統會處理客戶資料、公司內部資料或金流,這一項就不能跳過。請廠商說明他們在資安與備份上做了什麼,而不是等出事才問。
8. 效能與擴充性,在真實用量下可以接受嗎?
幾個人試用很順,不代表全公司或所有客戶一起用也順。
先講清楚預期用量(同時使用人數、資料筆數、尖峰時段),並在接近真實用量下測反應速度。同時問一句:如果之後用量成長一倍,系統改得動嗎,還是要整個重寫?現在問,比上線塞爆才問便宜得多。
9. 上線後誰維護、保固多久、怎麼計價?
很多外包軟體卡住,不是第一版做不好,而是沒有人負責第二版。
付尾款前先談清楚:保固期多長、保固內修 bug 是否額外收費、上線後由誰監控與更新、緊急故障多久回應、之後新增需求怎麼報價。把維護與保固白紙黑字寫進驗收與合約,才不會上線後變成沒人維護的孤兒系統。
10. 有沒有一份明確的「驗收通過」定義與簽核?
驗收最怕的是「感覺差不多就付錢」。開發開始前(最晚在驗收前),雙方應該對「什麼叫做完」有一份具體、可勾選的清單,並在達成後正式簽核。
把上面第 1 到第 9 點整理成一張驗收表,逐項確認、逐項簽字。做到這一步,尾款付得安心,日後要追究責任也有依據。
驗收沒過,不代表要整套重做
如果你照這張清單檢查,發現有幾項不通過,先別急著否定整個專案。外包軟體驗收卡住,通常只落在其中一層:
- 交付層:原始碼不完整、沒有交接文件
- 所有權層:帳號、網域、資料掌握在廠商手上
- 品質層:只測過 demo、沒有真實情境與錯誤處理
- 維護層:沒講清楚保固、維護與後續計價
不同卡點,處理方式不同。缺文件就補文件、資料拿不到就先解決匯出與權限、沒測真實情境就補一輪驗收測試、維護沒談清楚就把條件寫進合約。真正需要打掉重做的情況其實不多;先判斷卡在哪一層,比急著重寫省錢得多。
Omni Care 可以怎麼協助
Omni Care 的做法,是先幫你診斷這套外包軟體現在卡在哪一層,再決定下一步要補什麼。
我們會站在你這一邊,協助你把驗收清單問清楚:原始碼與文件夠不夠完整、帳號與資料的所有權是否在你手上、真實情境有沒有測過、維護與保固條件合不合理。需要時,我們也能把一份「差一點就能用」的外包成果,補成真正可以交接、可以上線、有人維護的軟體。
如果你正準備驗收一套外包軟體、或已經上線卻覺得接不太住,可以先做一次軟體診斷,把不確定的地方一次盤清楚。
把卡住的事,變成真正可用的軟體。