客製化系統開發費用怎麼估?報價前我們會問的事
同一份需求拿去問兩家公司,報價可能差很遠,多半是因為雙方想像的系統範圍不一樣。我們估價看四件事:有幾種角色、要做幾個畫面、要串接哪些對象,以及怎樣才算驗收通過。下面說明每一項怎麼影響費用,還有報價前我們會問你的事。
報價從這四件事估出來
客製化系統沒有定價表,費用要看工作量。我們估價時會把需求分成四塊來看,每一塊各自估,有些看起來很小的需求,估下去才發現牽動好幾個畫面。
先看角色。一套系統裡,會員、第一線員工、主管和管理員看到的畫面不一樣,能修改的資料也不一樣。每多一種角色,就多一組畫面要做,也多一組權限要測。櫃台能不能看到另一間分店的營收,主管能不能刪除會員資料,這些都要一條一條決定,上線前再一條一條驗證。
再來是畫面數。後台一張會員列表,只要能瀏覽的話花不了多少時間;要能搜尋、篩選,還要能匯出 Excel,工作量就往上加。表單也是,欄位越多、檢查規則越多,做和測的時間都會拉長。我們會把畫面一個一個列出來,寫上每個畫面要做到的事,所以畫面的數量和複雜度都會反映在報價裡。
第三塊是串接對象,通常也最難估。我們常做的串接有這幾類:
- 線上付款:綠界和 LINE Pay
- 電子發票的開立與作廢
- LINE 登入與 LINE 通知推播
- 其他廠商提供的第三方 API
- 舊系統的資料搬移
每一項串接都要照對方的規則走,也要處理出錯的情況。拿付款來說,付款失敗、客人付到一半把頁面關掉,系統都要有對應的處理;金流商的付款結果通知沒送到時,訂單狀態也要有辦法補正。舊資料搬移常比預期花時間,同一位會員在舊系統裡有兩筆資料、電話號碼的寫法前後不一致,這些都要在搬之前整理好。
最後是驗收條件,也就是做到什麼程度算完成。「會員可以線上付款」是一句需求,驗收條件要寫成能實際操作檢查的樣子,例如:會員用 LINE Pay 付款成功後,後台的訂單狀態變成已付款,會員在 LINE 收到付款通知。條件寫得越具體,我們估得越準,你驗收時也有明確的東西可以對照。
需求訪談時,我們會問這些事
估價前會先做需求訪談。訪談時拿你們現在實際在用的表單或 Excel 來講,會比口頭描述好懂很多。
我們會先問誰在用這套系統。這裡想知道的是角色和使用情境,例如櫃台一天要開幾次後台、會員多半用手機還是電腦。使用頻率高的畫面,操作步驟就要盡量少。
接著問資料從哪裡來。有的資料是會員自己填的,有的是員工從 LINE 對話裡一筆一筆抄進 Excel 表格。來源不同,串接和搬移的做法就不同,從舊系統匯出的檔案還要另外看格式。
然後請你指出現在哪一段最花時間。那一段的步驟最好從頭講一遍,誰傳訊息給誰、資料抄到哪裡,都講出來。知道時間花在哪裡,我們才能判斷系統該先處理哪一段。
要給我們看真實資料的話,可以先把姓名、電話這類敏感欄位遮起來。我們看的是欄位和流程,不需要看到個人資料。
需求書和報價單上會寫什麼
訪談之後,我們會整理一份需求書,列出每一種角色會用到的畫面,以及每個畫面上的功能。需求書裡會寫驗收條件,也寫明這次不包含哪些項目。
不包含的項目常被跳過,後面的爭議卻多半出在這裡。舉例來說,需求書寫了「會員可以線上付款」,就要一併寫明退款怎麼處理:是在系統後台按一個按鈕退款,還是由店家登入金流商的後台自己操作。前者要另外串接、另外測試,費用也不同。這種地方事先寫明,開發到一半就不會冒出「我以為有包含」的落差。
報價會照階段拆開,每個階段做哪些畫面和功能、費用多少,分開列出。你可以先看到第一階段上線時能用到哪些功能。
分階段開發,付款跟著驗收走
開發從最常用的流程開始做。以預約制的店家為例,通常會先做會員預約和後台的預約管理,報表這類功能排在後面。每一階段做完都會放上測試站,你實際操作過、確認沒問題,再進到下一階段。
付款也跟著驗收走,可以分期付款、分階段驗收。每一期款項對應哪個階段,報價時就一起寫好。
金流和電子發票的串接要另外說明。這兩種服務都要先經過第三方審核,綠界和 LINE Pay 會審核商店資料,電子發票也要先完成申請。審核要多久不在我們能控制的範圍,所以申請時間另外計算,不算進開發時程。比較好的做法是確定要做之後就提出申請,審核和開發同時進行。
最後是上線與交接:正式部署、匯入資料之後,再教員工操作。建議你在上線前後挑幾位熟悉的會員,到後台把資料對一遍,有出入當下就能處理。
想估價,先傳作業方式或表單截圖
你正在評估做一套系統的話,可以在 LINE 傳一段你們現在的作業方式給我們,用文字寫幾句就好;或是傳一張最常用的表單截圖。收到後我們約 30 分鐘的需求訪談,這段不收費。談完之後,你會比較清楚這套系統要包含哪些東西,拿到其他家的報價時,也比較知道差在哪裡。