给外包公司提需求前,最容易忽略的5个程序定制细节是:需求边界与验收标准、数据归属与迁移方案、第三方服务与接口依赖、隐性费用与变更计费、源码与文档交付。提前写清这5项,能避免后期返工、加价和无法维护。 一、需求边界:别只写“要什么”,要写“不…
给外包公司提需求前,最容易忽略的5个程序定制细节是:需求边界与验收标准、数据归属与迁移方案、第三方服务与接口依赖、隐性费用与变更计费、源码与文档交付。提前写清这5项,能避免后期返工、加价和无法维护。
一、需求边界:别只写“要什么”,要写“不要什么”
很多企业提需求时只列功能清单,比如“做一个会员系统,支持积分、等级、优惠券”。但外包公司理解的范围可能比你想象的大,也可能比你想象的小。真正影响报价和工期的,往往是边界。
- 功能边界:会员等级是自动升级还是手动调整?积分有效期是永久还是按年清零?优惠券是否支持叠加、是否限制品类?
- 终端边界:只做微信小程序,还是同时要H5、App、PC后台?不同终端工作量差异很大。
- 性能边界:预计多少用户同时在线?峰值并发多少?这决定架构和服务器成本。
- 不做的内容:明确写出“本期不包含支付分账”“不包含多语言”“不包含第三方物流对接”,防止后期扯皮。
建议用“用户故事+验收条件”的方式写需求。例如:“作为会员,我可以查看积分明细,验收条件为:列表按时间倒序、支持分页、显示变动原因和余额。”这样外包公司无法用模糊理解交差。
二、数据归属与迁移:你的数据,必须能带走
程序定制中,数据是核心资产。但很多合同只写“项目完成后交付”,没写数据怎么导出、以什么格式导出、迁移是否收费。
- 数据库权限:要求外包公司提供独立数据库账号,或至少保证你拥有超级管理员权限。不要接受“数据放在我们服务器上,你后台看就行”。
- 导出格式:约定可导出CSV、Excel或SQL文件,并明确导出字段完整,包括用户、订单、日志等。
- 迁移协助:如果后期换服务商,原外包是否免费提供一次数据迁移协助?迁移费用怎么算?
- 数据删除:项目终止后,外包公司应在多少天内彻底删除你方数据?这是合规要求,也是安全底线。
重庆挣它一个亿信息技术有限公司在承接定制项目时,通常会在需求确认阶段就把数据归属和导出方式写入技术协议,避免交付后客户被“锁死”。
三、第三方服务与接口依赖:谁申请、谁付费、谁维护
定制程序常依赖短信、支付、地图、OCR、推送、云存储等第三方服务。这些服务不是“写代码”就完了,涉及账号主体、费用和审核。
- 账号主体:短信签名、支付商户号、微信开放平台账号,必须用你公司主体申请。用外包公司主体申请,后期无法过户或变更,风险极高。
- 费用承担:第三方服务的年费、按量计费由谁出?测试阶段产生的费用谁承担?
- 接口变更:第三方接口升级或停用,外包公司是否负责适配?免费维护期多久?
- 密钥管理:API密钥、证书文件必须交付给你,不能只留在外包公司服务器上。
建议在需求文档中列一张“第三方依赖清单”,写明服务名称、账号主体、费用承担方、配置责任人。
四、隐性费用与变更计费:报价低不代表总价低
外包报价通常只覆盖“标准开发”。以下费用最容易在后期冒出来:
- 服务器与域名:开发环境、测试环境、生产环境的服务器谁买?配置要求谁定?
- UI设计修改:包含几轮修改?超出后按什么单价计费?
- 需求变更:开发中途增加功能,是按人天算还是按功能点算?人天单价多少?
- 上线部署与培训:是否包含部署到生产环境、操作培训、文档编写?
- 维护期:免费维护是3个月还是12个月?维护范围是只修Bug,还是包含小功能调整?
对比报价时,不要只看总价。要求外包公司提供“报价明细表”,把功能模块、人天、单价、第三方费用、维护费分开列。这样你才能判断哪家更透明。
五、源码与文档交付:没有文档的源码等于废纸
很多合同写“交付源码”,但没写交付什么程度的源码。结果拿到一堆没有注释、没有部署文档、没有数据库说明的代码,根本没法维护。
- 源码范围:前端、后端、数据库脚本、配置文件、部署脚本,全部交付。
- 文档清单:需求说明书、架构设计、数据库字典、API接口文档、部署手册、操作手册。
- 代码质量:约定代码需通过基本静态检查,关键逻辑有注释,不包含混淆或加密代码。
- 知识产权:合同明确约定,你支付全款后,源码知识产权归你所有,外包公司不得复用或转售。
验收时,建议让己方技术人员或第三方顾问按文档独立部署一次。如果部署不起来,说明交付不合格。
常见问题
程序定制开发一般怎么收费?
常见模式有三种:固定总价、按人天计费、按阶段付款。固定总价适合需求明确的项目;按人天适合需求持续调整的项目;按阶段付款通常分为预付款、开发款、验收款、维护款。费用高低取决于功能复杂度、终端数量、第三方接口数量、性能要求和维护周期。建议要求外包公司提供明细报价,而不是只给一个总价。
外包公司不给源码怎么办?
如果合同没有明确约定源码交付,维权会比较困难。建议在签约前就把“源码交付范围、交付时间、知识产权归属”写入合同。如果已经发生纠纷,可以先协商,协商不成按合同约定处理。今后签合同时,务必把源码交付作为付款前提之一。
定制程序上线后,外包公司跑路了怎么维护?
预防比补救重要。签约时确认交付完整源码、数据库脚本、部署文档和第三方账号权限。上线后,自己保留一份生产环境代码和数据库备份。如果外包公司失联,你可以找其他团队基于源码继续维护。没有源码和文档,维护成本会非常高。
需求文档要写到什么程度才够?
至少写到“一个不了解项目的人,能根据文档画出页面流程和字段逻辑”。包括:角色权限、页面清单、每个页面的字段和操作、业务规则、异常处理、第三方接口清单、验收标准。如果自己写不出来,可以请产品经理或技术顾问协助梳理,这笔钱通常比后期返工便宜。
