老闆與外包廠商在會議桌前對照系統開發流程各節點交付物與驗收標準

系統開發流程完整拆解:需求訪談到驗收的七個節點,各要交什麼

自由揚John12 分鐘閱讀
複製引文

恆遠自己每年要跑十幾條系統開發流程,客戶端的、自有產品的都有。累積下來我們發現一件事:專案真正出事的節點,幾乎沒有一次是「程式寫不出來」。出事的地方都很無聊,前一週有人講了一句「這個應該可以吧」,沒有人寫下來,三個月後兩邊對著同一份畫面各自認定對方要負責。

所以這篇不打算教你判斷技術好壞。你是付錢的一方,真正需要知道的是:這七個節點各自要交出什麼、什麼時候該把錢押住、哪一句話沒寫進文件會在三個月後變成加價單。

台灣的中小企業在這件事上吃虧特別多。Standish Group 的 CHAOS Report 長年統計顯示,軟體專案完全照原訂範圍與預算交付的比例只有三成上下,而失敗案例裡最常見的根因是需求不明與範圍變更,兩者加起來壓過技術問題。這個數字幾十年沒有明顯改善,代表它是流程問題,不是技術進步能解決的問題。

老闆與外包廠商在會議桌前對照系統開發流程各節點交付物與驗收標準
老闆與外包廠商在會議桌前對照系統開發流程各節點交付物與驗收標準

系統開發流程真正卡住的地方,八成不在寫程式

先講結論:專案延遲的成本,八成產生在需求訪談跟驗收這兩端,中間的開發期反而是最可控的。

原因很單純。開發期有程式碼、有 commit、有測試,進度是看得見的;需求訪談跟驗收沒有產出物可以量,全靠雙方對「講清楚了沒」的主觀認知。認知落差累積到上線前才引爆,那時候改一個欄位的代價已經是需求期的十倍。

業界有個很老但一直成立的經驗值:缺陷在需求階段被抓到的修正成本設為 1,到了設計階段大約 5,寫進程式碼大約 10,上線之後可以到 100 以上。IBM Systems Sciences Institute 的早期研究提出這組比例後,後續各家統計的絕對數字有出入,倍率關係倒是很一致。你在需求訪談多花的兩個下午,換的是後面兩個月不用重做。

這也是為什麼下面這張表要放在最前面。你可以只看這張,剩下的內文是給想知道「為什麼」的人看的。

七個節點速覽:你要交什麼、廠商要交什麼、通常卡在哪

節點

你這邊要出什麼

廠商要交什麼

最常卡在哪

需求訪談

現況流程、真實表單、決策者本人到場

訪談紀錄、流程圖、待確認清單

派了不做這件事的人來開會

規格與報價

確認範圍、圈出必要與加分功能

功能清單、SOW、分項報價

報價只有總價,看不出砍哪裡

UI/UX 設計

限時回饋、一次收齊各部門意見

線框圖、視覺稿、改稿次數上限

改稿沒上限,設計期無限延長

開發

指定單一窗口、及時回答問題

週報、可點的測試環境、進度對照

只有口頭進度,看不到東西

測試

找真的使用者測,不是老闆自己點

測試案例、缺陷清單、修復紀錄

廠商測完就說可以上線

驗收

依事先寫好的標準逐項簽

驗收報告、原始碼、部署文件

沒定義完成,付款卡死

上線與保固

回報問題的固定管道

上線計畫、回滾方案、保固範圍

保固與新需求界線模糊

接下來逐節點拆。每一節都會給你一句可以直接複製進信裡問廠商的話。

圖表載入中…

需求訪談:你講得越具體,後面改得越少

這個節點你的發言權最大,之後只會越來越小。廠商在這個階段能改的東西成本趨近於零,等程式寫下去,同一句話的價碼就變了。

常見的失誤是派錯人。老闆覺得這是技術會議,派了 IT 或行政去開,但真正每天在跑這條流程的是業務跟倉管。訪談紀錄回來全是二手轉述,細節都對不上。真正該到場的是那個每天被這件事煩到的人。

第二個失誤是講功能不講痛點。你說「我要一個報表功能」,廠商就做一個報表功能給你,做完你才發現你要的是「每天早上八點自動把昨天的數字寄給三個主管」。前者是介面,後者是流程,價差可以到兩倍。

好需求跟壞需求的白話對照

你說的話

廠商聽到的

會做出什麼

應該怎麼講

我要能管訂單

訂單 CRUD 介面

一個要人工輸入的表格

業務接到 LINE 訂單後,要在手機上三十秒建單並自動通知倉庫

報表要完整

多加幾個欄位

一張沒人看的長表

會計月結時要能匯出對得上發票的明細,格式跟現在的 Excel 一樣

權限要分清楚

加一個角色欄位

所有人還是看得到全部資料

業務只能看自己的客戶,主管看整組,老闆看全部,離職當天要能一鍵關閉

要能跟現有系統串

開一個 API

串不上,因為對方沒 API

要接的是某某廠牌 ERP,版本是某某,我可以請對方窗口出來對接

把這張表拿去對照你手上的需求文件。如果左欄那種句子超過三句,你的需求訪談還沒做完。

需求整理完該產出的是一份文件,不是一場會議的記憶。這份文件業界叫需求書或 BRD,我們另外寫過完整的欄位範本,可以直接照著填:老闆找外包前必備的客製化系統需求書寫法

⚠️一句話拿去問廠商

「這次訪談的結論,你們會出一份什麼文件給我確認?多久出?」廠商如果回答「我們直接報價」,代表他打算跳過這一關,後面所有爭議都會回到這裡。

規格與報價:把「做什麼」寫成可以驗收的句子

規格書的唯一任務,是讓三個月後的你能拿著它逐條打勾。做不到這件事的規格書,寫得再厚都只是簡報。

判斷方法很簡單:每一條規格後面加一句「怎麼證明它做到了」。答得出來的是規格,答不出來的是形容詞。

形容詞(不可驗收)

改寫成規格(可驗收)

系統要好用、介面要直覺

新進業務不用受訓,照著操作說明可在五分鐘內完成第一筆建單

速度要快

訂單列表頁在一千筆資料下,載入時間低於兩秒

手機也要能用

支援 iOS 與 Android 最新兩個版本的 Chrome 與 Safari,主要流程在 390px 寬度下可完整操作

資料要安全

全站 HTTPS、密碼雜湊儲存、每日自動備份保留三十天、可還原到指定日期

之後要能擴充

提供 REST API 與文件,欄位新增不需修改既有前端程式

報價的部分,你要的是分項,不是總價。只給一個數字的報價單,代表你談判時只能砍總價,砍完廠商會自己決定從哪裡省,通常省掉的是測試跟文件。分項報價才能讓你說「這個功能先不做,第二期再說」。

同一份需求給三家報,價差三到五倍是常態,這件事本身不代表有人在騙你。落差來源、以及當場能驗證的問句,我們整理在這篇:三家報價差五倍完整解碼框架;想知道系統開發費用各段實際包含什麼,看系統開發費用完整拆解

規格談定之後,要把它掛進合約。合約層面的規格紅線、驗收里程碑與罰則寫法,另外一篇有完整模板:SOW + 規格書 + 合約完整指南

UI/UX 設計:改稿次數要寫進合約,不是靠默契

設計期最該先談定的一件事是改稿次數上限,而且要寫進合約。這句話對雙方都是保護。

沒寫上限的專案通常這樣走:第一版出來,老闆看了說可以;第三天業務主管看到,說配色不行;第十天老闆娘路過,說按鈕太小。每一輪都很合理,加起來設計期從三週變成三個月,開發只能停在那裡等。廠商吃了成本,你吃了時間,沒有人是贏家。

務實的做法是:合約寫「線框圖兩輪、視覺稿三輪,超出部分依人天計價」,然後你這邊承諾一次把所有部門的意見收齊再回。內部意見沒收齊就回饋,等於用廠商的工時當你的內部會議室。

設計交付物

這一份在確認什麼

你該找誰一起看

確認後還能改嗎

流程圖 / 資訊架構

有幾個角色、每個角色走幾步

實際操作的員工

可以改,但會連動報價

線框圖

每頁放什麼、按鈕在哪

部門主管與第一線

可以改,算在改稿次數內

視覺稿

顏色、字級、品牌感

老闆與行銷

可以改,改動大會影響工期

互動原型

點下去會發生什麼

全部關係人

此後再改視為新需求

互動原型確認那一刻,是你最後一次能低成本改變主意的時機。過了這條線,同樣的修改要動程式,價碼跟工期都不一樣了。

開發期:看不到進度,就是你這個專案最大的風險

開發期你唯一該堅持的事情:每週要有一個你點得進去的網址,不是一份寫著「進度 60%」的報告。

進度百分比是這個行業最沒有資訊量的數字。它可以連續四週都停在 80%,而你完全無從查證。可以點的測試環境不會說謊,功能在就是在,不在就是不在。

這裡要講一個我們的判斷,可能跟不少同業的說法不一樣:我們認為固定總價、瀑布式一路做到底的合約,對中小企業客戶是比較差的選項,即使它看起來風險比較低。固定總價會逼廠商把所有不確定性都灌進報價,也會讓雙方在任何一個小變更上進入談判狀態,最後大家把力氣花在攻防而不是產品上。分階段驗收、每階段獨立計價,帳面上麻煩一點,實際上兩邊都不用把對方當敵人。

週報該長什麼樣,有一個很低的及格標準:這週完成什麼、下週要做什麼、卡住什麼需要你決定。第三項最重要。廠商的週報如果從來沒有第三項,通常代表他在自己猜你的意思。

週報項目

及格

不及格

完成事項

訂單建立與編輯已可在測試站操作

後端開發持續進行中

下週計畫

接上金流測試環境,完成付款流程

繼續開發

待你決定

退款是否要主管審核?影響兩天工期

(空白)

風險

某某 API 對方尚未給測試金鑰,可能延一週

(空白)

進度真的跑不出來時,不要等到上線前才處理。止血條款、換廠觸發訊號與決策順序,這篇寫得比較完整:客製化系統開發專案延遲完整指南。另外「PM 是誰」這件事值得在合約階段就釘死,軟體外包 PM 配置完整指南 有三種配置模式的對照。

恆遠自己是這樣跑的。我們接案累積到現在有 40+ 企業客製案落地,同時也在做自家產品,兩邊用同一套節奏:每週一個可點的環境、每週一份帶「待你決定」欄位的週報。做自有產品時我們是自己的甲方,被自己的模糊需求坑過幾次之後才把這套流程收緊,例如影視器材租賃與檔期系統那個案子,檔期衝突的判斷規則就是在需求訪談來回三輪才定案的,那三輪省下的是上線後整套排程邏輯重寫。

測試:廠商測完不等於你驗完,這是兩件事

廠商的測試在確認「功能有照規格做出來」,你的測試在確認「這套東西放進我公司真的跑得動」。兩者不能互相取代。

最常見的錯誤是老闆自己點一點覺得沒問題就簽了。老闆點的是理想路徑,真實世界是業務會在收訊不良的工地用手機建單、會計會把三千筆資料一次貼進去、有人會按兩次送出。這些情境只有每天做這件事的人想得到。

測試階段該做的事情有三件:找三到五個真的會用的員工、給他們一份平常會遇到的真實資料、讓他們用平常的裝置跑一遍完整流程。發現的問題寫進缺陷清單,標上嚴重度,跟廠商約定哪些等級必須在上線前修完。

嚴重度

定義

上線前必修?

範例

阻斷

主要流程走不完

必修

訂單送出後沒有存進資料庫

嚴重

有替代方式但很痛

必修

匯出報表超過五百筆就逾時

一般

影響體驗不影響結果

可排保固期

手機版按鈕位置偏移

輕微

文字、樣式

可排保固期

錯字、標題字級不一致

上線前如果這套系統會碰到客戶個資或金流,值得多花一筆做第三方程式碼審計。該查哪六項、報價區間大概落在哪,這篇有整理:客製化系統程式碼審計完整指南

驗收:先定義什麼叫完成,再來談尾款

驗收糾紛百分之九十來自同一件事:合約簽的時候沒有人寫下「完成」的定義,等到要付尾款才開始吵。

這一節是整條系統開發流程裡最值得你花時間的地方。前面六節做得再好,驗收標準寫得含糊,你還是會在最後一哩路卡住。

可用的驗收標準只有一種寫法:可觀察、可重複、有數字。「系統運作正常」不是標準,「以三十筆真實訂單完整走完建單到出貨,全部成功且資料無誤」才是標準。

驗收標準寫法

會發生什麼

系統依規格書完成即為驗收通過

雙方對規格書解讀不同,吵到律師

甲方確認無誤後驗收通過

甲方永遠可以說還沒確認完,廠商拿不到錢

驗收期十四天,逾期視同通過

對廠商安全,但你可能被自己的忙碌坑掉

依附件驗收清單逐項測試,阻斷與嚴重等級缺陷全數修復後通過,驗收期十四天

兩邊都有依據,這是可用的版本

付款節奏要跟驗收節點綁在一起。常見且合理的分法是簽約三成、設計確認兩成、開發完成三成、驗收通過兩成。最後一筆保留款不要低於兩成,那是你唯一還握著的籌碼。

驗收當天該交接的東西,除了系統本身還有原始碼、資料庫結構、部署文件與第三方服務帳號。這幾樣沒拿到,你等於租了一套系統。完整的交接檢查項目在客製化系統開發交付驗收完整 SOP;如果案子金額大、廠商規模小,可以考慮加一層源碼託管當保險。

上線與保固:這裡是維運的起點,不是流程的終點

上線那天最該備好的東西是回滾方案。慶功可以延後,切換正式環境前手上沒有回滾計畫,等於拿公司當天的營運下注。

多數中小企業的第一次上線都會選在週五晚上或連假前一天,理由是「出事還有時間處理」。實務上這個時間點最糟:出事的當下人最少,隔天要找人支援也找不到。比較安全的做法是選在平日的營運低峰,例如週二上午,全公司都在、廠商也在線上。

回滾方案要具體到「誰在什麼情況下有權喊停、切回舊流程需要幾分鐘、切回去之後新系統那幾筆資料怎麼補」。這三題答得出來,上線就不可怕。

保固期最容易起爭執的是「這算 bug 還是新需求」。界線可以先寫在合約裡:規格書上有寫但沒做到、或做了但不符合驗收標準,算 bug,廠商免費修;規格書上沒有的,算新需求,另外報價。有這一句,保固期就不會變成雙方互相消耗。

情況

算 bug(免費修)

算新需求(另計)

匯出的報表數字對不上

想多加一個篩選條件

手機上按鈕點不到

要接一個新的物流商

某某瀏覽器上排版跑掉(規格有列該瀏覽器)

保固期結束前一個月,就該把維運合約談完。三種維運模式的費用結構、十二條必看條款與換廠商決策樹在這篇:軟體外包驗收後的維運合約怎麼簽

整條流程走一次,你真正需要準備的東西

回頭看這七個節點,你要準備的東西其實只有三樣:一份寫得夠具體的需求、一份可以逐條打勾的驗收清單、一個能替你在會議上做決定的窗口。這三樣到位,剩下的都是廠商的事。

如果你正在評估要不要發包、或已經收到報價但看不懂裡面在寫什麼,可以把你現在的情況丟過來聊聊,我們陪你看這條流程從哪一段開始最划算、哪些功能可以留到第二期。系統裡如果有想接 AI 的部分,AI 系統開發 那邊也可以一起看。

系統需求釐清表下載

還沒動手發包、需求也還沒整理成文件的,可以先照 客製化系統需求書 8 大關鍵欄位範本 填一輪,把上面「好需求 vs 壞需求」那張表的右欄句型套進去,發出去詢價的品質會差很多。

ℹ️我們怎麼看

接下來三年,系統開發流程會被 AI 壓縮的是中間那一段,開發跟測試的工時會明顯下降。但需求訪談跟驗收這兩端不會被壓縮,反而會變得更關鍵:當寫程式的成本降下來,決定專案成敗的比重就全部往「你到底想清楚沒有」那一側移動。我們的取捨是把省下來的工程時間放回前後兩端,需求多談一輪、驗收標準寫細一點。給老闆的判斷方法也一樣:下次比較廠商時,與其問他用什麼技術,不如問他需求訪談會出什麼文件、驗收標準怎麼寫。這兩題答得具體的那一家,通常也是真的做得完的那一家。

ℹ️我們做過這件事

這篇講的節奏,恆遠自己每天都在跑。目前 40+ 企業客製案落地,從需求訪談到保固期都是同一套流程走下來的。

舉個實際的:食品階梯報價與型錄系統 那個案子,階梯計價的規則在需求訪談就拆到「幾箱換一個級距、跨級距怎麼算」的層級,寫進規格書之後驗收只花了一輪;生產力管理系統 則是在互動原型確認那關多留了一週給現場人員試點,上線後幾乎沒有回頭改。

看到這裡,如果你也在想「這條流程放到我們公司會是什麼樣子」,我們很樂意 聽你聊聊現在的實際情況,一起看看從哪一段開始最實在。

Q系統開發流程通常要跑多久?

以中小企業常見的內部管理系統來說,需求訪談到上線大約三到六個月。需求訪談通常兩到四週、設計三到四週、開發八到十二週、測試與驗收三到四週。真正拉長工期的多半是需求反覆與驗收卡關,不是開發本身。

Q需求訪談我該找誰一起開會?

找每天實際跑這條流程的人,加上一位有權當場拍板的主管。只派 IT 或行政參加,訪談紀錄會全是二手轉述,細節對不上。決策者不到場,會議結論隔天就會被推翻。

Q規格書要寫到多細才夠?

每一條規格後面都答得出「怎麼證明它做到了」就夠細了。答不出來的那幾條是形容詞,要改寫成可觀察、可重複、有數字的句子,例如把「速度要快」改成「訂單列表頁在一千筆資料下載入低於兩秒」。

Q驗收沒過可以不付尾款嗎?

可以,前提是合約裡有寫清楚驗收標準與驗收期。標準寫成「甲方確認無誤」這種主觀條款,雙方都會卡住。建議寫成「依附件驗收清單逐項測試,阻斷與嚴重等級缺陷全數修復後通過,驗收期十四天」,並保留兩成以上尾款。

Q驗收時廠商一定要給原始碼嗎?

要看合約怎麼寫,所以這件事必須在簽約前談定。除了原始碼,資料庫結構、部署文件與第三方服務帳號也要一併交接。案子金額大而廠商規模小的情況,可以再加一層源碼託管當保險。

Q上線之後發現問題,算保固還是要另外付錢?

界線建議寫進合約:規格書上有寫但沒做到、或做了但不符合驗收標準,算 bug 由廠商免費修;規格書上沒有的功能,算新需求另外報價。沒有這一句,保固期會變成雙方互相消耗。

分享文章

AUTHOR

自由揚John

查看作者頁

留言(0)

尚無留言,成為第一個留言的人吧!

需要網站系統架設或軟體開發?

無論是品牌官網、客製化系統還是應用程式,我們的團隊擁有豐富經驗,歡迎聯繫我們,讓專業為您的事業加分。