上个月陪一个做建材批发的客户复盘项目,他拿出一份报价单,8万块,功能写了47条。我看完只问了一句:这47条里,有几条是你下个月真的会用的?他愣了几秒,说大概5条。剩下42条,是他在别家系统里看到觉得不错,顺手加进去的。这个场景我一年要遇到十几次,也是定制开发选型里代价较大的那个坑。
第一笔账:需求边界,不是功能越多越划算
很多老板选型的逻辑是「同样的钱,功能多就是赚」。软件不是这样算的。定制开发按人天计价,一条功能从需求确认、原型、开发、测试到上线,小功能也要2到3天。47条功能意味着至少100多个工作日,8万块根本包不住,供应商要么后期加价,要么交付一个能跑但到处是洞的半成品。
我们在项目里通常会让客户做一件事:把所有想做的功能分成三档。
- 必须做:不做业务就转不起来的,比如订单录入、库存扣减
- 可以晚做:上线三个月后再加的,比如报表导出、消息提醒
- 可以不做:别人有但你自己用不上的,比如花哨的数据大屏
去年一个做汽配的客户,最初列了60多条需求,分完档只剩19条是「必须做」。一期按19条开发,两个月上线,花了不到预算的一半。剩下那些,用起来之后他自己砍掉了一大半——因为业务跑起来才发现,真正卡脖子的问题跟当初想的完全不是一回事。
第二笔账:交付节奏,别一次签一年的合同
定制开发最常见的失败模式,是签一个半年的大合同,做完一次性验收。问题在于,半年里业务会变,需求会变,等系统交付的时候,当初提需求的人可能都调岗了。
我们现在的做法是拆成小周期,一般4到6周一个版本,每个版本交付一个能真实使用的功能块。这样有三个好处:客户能早点用上、早点发现问题;预算按版本付,风险摊薄;需求有变化,下个版本调整,不用推倒重来。
有个做连锁餐饮的客户,一期只做了门店点单和库存两块,上线后跑了三周,发现后厨的出餐流程跟系统设计的不一样。如果按老办法半年后才发现,返工成本至少翻三倍。小步交付,本质上是用小成本试错换大方向正确。
第三笔账:后期维护,报价单上最容易被忽略的一行
签合同的时候大家都盯着开发费,很少有人问:上线之后,改一个字段多少钱?加一个报表多少钱?服务器谁来管?
定制开发的真实成本,开发只是一部分,后面还有持续的维护、迭代、服务器和数据库运维。我见过一个客户,开发花了12万,上线第一年维护又花了5万,因为合同里没写清楚维护范围和计费方式,每次改动都是临时报价,价格完全看对方心情。
建议在合同里明确几件事:维护期多长(一般3到6个月)、是否另行收费、维护期内包含哪些改动、超出部分怎么计费、源码和数据归谁。特别是源码,一定要写清楚交付。不给源码的定制,本质上是把你锁死在一家供应商身上,后面想换人重做,成本比重新开发还高。
什么情况下该定制,什么情况下别碰
最后说个判断标准。如果你的业务跟市面上标准软件的重合度超过七成,先别急着定制,把现成产品用透,剩下的三成用人工补,往往比定制便宜也快。真正需要定制的,是那些业务模式特殊、标准软件改不动、而且这套流程本身就是你竞争力的场景。
反过来,如果只是为了「显得公司正规」「跟别人不一样」去做定制,大概率是花钱买麻烦。软件是工具,不是门面。
签合同前,让对方回答这几个问题
- 这个报价包含哪些功能,不包含哪些,写清楚
- 分几个版本交付,每个版本什么时候能上线
- 上线后维护怎么算钱,源码给不给
- 如果中途需求变了,怎么处理,加钱还是换功能
能把这四个问题回答清楚的供应商,基本靠谱;含糊其辞的,报价再低也要谨慎。
写在后面
选型这件事,说到底不是选一家价格便宜的,而是选一个你能管得住、算得清的合作方式。如果你手上正有一份报价单,别急着签字,先把它拆成上面那三笔账,看看每一项是不是写得明明白白。看不明白的地方,让对方写清楚再谈下一步,这一步花的时间,比后面返工省下的钱值多了。