一位开发人员发来一个总价。另一位发来一个小时费率,再加上一个预估工时。两者看起来像是对同一个问题的两种回答,其实是在您与系统开发方之间分担风险的两种不同方式,而这个选择会悄悄地决定:当事情比所有人预期的更大、更小或者不一样时,由谁来买单。本指南讲解定制软件项目是如何定价的,每种模式对预算和变更请求有什么影响,以及如何选出最适合您项目的一种。它讲的是价格是怎么构成的,而不是某个价格是否合理;如果您想把两份已经收到的报价放在一起比较,请参阅如何并排比较两份定制软件报价。
三种定价模式,用大白话来说
几乎每一份定制软件报价都属于三种模式之一,或者是它们的混合。先弄清楚对方提供的是哪一种,是第一步,因为同一个数字在不同模式下含义完全不同。
| 固定价格 | 按时间计费(按小时或按天) | 分阶段定价 | |
|---|---|---|---|
| 价格如何确定 | 针对书面范围商定一个总价 | 费率乘以实际花费的时间 | 每个阶段单独定价,在该阶段开始前商定 |
| 签约时您能知道什么 | 按书面范围计算的总价 | 费率和一个预估,而不是总价 | 第一阶段的价格,以及其余部分的大致轮廓 |
| 供应商承诺什么 | 以该总价交付所描述的范围 | 完成工作并汇报用时 | 按描述交付每个阶段,然后重新规划 |
| 最为人所知的优点 | 预算确定性 | 灵活性 | 兼顾两者 |
有一样东西很容易被误认为定价模式,但其实不是:付款安排。固定价格可以按与节点挂钩的分期来支付,分阶段项目也可以在每个阶段完成时付款。节点决定的是何时付款;模式决定的是总价如何确定,以及总价变动时由谁承担风险。报价比较指南讲解了如何阅读付款节点本身。
固定价格如何运作,它的前提是什么
固定价格是大多数企业主预期的模式:您描述需求,供应商写下他们将要建设的内容,双方商定一个总价。
- 您实际买到的是什么。一个明确范围,加上一个商定的总价。范围就是合同;价格只有相对于范围才有意义。
- 风险在谁那里。供应商承担工作耗时超出预估的风险。您承担范围写错的风险,因为范围之外的任何事情都要另行商议。
- 变更请求如何处理。新增或修改功能,会以变更请求的形式报价:其价格以及对日期的影响,在工作开始前就商定。这是一项很好的保护,但前提是原始范围足够具体,能够看出什么算变更。
- 它的前提。需求已经被理解到可以写下来的程度。如果还没有,供应商要么抬高价格来覆盖不确定性,要么先报低价,再通过变更请求把差额收回来。
- 它不能保证什么。固定价格固定的是范围的成本,而不是结果的质量。“完成”的含义仍然需要写下来,这正是验收前的验收测试的用处。

按小时计费如何运作,它的前提是什么
在按时间计费的模式下,您为实际花费的时间付款,按商定的小时或每日费率计算,另加商定的费用。供应商通常会给出一个预估,但预估只是预测,不是承诺。
- 风险在谁那里。在您这里。如果工作耗时超过预估,您要为多出的时间付款。当多出的时间来自您要求的新发现或变更时,这是公平的;当它仅仅是因为供应商比预期慢时,就会让人不舒服。
- 它擅长什么。还没有人能写出可靠范围的工作:仍在成形的想法、需要先研究行为的系统对接,或者上线后持续的小改进。变更只按所花时间收费,不必每次都重新谈判。
- 它需要您做什么。定期检查。按时间收费的供应商没有内在动力提前完成,所以纪律要来自您:对照预估检查进度,数字开始偏离时尽早发问。
- 如何让它更安全。要求提供带区间的书面预估、按固定间隔提交的工时报告,以及一个上限:供应商在超出之前必须先与您商量的不得超过金额。
按小时计费并不是比固定价格更差的交易。它是另一种交易:您承担预算风险,同时保留灵活性。
分阶段定价:折中之道
许多项目既不够清晰,无法给出确定的总价,又不够开放,不值得接受一个没有上限的计时器。分阶段定价把项目拆成若干阶段,每个阶段有自己的范围和价格,在该阶段开始前商定。
- 先做一个付费的探索阶段。一个简短、单独定价的阶段,把粗略的想法变成书面范围、界面草图或原型,以及更准确的预估。之后的开发再采用固定价格或分阶段,基础要扎实得多。
- 然后是核心版本。能完成关键工作的最小版本,交付并经过测试,让您在承诺其余部分之前先看到真实的软件。
- 然后是后续阶段。报表、额外模块、系统对接或手机应用,每一项等您准备好时再定价。
分阶段的长处是每个阶段都以可测试的成果结束,您可以在阶段之间停下、改变方向或更换供应商,损失有限。代价是第一天无法知道最终总价,而且每个阶段的交界处都需要您做决定。它适合较大的系统,以及存在真实未知数的项目。定制业务系统需要多长时间解释了为什么同样的形态也会出现在时间表里。
每种模式对风险、变更请求和预算确定性的影响
把几种模式并排放在一起,真正的区别在于由谁来承受意外。
| 固定价格 | 按时间计费 | 分阶段定价 | |
|---|---|---|---|
| 预算确定性 | 对书面范围而言很高 | 除非设上限,否则较低 | 单个阶段内较高,整体为中等 |
| 如果工作耗时超出预估 | 由供应商承担 | 您为多出的时间付款 | 阶段内由供应商承担 |
| 如果您改变主意 | 变更请求在工作开始前定价 | 并入工时,通常很快 | 通常移到下一阶段并重新定价 |
| 如果范围比想象的更大 | 作为变更或新阶段重新报价 | 总价上升 | 在下一个阶段交界处重新规划 |
| 需要您投入的精力 | 签约前较多,之后较轻 | 整个项目期间持续 | 每个阶段做一次决定 |
没有哪一行显示某种模式单纯更便宜。每种模式都把成本和风险转移到不同的地方和不同的时刻,所以标价最低的并不总是最终账单最低的。
哪种模式适合哪类项目
最合适的模式,取决于您今天能把需求描述得多清楚。
| 您的情况 | 通常适合 | 原因 |
|---|---|---|
| 要把一个已知流程数字化,需求已写成文档,例如用订单或预约工具取代电子表格 | 固定价格 | 范围可以写下来,所以对双方来说确定的总价都很现实 |
| 您知道问题,但不知道解决方案 | 先做付费探索阶段,再采用固定价格或分阶段 | 先花一点钱弄清楚开发涉及什么,再做承诺 |
| 对接另一个系统,而对方系统的行为不确定,例如电子发票 | 调研阶段用设上限的按时间计费,之后改为固定价格 | 没有人能诚实地给未知数定价,但已知的部分一旦弄清楚就可以固定 |
| 包含多个模块的大型系统 | 分阶段 | 每个模块都交付并测试,计划随着您的了解而调整 |
| 设计问题仍然开放的手机应用 | 分阶段,并带探索阶段 | 界面和功能是主要的成本因素,请参阅手机应用成本 |
| 上线后零散、难以预测的小改进 | 按时间计费 | 每项请求都太小,不值得正式界定范围 |
一个实例:同一个系统,三种定价方式
这里的数字是为演示机制而虚构的,并不是Gotka的价格。一家批发商想要一个接收订单和跟踪库存的系统。三家供应商给出了回应。
- 供应商A报固定价格,对应一份书面清单:十二个已描述的界面、三份报表和一个库存导入。
- 供应商B报按时间计费,按小时费率,预估为280至360小时。
- 供应商C建议分阶段:先是简短的探索阶段,然后是订单和库存核心,最后是报表。
项目进行到一半时,企业主发现仓库需要一份从未讨论过的打印送货单。对供应商A来说,这是一个变更请求:送货单被定价,企业主批准,工作继续,原来的总价保持不变。对供应商B来说,送货单直接开发,工时增加,账单最后可能超过预估的上限。对供应商C来说,送货单被放进下一个阶段,与报表一起界定范围并定价。
在任何一个版本里,都没有人做错什么。企业主只是很晚才了解到一件事,而每种模式决定了由谁、在什么时候为这个教训买单。如果企业主一开始就知道送货单的事,三份报价都会包含它,比较起来也会接近得多。
无论对方提供哪种模式,都要问的问题
- 这到底是哪一种模式?请供应商在报价中写明:固定、按时间还是分阶段。
- 范围内包含什么,范围外是什么?固定价格只和它的范围一样牢固。请要求书面列出不包含项。
- 变更如何定价?询问费率或方法、变更如何批准,以及您这一方由谁来批准。
- 如果按小时计费,有没有上限?以及预算用掉百分之八十时会怎样。
- 我怎样看到进度?定期的演示、工时报告或可运行的版本。
- 怎样才算完成?在工作开始前商定验收标准。
- 您付费的成果归谁所有?价格并不决定所有权;谁拥有源代码需要单独的答案。
常见错误
- 把总价最低的当作最划算的。范围含糊的低价固定价格,常常会通过变更请求涨上去;偏低的小时预估,常常会通过工时涨上去。
- 在没有书面范围的情况下选择固定价格。如果纸面上的内容含糊,确定性就只存在于纸面上。
- 选择按小时计费,却没有上限也没有检查。这会把全部预算风险留给您,而且没人盯着。
- 把固定价格和小时预估当作同一回事来比较。一个是承诺,另一个是预测。
- 把付款节点和定价模式混为一谈。分期付款并不会让价格变成分阶段定价。
- 先改需求,再对账单感到意外。每种模式都会为变更收费;区别只在于怎么收、什么时候收。
- 在有真实未知数的项目里跳过探索阶段。前期花一小笔钱做一个付费阶段,往往比在开发中途才发现未知数更便宜。
Gotka Technologies 在其中的角色
Gotka的应用与系统开发服务建设Web应用、业务系统和手机应用,参考起价为:Web应用和仪表板RM8,000,业务系统和系统对接RM12,000,手机应用RM15,000,范围明确后均以书面报价为准。这些只是起点,并不是定价模式,所以无论您向哪家供应商询价,包括我们,都请要求书面报价写明价格是固定、按时间还是分阶段,以及哪些内容不包含。如果您还在犹豫是自建还是购买,请阅读现成软件与定制软件;至于该由谁来开发,请参阅自由职业者、内部开发人员还是开发公司。无论开发出什么,都还需要一个可靠的地方来运行,这正是Gotka云主机的用武之地。
本指南中使用的关键术语
- 固定价格:针对明确范围的工作商定的单一总价。
- 按时间计费:按小时或每日费率,为实际花费的时间付款,另加商定费用的计费模式。
- 预估:供应商对时间或成本的预测,在按时间计费下它不是承诺。
- 不得超过上限:对按时间计费设定的限额,供应商在超出之前必须先与您商量。
- 分阶段定价:把项目拆成若干阶段,每个阶段有自己的范围和价格,在开始前商定。
- 探索阶段:一个简短、单独定价的阶段,把粗略的想法变成书面范围和更可靠的预估。
- 变更请求:要求添加或修改商定范围之外的内容,在工作开始前定价并获批准。
- 付款节点:触发一次付款的明确阶段,它决定何时付款,而不是总价如何确定。
定制业务系统,固定价格和按小时计费哪个更好?
总体而言没有哪一个更好。固定价格适合需求可以写下来的系统,因为它给您一个已知的总价,并把超支的风险放在供应商一方。按小时计费适合仍在定义中的工作,因为变更的成本低,但除非商定上限,否则预算风险会留在您这里。您可以先问自己:今天能否把需求清楚地写下来。
在固定价格项目中,如果我改变主意会怎样?
书面范围之外的任何事情都按变更请求处理:供应商在工作开始前,为它以及它对交付日期的影响定价,由您批准或拒绝。原来的总价保持商定不变。当原始范围写得具体时,这种做法效果很好;当范围对什么算变更含糊不清时,效果就很差。
如何让按小时计费的项目不超出预算?
要求提供带区间的书面预估、定期的工时报告、进度演示,以及供应商在超出前必须先与您商量的不得超过上限。每次收到报告都对照预估检查数字,并尽早提出疑虑,因为按时间收费的供应商无论项目是否接近完成,都是按时间获得报酬。
什么是分阶段定价,什么时候适用?
分阶段定价把项目拆成若干阶段,每个阶段有自己的范围和价格,在开始前商定,通常以一个简短的付费探索阶段开头。它适合较大的系统和存在真实未知数的项目,因为每个阶段都以可测试的成果结束,您也可以在阶段之间改变方向。最终总价在第一天并不确定。
为什么固定价格的报价有时比按小时的预估更高?
固定价格包含了供应商为不确定性预留的余量,因为超支的风险由他们承担;而按小时的预估则把这个风险留给了您。两个数字并不可直接比较:一个是针对明确范围的承诺,另一个是预测。请问清楚,如果工作比计划耗时更长,两者各自会发生什么。
Gotka的定制软件起价是多少?
Gotka的应用与系统开发服务有参考起价:Web应用与仪表盘RM8,000,业务系统与集成RM12,000,手机应用RM15,000。这些只是起点,并不是定价模式,每个项目在范围明确后都以书面报价为准。请要求任何供应商在报价中写明价格是固定、按时间还是分阶段。


