许多企业由于缺乏软件自主研发经验,也缺少相关经验的员工,因此把软件项目外包给第三方公司开发,在与开发公司的外包合同中,写的往往比较简单和草率,给后面的纠纷处理埋下了很深的隐患。

1、技术要求:特别是对于需要转交开发源代码的项目,需要在开发技术上达成一致,例如前后端需要用什么框架和开发语言,以便后期转交代码时存在很多问题。作为甲方要考虑后期二次开发或者自己的团队开发时的问题。

2、部署要求:部署方式是本地部署还是云服务器部署,甚至分布式部署;以及服务器要求,包括CPU、内存、带宽;存储方案要求,磁盘阵列、云服务器OSS

3、安全方案:在安全上有什么要求,混淆技术、加密方案等等;

4、产品形态:是什么形态的项目,还是仅仅或者包含BS、CS、安卓APP、IOS APP、微信/支付宝小程序等,这些都影响项目的报价和开发周期。

5、交付周期和支付里程碑:交付周期都会在合同中约定预期时间,交付要看是基于迭代开发交付,还是阶段性瀑布式交付。

6、交付和验收:交付和验收对甲方来说,是一个非常重要的环节,许多甲方因为怠于验收,或者忽略了验收的环节,导致最终举证不利。主要包括功能验收标准和清单,甚至对性能的要求。

7、培训和后期维护:在后期维护和管理上,开发合同应该尽量包含一定的员工培训和后期维护以及升级等方面的约定。

8、知识产权问题:双方需要限定知识产权的制定,比方说产品属于甲方,源代码属于甲方还是乙方,甲方是否允许开发放使用一些开源的项目。

9、违约责任:除了合同履行期间,交付延误等常见违约事项要做明确的限制条件。