給軟體工程師的 3 種接案報價方式!合理報價讓自己與業主都能接受
January 3, 2024
Photo by islander11 from iStock
【本文想讓你知道的是】
1. 軟體工程師計算接案報價的三個步驟
2. 兩種常見的付款方式
3. 報價給業主、約定付款方式時的常見問題
接案報價是每一個自由工作者 (freelancer) 都會遇到的問題,好的報價,讓自己做的開心,再辛苦也願意接受。壞的報價,讓自己心理難受,有淚只能自己吞了。
在過去的 10 年內,我幾乎每一年都會外接一、兩個外包案,每次接案都要評估該如何報價,在初期的報價會比較低一點,覺得自己的能力還不夠,只要能接到案子,有一些收入又可以練練技術,我就心滿意足了。
但在能力經驗累積之後,就開始拉高自己的時薪單價,因為同樣的時間,我可以完成更多的任務,時薪單價當然也要跟著提高,才會有合理報酬。
但坦白說,報價是一個沒有標準答案的過程,可能多數自由接案者都遇過一個情況,當自己報價出去之後,等實際開工才因為當初沒有評估清楚,後期實際工作量爆增,又無法跟業主增加報酬,最後就是自己加班做完,把學習也當作一種收入了。
我認為要在初期就完整評估事後的工作量,是一種幾乎不可能的任務,尤其是高度變化的軟體開發專案。
一個太過樂觀,覺得開發會很順利的報價單,會因為專案的意外問題過於複雜,導致收入不符合成本。所以我會在報價時,就加入意外的問題處理時間。
一個好的報價,需要對專案開發技術的難易度有所了解,愈了解專案任務的難度,才能評估出準確的投入回報,而這是需要長期的經驗累積的。所以,如果你覺得每次報價都不準的話,請別灰心,這是常見的狀況,只要多學習就可以了。
接下來我想分享一些我對接案報價的想法,這不是標準答案,只是個人的經驗談。
列出功能開發時間
在開始報價之前,一定要先列出所有的功能清單,這是需求分析的過程,將客戶的需求轉化為清單列表。
功能列表可以分主功能及次功能分類,然後針對每一個次功能寫上難易度及開發時間。
難易度影響的是開發的時程,愈難就表示需要投入更多時間與人力,那報價相對就會提高。
我舉例一個會員功能的評估結果。
其實在估開發時間是比較難的部份,需要有足夠的開發經驗才能估的準確,如果你不是開發人員的話,建議先向開發人員詢問一下,開發這樣的功能,預計要花多久的時間。
通常軟體開發過程,常常會有意外的處理時間,那也是時間成本的一部份。如果是難度較高的功能,可以多增加一些測試及意外處理時間,先預估好未來可能額外投入的成本。
如何評估開發時間
在評估開發時數時,先針對該功能給一個難易度的評估,可分為「易、中、難」三種,然後以一個人力去估算,預想順利開發的情況下,預計要開發幾小時才會完成,這時候可以得到一個順利情況下的開發時數。
接著依照難易度的差別,將開發時數乘上難易度的變化,
如果是「難」的功能,可以將時數 * 2
如果是「中」的功能,可以將時數 * 1.5
如果是「易」的功能,可以維持原本的時數
這樣評估出來的結果,會比較接近實際的投入時間。
時數報價的參考依據
當評估好開發時間之後,接下來最重要就是計算時間單位報價了,這裡我提供三種報價依據給大家參考。
以目前薪資水準報價
如果你是一個有正職工作經驗的人,那就會有一個正職的穩定收入,可以將你的正職收入當作一個基準,來推算你接案的合理時薪為多少。
我假設某工程師的月薪是 50,000 元,每天工作 8 小時,每月約工作 22 天。月薪 50,000 是某工程師的收入,某工程師其實是創造更高的價值給公司,公司才願意分配薪水給工程師。
所以我將月薪 * 1.5 當作每月能創造的價值, 1.5 倍也當作自己額外的理想利潤,比例可以自己調整,所以計算月薪是 50,000 * 1.5 = 75,000 元。
然後將 7.5 萬元除以每月只工作 22 天,得到每一天的收入為 3,409 元,再將 3,409 除以 8 小時,就變時薪為 426 元。
時薪公式為: (月薪) * 1.5(理想利潤)/ 22(月工作日)/ 8(小時)
得到的時薪,就可以填入時薪報價,計算出每個功能的報酬了。以下用剛剛的範例填寫報價。
為了好算一點,可以將時數單價改為接近整數,會更方便計算。這種方式可以適用大多數的工程師,也是比較貼近自身能力的報價方式。
當要把報價單傳給業主之前,中間計算過程的方式,可以不用讓業主知道,只要列出次功能的小計報價就可以了。
以 104 職業薪資報價
如果你是一個收入時常高低變動,沒有穩定收入當作基準;或是你覺得目前領的是低薪,不符你的價值能力,需要一個合理的薪資水準,可以參考 104 的最新職業薪資水準。
我查了 104 在 2021 年 9 月 20 日的製造工程類薪資行情報告。
其中可以看到軟體工程類的月均薪為 62,000 元。
有了月均薪之後,就可以套用剛剛的公式來計算時薪。
時薪公式為: (月薪) * 1.5(理想利潤)/ 22(月工作日)/ 8(小時)
62,000 * 1.5 / 22 / 8 = 528 元
將得到的時薪,就可以填入時薪報價,計算出每個功能的報酬了。以下用剛剛的範例填寫報價。
為了好算一點,可以將時薪改為接近整數,會更方便計算。
在 104 的各行業薪資報告裡面,包含了非常多適合接案的行業,例如設計業、製圖業,可以取行業的月均薪來當作估價的基準。
以品牌網站報價參考
如果你本身已經成立公司經營,或是覺得自己的能力有公司該有的品質的話。
除了用月薪來估算時薪報價之外,還有一種具有參考性的依據,就是市場上同類型的品牌網站的報價參考,通常這類品牌網站已經在市場上完成多數的專案,也有足夠的經驗來推算合理的市場報價。
可以在 Google 搜尋相關的網站,例如: 網頁設計。就會找到許多的接案公司。
在自然流量前幾名的網站,都是行業內的品牌網站,我們可以從品牌網站直接參考它的報價,當作基準點,再評估自身能力與對方的差異,再決定報價是多少。
報價的策略在初期可以先低價承接,打開市場知名度,建立好的名聲,分享已完成的作品,再慢慢提高自己的報價。
市場上對固定類型的專案,比較有固定的價格,可以自行多比較後進行歸納整理。
例如 WordPress 架站,在市場行情上落在 10,000 到 15,000 之間,那你可以直接用市場行情的區間來報價。
固定版型的企業形象網站,也有行情區間,大約落在 10,000 至 30,000 區間,這也可以當作報價依據。
如果遇到高度客製化的網站,我建議先計算出時間成本及營運成本,再加入理想利潤約 30% – 50%,來當作報價,是比較常見的方式。
業主的付款方式
當送出報價單給業主的時候,通常會約定付款方式,這裡我提供兩種付款方式,給大家參考。
三階段付款方式
三階段付款是比較傳統的方式,分為開工、交付、驗收三個階段,分別付款的比例為 30%, 40%, 30%。
可以依專案重要的流程再新增到四階段、五階段付款,也都是可以的,只要雙方談定就行了。
這種方式的好處是開工會先拿到一筆收入,等待開發完成就可以收到大筆收入。
缺點是開工至交付的時間,可能過長,導致中間無收入去支付固定開銷,或是因為雙方結案的認定標準不同,導致遲遲無法收到款項,進而影響生活固定開銷。
採月結算方式
採月結算方式是依各別功能完成後,逐步上線交付給業主檢驗,如果業主確認功能正常,即在當月月底時,結算當月已上線的功能,業主支付當月報酬。
例如這是一個購物網站的開發功能,將各別功能標示費用金額或比例,如果已完成就當月簽收付款。
這種付款方式的好處,我認為比較多一點:
- 將收入分配到每個月的工作量之上,只要當月有完成進度,就可以確保當月會有一些收入。
- 如果遇到無良的業主,交付之後,卻無法收到報酬,最多損失一個月時間,也看清一個業主是否可以合作。
- 將支出分配到每個月,同時減少業主一次性拿出過多費用的問題。
報價常見問題
當有一部份技術不熟時,該怎麼報價?
如果遇到一部份不熟的技術領域,需要投入一些學習時間。通常可選擇第二種方式。
- 第一種是自己另外投入時間學習,不會算在開發時程內。
- 第二種是將學習成本也算在開發時程內,延長開發時程。
如果對整體專案的開發有足夠的經驗,只有少部份業主使用的方式沒有接觸過,我會選擇多增加一些報價時程,同時提高報價,來處理未知的問題,讓我投入的學習成本也能有所回報。
提出合理的時間投入成本是接案者的權力,而選擇接不接受也是業主的權力。但只要整體的報價是在合理的範圍內,通常業主是不會在意其中有多少的學習成本的。
如果是第一次接案,在技術能力都不熟的情況下,怎麼報價?
如果是第一次接案,其實不用太在意報價的高低,去學習接案過程的問題,累積一些經驗,可以如期將專案完成,所獲得的無形價值,反而才是最有價值的部份。
當有足夠的經驗與能力,才是跟別人談價格的籌碼。
反過來說,業主願意找無經驗的工程師,其實也是一種冒險,也要承擔無法結案的風險。
第一次接案的報價,要學習與面對的問題還有很多,可以用目前薪資水準報價,願意打折讓利給業主也都是可以的,有了第一次的經驗,未來可以再調整回合理的價格。
談出好價格的報價心法
我覺得想要談到理想的價格,首先你一定要有自信,相信自己是有能力做出對方的需求,然後在提出報價之後,不要預想當對方砍價的時候,你願意讓利多少,因為每一次讓利就是在降低自己的價值。
我過往每一次的接案經驗,當專案結束的時候,我都會覺得過程好累,需要付出很多的心力去完成專案。如果當初的報價又被業主砍價,心裡會有不平衝的累,付出的心力跟本就不滑算。
如果報價後堅持價格不變,儘管結案還是覺得累,但收入至少合理,覺得報價太少的話,也是學了一課,下次報價要改進。
不要害怕跟別人談價格
我知道一些人遇到跟人談價格時,就會一付不好意思的樣子,報價給對方,很像在拜託對方接受的樣子。客戶看到這樣的呈現,隨便要求一個打折降價,可能一下就答應了。
談價格就是要有氣場,有自信才能談到好價格。
創造個人品牌效應
其實想要有更好的報價,是建立在過去每一次如期的完成專案,並且讓你的客戶願意口耳相傳你的服務品質。
你能做的就是讓更多人認識你的價值,多展現自己的專業,不用怕分享自己的專業,就會被別人給學走,會成為你的客戶的都是在不同領域的人,他們相信你的專業,就會願意找你合作接案。
當愈來愈多人認識你的時候,你的個人品牌就會建立,也是你提高身價的時候。
以上我分享一些我的接案報價經驗給各位參考,祝福各位工程師都可以順利談到好的價格。
重點整理
- 沒有完美的報價,只要雙方都接受,就是好的報價
- 列出所有功能的開發時間
- 以目前薪資估算時薪
- 以 104 職業薪資估算時薪
- 以品牌網站參考報價
- 請業主採用月結算方式付款
- 談價格就是要有氣場,有自信才能談到好價格
--
本文轉貼自:理財工程師 Mars(原文標題:給軟體工程師的 3 種接案報價方式-合理報價讓自己與業主都能接受)
追蹤數位遊牧臉書粉絲團,與 instagram(@digital.nomad.press)掌握更多最新文章!