很多公司的合同也许都是Word编辑下,稍微从网上下载一些模板改改就给客户签了。往往匆匆交付,却忽略了很多风险,导致软件开发项目进行并不顺利。下面,我们马氪软件就将一些软件开发过程中常见的一些问题进行细致分析,以免甲方客户和软件开发公司沟通不足影响彼此合作。
实际上,软件开发是“先烧钱后拿钱”的重资产服务。必须提高预付款,且确立“不付尾款,不交钥匙”的绝对原则。
一、开发需求,要更明确
例如甲方客户要求“开发一个电商网站”、“制作一个前端”这类模糊需求,会很坑。未明确是否包含移动端、后台数据可视化等具体模块,导致后期需求无限蔓延。
给出建议
2、交付物清单化:详细列出所有交付物,例如:
网站源代码
数据库设计文档及SQL脚本
系统部署与运维手册
用户操作手册
3、量化技术指标:摒弃“运行流畅”、“用户体验良好”等主观描述,代之以可量化的指标,如:
页面平均加载时间 ≤ 2秒
支持至少500个用户同时在线
系统可用性不低于99.5%
4、规范“改什么”
需求的变更是常态(尤其设计的项目),但必须有章可循,否则会导致工期和成本的失控。
例如:甲方口头要求想做个XX网站的效果,或者要增加一个“直播互动”功能,开发方投入资源后,甲方却以“当初没说加钱”为由拒绝支付额外费用。
要知道,天外有天,肯定有更加好看的网站效果,如果甲方今天想改个效果,过两天又想改个别的效果,不可能不收费的吧?
给出建议:① 设立书面变更流程:约定“任何超出《需求规格说明书》范围的需求变更,均需由甲方通过书面形式(如《需求变更申请单》)提出。”
② 明确变更评估机制:约定“乙方在收到变更申请后[例如:3个工作日]内,需向甲方提交该变更对开发周期和项目费用影响的评估报告。”
③ 变更生效条件:约定“只有在双方就变更内容、费用和工期调整达成书面一致并签署补充协议后,乙方才开始执行变更开发工作。”
开发商容易陷入的误区是:你可能觉得你们合作多次了,不好意思要求写需求文档。
但是,如果遇见一个只会各种盘剥和消耗你的合作伙伴,他就只会一次次打破你的底线,让你一直吃亏。这样其实最终,三方都会受损害。
因为你理解,共情彼此难处,但殊不知,共赢是不为难。
中国人就是比较神奇,很多时候,彼此内心都清楚,但是就喜欢所谓的看破不说破,也许是为了给对方面子吧。
二、付款条件
说白了,你做生意,收款是重要的一环。
但是很多软件开发公司A,可能因为接到一个订单而高兴,却忽视了一些细节。尤其当和甲方客户为直接沟通,比如是(经过了丙方转包)。
举个例子,A公司行业规范是"网站上线后付尾款",而转包方公司单方面要求"甲方客户验收合格、并结算后才付款",这属于单方面变更合同条款。
通常转包方会声称"甲方还没验收,我们也没收到钱"。
将转包方与甲方之间的风险转嫁给了软件公司A。殊不知,A公司与转包方的合同是独立的,转包方与甲方的合同关系不应影响A公司和转包方之间的付款约定。
此外,付款条款应与项目里程碑深度绑定,避免将所有风险押注在最终验收这一个环节。
如果采用“预付款+尾款”模式,尾款比例过高,导致开发方垫资过多,风险巨大。
建议开发项目,可以用多节点分期付款:
① 预付款 (50%):合同签订后支付,用于启动项目。
② 里程碑款 (30%):开发完成并通过内部测试,交付线上测试版后支付。
③ 尾款 (20%):针对可能存在的bug等不满意项进行最终修改,最终验收。
对于第三方转包项目,一定要注意“背靠背”付款:坚决不接受“等甲方收到其客户款项后再支付”的无理要求。要知道,你的合同关系是与转包公司的,而非其甲方客户。
若分包方收到最终客户款项迟延,或最终客户(甲方)未付款,应在项目验收合格后 [例如:15] 日内无条件支付尾款。
(如果分包公司赖账,或者其最终客户跑路,过了15天分包公司必须给我钱,不能无限期拖着我)。
三、定义“如何算完成”
验收标准与流程很重要!如果你们彼此约定“项目完工后验收”,那甲方以“一直不满意就一直不验收”为由拖延你半年,会导致尾款遥遥无期。
建议:① 验收标准客观化:明确“验收的唯一标准为附件一《需求规格说明书》中列明的功能和性能指标。”
② 设定明确验收期限:约定“乙方完成开发并通知甲方后,甲方应在[例如:15个工作日]内组织验收并出具书面验收意见。”
③ 引入“默示验收”机制:这是关键!必须约定“若甲方在上述验收期限内未提出书面异议,或已将该网站/软件投入使用,则视为项目验收合格。”
如果是分包项目,分包方签署《验收确认函》的时间,不早于其的甲方客户签署验收单的时间。
④ 缺陷分级处理:将验收中发现的问题分为“致命缺陷”(导致系统崩溃)、“严重缺陷”(核心功能失效)和“一般缺陷”(UI瑕疵)。约定只有“致命缺陷”和“严重缺陷”会影响验收通过,而“一般缺陷”则限期修复,但不影响尾款支付。
而如果软件开发公司(约定开发需求文档中超40%的需求未实现,则认定验收不合格),那么甲方可以说“虽然功能实现了,但我不喜欢这个颜色,这属于‘无法实现我的审美需求’”,这就很难界定。
建议: 将验收标准严格绑定在《需求文档》上,而不是“甲方的满意”。
修改为: “验收的唯一标准为双方签字确认的《产品/服务客户需求文档》。甲方不得以‘主观不满意’、‘不符合市场预期’等非功能性缺陷为由拒绝验收。”
四、知识产权归属
需要明确约定开发成果的归属,避免后续纠纷。
常见的风险点是:比如合同未约定知识产权归属,如果甲方将同款系统修改后,转卖给竞争对手,乙方(开发方)维权也麻烦。此外,注意保留开发方权利:可约定“乙方为完成本项目所使用的、在合同签订前已拥有的通用代码库、开发框架等,其知识产权归乙方所有,乙方有权在其他项目中复用。”
建议必须明确“尾款付清后交付源代码”!
比如,乙方应在收到甲方支付的全部合同款项后 [3] 个工作日内,向甲方交付完整的项目源代码、数据库脚本及技术文档。若甲方未付清尾款,乙方有权暂不交付源代码。
五、防止服务无限扩大
有的软件开发公司、设计公司常常容易犯的错误就是(喜欢约定哪些服务,乙方不额外收费),以为和甲方公司约定好了服务项目(尤其包年服务)看似合同款项金额相对多些,但如果不注意,容易陷入典型的“滑坡效应”。
打个比方,乙方合同条款说,乙方负责填充网站中的内容,但没有明确说明是哪些内容,内容的数量是多少。甲方会认为:“我找你做了网站,填内容也是你的事。”那么他发几百张图、几十篇几千字的文章让你填。如果不填,就是“服务不到位”!
实际上内容填充不属于网站这个软件开发的范畴,而是网站运营。
甲方完全可能说“网站里的内容还没填充完,不算完成,所以不付款”。因此,必须在合同中明确区分 “乙方负责的开发工作” 与 “甲方负责的内容填充工作”,并规定后者不影响验收和付款。
【建议】“乙方负责协助填充基础测试数据(不超过5条),仅用于演示系统功能。正式上线所需的所有图文内容(包括产品详情、新闻资讯、Banner文案等)均由甲方自行录入。 乙方提供远程指导,如需乙方代为录入,按 [例如:50元/小时] 或 [例如:100元/千字] 收取额外服务费。”
01. 本合同项下,网站/软件中的图文内容(包括但不限于产品详情、新闻资讯、Banner文案、公司介绍、联系方式等),原则上由甲方自行录入、上传或提供。乙方不承担内容填充义务。
02. 为方便甲方测试网站功能及展示效果,乙方可免费提供至多5条内容(例如5篇文章或5个产品)作为示例数据录入。该示例数据仅为测试用途,不代表乙方有义务填充全部内容。
03. 双方明确约定:甲方完成全部内容填充,不属于乙方工作范围,亦不作为项目验收或尾款支付的前提条件。 乙方完成网站开发、部署至正式服务器并可正常访问后,即视为乙方已完成合同约定的开发义务。无论甲方是否已填充全部内容,均不影响乙方按约定收取尾款的权利。
04. 如甲方要求乙方代为批量录入内容(超过5条),双方应另行签订《内容录入服务补充协议》,并按照实际工作量支付额外服务费用。
六、资料交付责任
尤其是分包项目,如果分包方或甲方客户故意拖延提供资料,或者提供的资料质量极差,导致工期延误,然后反过来怪你没按时交付。
建议设定明确的“资料交付截止日”。例如 “甲方应在合同签订后 [X] 日内,向乙方提供完整的开发所需资料(包括但不限于文案、图片、Logo等)。若甲方逾期提供资料,项目交付日期相应顺延。若甲方逾期提供资料超过 [10] 天,乙方有权解除合同并要求甲方支付已完成工作的费用。”
此外,可以增加条款“若因甲方原因(包括但不限于未按时确认需求文档、未提供资料、未反馈意见)导致需求确认延迟超过5日的,视为甲方已确认需求,乙方有权启动开发工作,且项目交付日期不顺延。”
七、违约风险
例如有很多公司可能会为了表面自己的诚信和专业度,会写出这类条款:任何一方造成工期延误的,需支付对方违约金。每逾期一日,违约方应向守约方支付合同总金额 0.5% 的违约金。
其实啊,仔细分析一下你会发现惩罚不对等: 甲方拖你一天款,罚你 0.5%;你拖甲方一天货(哪怕是因为甲方没确认需求),罚你 0.5%。这在法律上叫“显失公平”。而且出现叠加风险: 如果项目因为甲方拖延确认需求导致延期,甲方反过来告你违约,你不仅要赔他钱,还拿不到尾款。
建议做法:
“甲方逾期付款,每逾期一日,按未付款项的 1% 支付违约金;乙方逾期交付,每逾期一日,按合同总额的 0.05%(万分之五)支付违约金。”(注:通常乙方违约金应远低于甲方违约金,或者约定一个封顶金额)。
原文转载自:徐伟轩博客 内容有删减
原文链接:https://xuweixuan.com/blog/codes/123.html

