025-57578887
成功案例
CASE
  • 优秀案例
徐贤彪律师:软件委托开发的范围必须明确
发布时间:2020-05-29  |  浏览:45

软件委托开发的范围必须明确

  徐贤彪律师

案例概述:

山西某天娱公司与南京某信息科技公司于2017年3月10日签订《软件开发合同》,约定南京某信息科技公司为山西某天娱公司开发一款棋牌游戏,游戏包括客户端APP和服务器端控制平台。口头约定软件参照现有某APP软件进行开发,合同约定受托方将软件安装在委托方指定服务器视为交付,3日内委托方没提交书面意见,视为验收。合同还约定7月软件架设到服务器。

7月底,受托方要求委托方租赁服务器,委托方认为软件开发不符合约定,尚有功能没有实现为由不租赁服务器。后在2017年委托方底租赁了服务器,受托方安装了软件,但是委托方认为充值功能异常,无法实现运营,要求受托方修改,而受托方认为功能无异常。直到2018年6月,双方多次沟通未果,委托方向南京中院起诉受托方,要求:解除合同,退还已经支付的合同款7万元,赔偿损失40万元。受托方反诉委托方要求继续支付合同款5万元。后经过南京中院主持调解,受托方退还委托方2万元结案。【根据(2018)苏01民初3553号案,略有修改】

案例思考:

由于软件开发延期,委托人认为功能缺失不能运营导致该项目最终没能运营。由此,山西某天娱公司产生房租、人员工资福利、ICP办理等额外损失超过40万元。产生纠纷和损失的原因,就在于签订合同的时候,没有明确开发的范围。委托方接受调解条件的原因也在于开发范围不明确,且受托方已经在服务器装了软件,按照约定视为交付,故本案中无法认定受托方的违约和有过错。

案例分析及解决方案:

软件行业人员都清楚,实现客户需求是一个过程,是逐步明确的过程。对软件开发不熟悉的客户,一般只能提出业务需求(Business requirement),即客户希望达到的目标。而软件开发需要将业务需求转化成用户需求,在转化成功能需求。用户需求(user requirement)描述的是用户要求系统必须能完成的任务。功能需求(functional requirement)规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。用户需求和功能需求一般是软件公司的产品经理准备,形成文档,提供客户和要求开发人员实现。在本案中,缺少这样一个需求转化的环节,也就导致了开发的范围不明确,客户需求和开发产品有出入。

  本案中,委托方本可以将委托事项分成两阶段(部分),第一部分明确需求,也就是需求转化并形成文档的阶段。第二部分,软件开发过程,即依据需求编写程序、测试、交付的阶段。付款方式也可以分阶段支付,当第一阶段的需求足够细化,委托方验收、付款;第二阶段的开发以第一阶段的需求文档为依据,作为开发范围基准,编写程序、测试,以需求文档作为验收标准验收合格,付款。

经验与启示:

作为软件开发行业外的委托方,委托软件开发,多半只会提出业务需求。程序员并不能根据业务需求编写程序,而是根据业务需求转化的功能需求编写程序。测试人员也是依据功能需求测试程序员开发的软件是否符合要求。

当委托人不能自行提供功能需求文档时,应该将委托事项分成至少两个部分,即需求开发阶段和软件开发阶段,分阶段验收和付款,并以需求开发的的成果即需求文档为软件开发的范围基准和验收标准。当然,需求文档需要足够细化,并且经委托方自己认可。

建议软件委托开发合同增加下列内容:

  一、    委托范围部分增加:

      本委托项目包括需求开发和软件开发两部分;

    软件开发的范围基准以委托方签字认可的需求文档为准;

二、    验收标准部分增加:

      需求开发阶段受托方需要提交需求文档和流程图,以委托方签字认可视为验收合格;

     软件开发阶段的验收标准,以委托方签字认可的需求文档为准;

三、    付款方式部分增加:

    付款采取分阶段付款的方式,需求开发验收合格X工作日内支付第一部分;软件开发验收合格X工作日内支付第二部分;软件正常运行X个月后,支付尾款。

    通过分阶段的方式,可以使不熟悉软件的委托人明确产品需求,明确合同的范围,避免争议,增加软件委托开发的成功率。


上一篇:汪小青律师、史蓓律师:“鲍师傅”商标侵权二审判决
下一篇:汪小青律师:某房屋行政补偿行政诉讼案
E-mail:shicheng@shichenglawfirm.com
联系我们
江苏石城律师事务所(总部)
地址:江苏省南京市江宁区胜利路89号江宁紫金研创中心
   6号楼6、7、8层
电话:025-57578887、85535566
Copyright @ 2024 江苏石城律师事务所 All Rights Reserved.