在需求梳理完成之后,软件公司基本清楚了客户需要做什么东西,客户也知道了要开发的大概内容,那么下一步就是签订软件开发合同进入正式的合作。
合同是只有直接法律效力的,所以在签订之前需要仔细查看合同在中每一条,很多客户看到合同这个东西后,都是简单的扫一眼更有甚者连看都不看直接翻到合同的最后一页,大笔一挥签上自己的名字。如果自己看不懂,可以找懂法律的朋友来仔细阅读下,合同为我们后期的项目开发提供很好的保障,同时也是法律仲裁的依据。
一、合同需带有“功能需求说明”附件
你需要知道的是软件开发合同大部分都是由软件公司(乙方)准备的,在合同的编写上自然会偏向乙方,内容基本为项目开发说明、付款方式、免责说明等,然后最后附带已经梳理好的功能需求说明书,这个才是实际要开发的内容。不然你只写一个开发XXXX系统,那鬼知道这个系统到底是1天的工作量话还是10天的工作量。
二、合同中的付款方式
关于付款方式上,每个公司都是不同的。基本上都会要求客户先付30%的开发费用,然后再根据开发进度和节点再进行支付。这样对双方都是公平的,因为是第一次建立合作关系双方都不熟悉,客户担心给了过多的开发费用,软件公司可能半途干不了了,或是开发出来的东西不是自己想要的。软件公司这边可能会觉得客户跟进个差不多了,需求梳理也花了很多时间,项目也开工了人员都到位了,结果没消息联系不上了。所以在项目开发费用上根据实际情况谈一个合适的且双方都认可的付款方式。
三、合同中的项目工期
在开发工期上需要注意的是,一般软件公司报的可能是XXX个工作日。注意哦,是工作日,不是天。工作日是指平常工作的时间不包括周末和法定节假日。假设项目开发的周期是60个工作日,按照双休计算的话(一个月22工作日),实际自然日需要82天,也就是将近3个月的时间。如果对工期紧的客户,需要问清楚并且落实在合同上面。
四、关于项目源码
在项目合同签订的时候需要说明源码归甲方所有,项目在交付验收的时候自己需要拿到源码。源码是软件工程师在开发项目时所编写的程序代码。其实客户并看不懂源码,自己拿到源码的目的一方面是后期可申请软件著作权,第二个就是后期如果更换软件公司,需要把源码交接给其他团队进行二次开发或是维护。
五、项目延期
一航碰到过很多因项目开发延期而最终导致客户(甲方)终止合同,并且要求退还支付的开发费用的情况。但软件公司已经投了很多的人力物力,当要求退还开发费用时一般都会引起纠纷。导致项目延期的情况很多种,客户不懂软件开发,产品经理方案不完善,项目经理前期计划不足,中途需求更改等等原因。但如何尽可能的防止项目的延期,除了做好需求梳理外可以在合同签订时跟软件公司沟通增加项目延期赔偿的要求。这个是对客户的保障,相信有实力的公司在弄清需求后,这点承诺还是愿意给的。客户可能不会在意那些赔偿,他更需要的是项目按时交付的一个保障。
合同是很重要的法律依据,同时也是项目的法律保障,所有我们在签订时要详细看下每一条,看不懂的条款让软件公司解释,再不懂的话找相关法律从业者朋友去问,但你只要签字就代表了你认可了合同中的条款,不出问题还好,如果真出问题需要用到合同,你可能就吃亏了。