计算机软件委托开发是将委托方的主观需求不断客观化的过程。在签订合同时,双方一般会确定大致的功能需求说明作为合同附件,但在合同履行过程中,原初确定的功能点通常会进一步细化,也有可能发生功能的删减、增加等变更。
功能需求变更、新增还是原有功能需求细化,涉及开发方是否可以以此为由抗辩延期交付,并主张新增需求的费用。两者的区分一般遵循以下步骤:
一是参考双方沟通过程中确定的事实,特别是对开发过程中需求变更的文件进行认定,同时对开发方提出新增需求的时间节点、其在开发过程中单方面就新增需求沟通的情况进行考量。
二是通过比对、组织勘验或鉴定等方式进行区分。在比对中,需以表述最为详尽的功能点作为单位元素进行逐一比对,从而确定是否属于新增需求。
在确定软件功能需求时,由于合同约定的不明确或者抽象的、存在歧义的语言文字表述,当事人往往对具体的功能约定产生争议,这就需要运用合同解释方法对相关条款进行解释。
如果委托方变更需求,却未能就变更后的开发工作量及相应的开发费用重新与开发方达成一致意见,在委托方未要求开发方仍按照原定需求继续开发的情况下,开发工作的停滞并不当然构成开发方的违约情形。双方就需求变更、开发工作量调整、开发费增减等问题产生分歧、始终未达成新的合意时,可视为双方丧失继续合作的相互信任,形成合同僵局。
天禾(上海)律师事务所陈军律师提示:软件开发合同中应建立需求变更管理流程,明确需求变更的提出、确认、费用调整和延期处理机制。双方在履行中应保留好需求沟通记录,特别是涉及新增或变更功能的邮件、会议纪要等,以便后续认定。
上海知识产权律师网