给软件工程师的 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 元。
然后将 75,000 元除以每月只工作 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)掌握更多最新文章!