【审理法院】:华东地区/上海市/上海市高级人民法院

【法院层级】:高级法院

【案例类型】:普通案例

【审理程序】:二审

【案  号】:知识产权/知识产权合同纠纷/著作权合同纠纷

【文书类型】:判决书

【审结时间】:2018/1/17 0:00:00

上海名场电子商务有限公司、中标软件有限公司计算机软件开发合同纠纷二审民事判决书
当事人信息

上诉人(原审原告):上海名场电子商务有限公司,住所地上海市杨浦区。

法定代表人:李杰灵,该公司总经理。

委托诉讼代理人:李兴国,男。

委托诉讼代理人:胡晴英,女。

上诉人(原审被告):中标软件有限公司,住所地上海市徐汇区。

法定代表人:周进军,该公司董事长。

委托诉讼代理人:高飞,男。

委托诉讼代理人:方芬,上海市恒泰律师事务所律师。

审理经过

上诉人上海名场电子商务有限公司(以下简称名场公司)与上诉人中标软件有限公司(以下简称中标公司)因计算机软件开发合同纠纷一案,均不服上海知识产权法院(2015)沪知民初字第771号民事判决,向本院提起上诉。本院于2017年10月20日立案后,依法组成合议庭,开庭审理了本案。名场公司法定代表人李杰灵与中标公司委托诉讼代理人高飞、方芬到庭参加诉讼。本案现已审理终结。

一审原告诉称

名场公司上诉请求:依法撤销上海知识产权法院(2015)沪知民初字第771号民事判决,改判支持名场公司一审全部诉讼请求,由中标公司承担一、二审诉讼费。其主要事实和理由:一、名场公司已完成涉案软件开发并通过验收,中标公司应当依据系争合同支付相关款项;二、涉案软件开发需求变更巨大,双方已就追加开发费和增补合同达成一致,并已就该新增开发部分形成事实合同;三、无锡客户已就涉案软件向中标公司支付了全部项目开发款项;四、中标公司存在伪造证据的行为;五、一审法院没有保障名场公司的诉讼权利,在谈话、庭审发言时间分配、合议庭成员变更、申请调查取证等问题上存在程序不合法。

一审被告辩称

中标公司答辩称:中标公司不同意名场公司上诉请求,理由如下:一、名场公司没有完全履行涉案软件开发合同所约定的义务,要求支付全部合同价款缺乏依据;二、名场公司拒绝就项目开发成果进行鉴定,故无权要求新增款项;三、制作需求规格说明应当是名场公司的合同义务。

中标公司上诉请求:依法撤销上海知识产权法院(2015)沪知民初字第771号民事判决第一项,改判驳回名场公司一审全部诉讼请求,由名场公司承担一、二审诉讼费。其主要事实和理由:一、涉案需求规格说明的制作义务应当是名场公司的单方义务,一审法院对此认定错误;二、本案中系争开发项目的新增和变更部分未超过合同约定的15%,中标公司不应支付相关费用;三、中标公司因名场公司开发项目验收不合格导致重新开发,并因此蒙受经济损失,且名场公司未交付开发成果。

名场公司答辩称:名场公司不同意中标公司上诉请求,理由如下:一、中标公司关于《需求规格说明书》的主张与事实不符,制作该文件的义务应属中标公司;二、中标公司关于“涉案软件中新增和变更开发需求未超过合同约定的15%”的主张与事实不符,证据证明中标公司自合同签订后对开发需求调整已超过15%,构成违约;三、中标公司关于“名场公司未交付开发成果”的主张亦与事实不符,名场公司已直接向无锡用户交付了产品。

原告名场公司向一审法院起诉请求:1.请求判令被告支付原告开发“WB系统”软件合同余款人民币33万元(以下币种相同),并支付以33万元为基数、自2015年10月15日起至实际支付日止、按每日1‰计算的违约金;2.请求判令被告支付原告为开发“WB系统”软件2015年7-10月份新增、变更开发已完成功能点开发费525,000元;3.请求判令被告承担原告人员误工费和交通费。一审庭审中,原告表示不再主张第3项诉讼请求。

一审法院查明

一审法院认定事实:一、合同签订前的准备、涉案合同的签订、需求功能点变化等情况。封面日期显示为2014年6月26日的《QT文字编辑系统软件需求规格说明》所列功能点有67项,封面上印有被告中标公司名称。同年7月22日的《QT文字编辑系统项目实施方案》载明,原告针对67项功能点的开发周期评估为6个月;第六部分“风险”中提到“a)需求变更风险。已知项目周期预设很紧,就目前合理的工期安排基本上是满负荷的,我们应该与用户在前期达成共识,尽量减少需求变更的机会,尤其是重大变更。如果在开发进度过半再出现重大变更,将可能造成无法按时完工。应与用户协调,争取列入二期项目……”;第七部分“报价”所列表格中除了67项功能点外,序号68栏的内容有“规格说明、软件设计说明、单元测试说明、单元测试报告、集成测试说明、集成测试报告、合格性测试相关文档、用户手册”,序号69为软件整体功能测试;在第七部分中“项目总计投入”表格下方注明“……如需我方代为联系第三方测试机构,则费用另计”,费用评估标准价为66万元(其中,项目经理1人“套装免费赠送”,软件开发工程师6人49万元,美工1人8万元,测试工程师1人42,000元,文档专员1人48,000元),套装85折优惠价为595,000元。

2014年8月13日,被告中标公司工作人员张智鹏(zhipeng.zhang@cs2c.com.cn)向原告名场公司法定代表人李杰灵(cary@mingmall.cn)发送电子邮件称:“现在对方要详细的开发计划,需要你提供下……包括任务、文档、测试的开发时间表……另外需要注意文档部分,他们提出了文档列表,如下:提供软件需求规格说明、软件设计说明……”

2014年9月3日至9月5日的《会议纪要》记载的与会人员有袁爱东、牛杰、刘瑰、夏青、张智鹏、李杰灵,会议内容为“1.对文字整编、知识库的需求项进行确认和细化;2.对项目的Demo、效果图进行确认;3.对成绩清分系统的需求进行沟通了解;4.后续有些工作需要各自开展……”同年11月24日至11月25日的《会议纪要》记载的与会人员有牛杰、夏青、朱贵平、张智鹏、李杰灵,会议内容为“1.在……(无锡用户)部署了服务器和客户端的环境;2.对文字翻译、文字整编的需求项进行确认和细化……”该两份《会议纪要》均以表格形式列举了会议的具体条目内容和结论,并在表格后备注“还有一些需求类的内容在《需求规格说明书》中批注记录。”牛杰、夏青和张智鹏在两份《会议纪要》后签字确认。

2014年12月2日,被告中标公司(甲方)与原告名场公司(乙方)在上海签订《技术开发合同》(合同编号PS14S045)一份,合同封面载明的有效期限为2014年12月2日至2016年7月30日。该合同的主要内容为:1.合同标的产品名称:WB系统。交付时间:2015年6月30日。交付方式:软件需求规格说明、软件设计说明、软件单元测试计划、软件单元测试说明、软件单元测试报告、软件集成测试计划、软件集成测试说明、软件集成测试报告、软件测评报告、软件产品发布单、源代码、可执行程序、安装说明、用户手册、软件验收测试细则、软件配置管理报告、质量保证工作报告、软件研制总结报告、软件技术总结报告。技术要求:见附录《WB系统技术要求》;验收要求:见附录《WB系统研制测试验收要求》。2.研制进度开发周期:自合同签订日期起至2015年6月30日止。2014年12月31日前,乙方根据《软件需求规格说明》完成系统所有功能的集成测试和联调联试,并提交试用版,形式为光盘,内容包括可执行程序、源代码、测试应用实例、软件设计说明、软件集成测试计划、软件集成测试说明、软件集成测试报告、软件验收测试细则、使用说明文档等文档,参与无锡用户单位整体系统联调联试。2015年3月30日前,乙方配合甲方和用户单位开展WB系统集成测试,使系统具备交付用户使用条件。2015年6月30日前,乙方应根据试用期间甲方和无锡用户单位提出的修改意见对系统进行修改完善,在正常使用条件下,若产品出现质量问题,乙方应及时进行完善或维修。2015年6月30日,乙方交付正式产品,并提交文档软件产品发布单、用户手册、软件配置管理报告、质量保证工作报告、软件研制总结报告、及由……认可资质的软件测评机构提供的第三方软件测评报告。甲方应协调用户单位,在20个工作日内,组织人员及软硬件环境完成系统验收工作。因甲方原因导致的软件不能按时交付、验收延迟、验收未达标的,乙方不承担相应责任,产品验收通过时间以7月20日为准。3.合同价款与支付本合同总价款为660,000元……分期付款具体期限为:(1)合同签订后,15个工作日内支付合同额的50%,330,000元;(2)《软件需求规格说明》通过甲方和无锡用户单位组织的评审后,并且产品在无锡用户单位提供的实验环境下,按照《软件需求规格说明书》进行测试合格后,15个工作日内支付合同额的20%,132,000元;(3)产品正式交付甲方并通过无锡用户单位组织的最终验收后,15个工作日内支付合同额的15%,99,000元;(4)产品正式交付甲方开始计算一年后,15个工作日内支付合同余额15%,99,000元……4.技术成果归属和分享……5.研制工作要求乙方应按甲方和无锡用户单位提出的技术指标和质量标准组织研制、生产。提交的软件设计产品及相关文档符合无锡用户单位和GJB438B的要求。6.技术服务……《软件需求规格说明书》确认起到产品交付前,甲方在与乙方达成一致后,可以对软件功能进行15%以内的调整。因需求变更部分引起的相应延期时间内乙方不承担相应的延期责任。但延期时间需由甲乙双方协商一致,经由甲方认可……7.验收软件完成后由甲方组织在无锡用户单位正式验收测试,经无锡用户单位及甲方确认后,视为验收通过。(1)乙方在产品提交甲方验收前按照合同的技术要求,编写外协产品“验收大纲”,交甲方审查同意后,作为验收的依据。产品测试验收指标参见附录《WB系统研制测试验收要求》。……(3)乙方在约定时间内将产品提交甲方,经双方同意,本产品测试验收需通过具有……认可资质的第三方软件测评中心的验收测试及无锡用户单位组织的正式验收测试。对初次验收不合格的,甲方有权要求乙方在1个月内予以修改、维护。(4)正式验收未通过的,乙方承担相应违约责任。因甲方原因使产品不达标的,逾期验收的,或验收未达标的,乙方不承担相关责任。8.合同转包……9.保密承诺甲乙双方应对以下信息保密:(1)对方提供的用于协作项目的各种文件、技术资料、知识产权、计算机软件、数据库、图纸、图片、影像资料等(含纸介质和电子版介质);(2)甲方生产产品的名称、代号、数量、研制生产进度等信息;(3)乙方在为甲方研制、生产过程中所形成的技术文件、工艺文件和图纸;(4)双方提供的其他需要保密的信息。10.不可抗力……11.合同的变更与解除(1)本合同一经生效即具有法律约束力。除不可抗力外,当事人应当履行合同约定的义务,任何一方不得擅自变更或解除合同。不得因代理人或法定代表人的变动而变更或解除合同。否则视为违约,应承担违约责任,担负由此给对方造成的经济损失。……(3)甲方或乙方不得单方行使合同变更或解除权。任何更改需双方协商。对发生不可抗力事件应及时通知合同对方,并出具发生不可抗力事件及其影响的证据。12.违约责任任何一方未履行或履行合同义务不符合合同约定条件的本合同项下的任何一条条款均被视为违约。……(2)因变更或解除合同,当事人一方或双方遭受损失的,责任方应向对方支付赔偿金,赔偿金以直接损失为限,由双方协商解决。(3)由于乙方原因造成软件不能按时交付的,乙方应在1个月内完成产品交付,并在此期间内按不能按时完成部分合同款的每天1‰的违约金支付,最多不超过合同总费用;由于乙方原因产品验收未通过的,乙方应在1个月内予以修改、维护。经过修改、维护,最终仍不能达到验收指标的,乙方应向甲方退还项目合同款;由于乙方原因造成研制工作出现问题使研制工作失败的,或中止合同的,责任由乙方承担,甲方有权向乙方提出终止合同,追回全部已付合同价款,乙方应承担直接造成的甲方损失。(4)因甲方原因导致的软件不能按时交付、验收延迟、验收未达标的,乙方不承担相应责任。(5)甲方不能按时付款的,应按不能按时付款部分的每天1‰的违约金支付。(6)一方当事人没有按照约定保守秘密,则泄密方应承担相应法律责任并赔偿因泄密给另一方造成的损失。(7)其它未约定的违约责任,按《中华人民共和国合同法》的有关规定执行。13.合同纠纷的解决……14.合同生效与终止14.1合同生效……14.2合同终止(1)本合同双方当事人按合同(包括附录)完成验收、经费结算和合同约定的其它权利义务后,本合同即行终止。(2)双方协商一致解除本合同。(3)由于不可抗力使合同无法继续履行或继续履行没有必要,双方协商同意后解除合同。(4)本合同终止时,双方均应交还对方提供的资料、信息、数据、软件等任何相关资料和信息;销毁所掌握的各种对方相关资料、信息、数据、软件的所有复制件。(5)本合同终止时,除特别规定外,双方均需及时清偿所欠对方的所有债务。(6)因违约导致的合同终止,依据违约责任来处理。15.其他(1)本合同生效前的所有与本合同有关的协议、纪要、备忘录等,凡与本合同条款有抵触的,一律以本合同为准。(2)双方同意并确认,本合同中未明确的事项,在符合本合同约定的原则下,通过双方友好协商的方式解决,需要时以附件的形式追加为本合同的修改条款或补充条款,经过双方授权代表签字并盖章的修改条款和补充条款具有与本合同同等的法律效力。补充条款与本合同条款如有不一致之处,以补充条款为准。……16.附录以下附录与本合同具有同等法律效力,双方签字盖章生效:(1)WB系统技术要求;(2)WB系统研制测试验收要求。该合同附录1《WB系统技术要求》包含任务简介和技术要求,技术要求则分为功能要求(QT应用框架和文字编辑)和运行设计要求,其中QT应用框架分别从一体化桌面操作环境、运行支撑环境、公共辅助服务、系统运行管理环境4个方面提出功能要求,文字编辑分别从原报接入、文字翻译、文本处理、资料查询4个方面提出应具备的功能;附录2《WB系统研制测试验收要求》包含概述、测试目标和测试内容,其中测试目标载明“验证WB系统对《WB系统技术要求》的符合性”,测试内容包括检验项目、技术要求和检验方法,检验项目有系统稳定可靠性、源代码可用性、文档齐备性、一体化桌面操作环境(业务插件切换、双屏支持功能、外部应用程序支持、配置窗口)、运行支撑环境(插件管理组件、信息交互组件、辅助服务管理组件)、公共辅助服务(功能下载组件、参数配置组件、流程管理组件、数据传输组件)、系统运行管理环境(系统功能管理、服务运行管理)、文字编辑(原报接入、文字翻译、文本处理、资料查询)。该合同附录2最后一页打印的页码为“第19页”。

2014年12月版需求说明经原、被告双方盖章确认,其封面左上角载有“附录3:WB系统软件需求说明(初稿)”字样,封面下方打印的页码为“第20页”,最后一页的页码为“第147页”。该需求说明所列功能点共119项。

2015年7月16日,张智鹏向李杰灵(carylee163@163.com)发送含文件名为“XXXXXXXX需求变更情况汇总.rar”附件的电子邮件,附件《需求新增/变更情况汇总(截止2015.7.3)》的主要内容为:“其中大方面的修改包括1.原不需要做后台服务,后添加后台服务部分;2.原对于数据库没有要求,确认mysql可以,现改成Oracle;3.原确定为Win7,现改成win7+winXP。合同中的需求项为119项,有记录的变更共8次,合计218条。2014.9.3,新增/变更需求21条;2014.11.25,新增/变更需求12条;2014.12.17,新增需求9条;2015.1.7,新增需求3条;2015.1.23,新增/变更需求5大类共56条;2015.1.27,新增/变更需求9大类共40条;2015.5.27,新增/变更需求5大类共47条;2015.7.1,新增/变更需求5大类共30条(含需要再调研确认的)……”附件内容还包含有每一次新增或变更的详细条目和结论。

2015年8月版需求说明所列功能点共141项。

二、涉案合同的履行、原告报价等情况

2015年5月4日,被告中标公司工作人员杨美娟在微信群(群成员包括张智鹏、李杰灵、杨美娟、陈羽B和高飞)里发消息:“……(无锡用户)电话通知,建议我们5月8日到……(最终用户)现场部署,适配环境。周期约3天。”张智鹏和李杰灵遂于同年5月8日至5月12日前往最终用户处。

2015年5月7日,张智鹏向李杰灵发送电子邮件询问:“你这个是ubuntu+mysql上的版本呀那oracle+centos的怎么样了另外,源码也要刻张盘呀。”

2015年5月25日,李杰灵向张智鹏发送附件包含有“QT文字编辑系统.rar”压缩文件的电子邮件,正文内容为“除需求书外的所有文档”,压缩文件夹内的文件有软件设计说明、软件单元测试计划、软件单元测试说明、软件单元测试报告、软件集成与集成测试计划、软件集成测试说明、软件集成测试报告、安装说明、出所测试大纲、测试验收细则、质量总结报告、研制总结报告、单元测试报告、集成测试报告、内部测试报告、QB数据库结构说明、QB系统安装说明。

2015年6月18日,李杰灵在微信群中发信息称“刘瑰她们在……作出所验收,给我打了很多电话问功能,其中有些是我都没听说过的。”“我问她这些是哪儿来的需求,她说是她们的设计书上写了的。”“我跟她说应该按大家商定的需求来评审功能。她不同意,坚持按设计书看功能。这不是给自己找麻烦么”杨美娟问“是合同的设计书吗”“而且按照什么时间的设计书后来客户不是提出很多需求了吗”李杰灵称“感觉像时(是)她们最初设计这个系统的设计书”张智鹏问“是不是他们的技术方案啊”李杰灵称“合同设计书上面的功能,功能书上都有。她提的一些我都没听过”……张智鹏表示“咱们现在只接受正式的文档”李杰灵又问“如果她们根本不按需求测试和验收,不关心测试大纲。那她们逼的我们15号赶出测试大纲和测试用例文档干嘛”同年6月26日,李杰灵在微信群发消息称“6月就可验收,又要推到9月,这个不能接受。下次牛杰来沟通新需求时要提出来,不先验收,所谓优化,细化,新增,都暂停了。”被告中标公司工作人员陈羽B回应称“估计不是推,是这次验收没过。”李杰灵又称“如确因合同载明功能不具备,造成未通过,应反馈问题列表,系统修补后,择期再验。而他们提出的是下周去……调研需求,这不是明显有问题么。”陈羽B回复“没过的原因可能就是需求没搞清楚,和用户原始需求有差距”李杰灵遂称“其实就是这么回事,要我们做的和最终用户想要的不完全一致。但这是他们的事,我们在合同之外,已经额外帮助他们够多了。”

2015年6月30日,杨美娟在微信群中发消息“明天中午袁爱东、朱总、牛杰到上海来,就6月中旬……(最终用户)出所验收情况及反馈需求进行讨论、汇总。还望各位领导参加下午会议。具体时间他们还没定。”张智鹏在群中对李杰灵说“李老师明天朱鸿宇、袁主任、牛杰到公司,讨论他们去……(最终用户)调研完的需求的情况,估计中午到,具体时间未定。”杨美娟后通知“说明天上午过来几点没定”“大概10点多到,8:30出发”。张智鹏又对李杰灵说“李老师那明天十点之前咱们公司见”。

2015年7月5日,李杰灵(carylee163@163.com)向陈羽B(yuhao.chen@cs2c.com.cn)、杨美娟(meijuan.yang@cs2c.com.cn)发送含文件名为“XXXXXXXX-QB系统需求新增(修改)开发成本报价表.xlsx”附件的电子邮件,邮件正文内容为:“附件是我公司评估的,关于7月1日QB项目会议中提出的需求新增(修改)开发成本报价表。”附件表格中罗列了31项功能点,“修改建议”栏有的记载为新增需求,有的记载为原有功能的需求扩展……表格最后一行报价显示“软件开发费:15.5人月*每人月2.5万元=38.75万元”“文档开发费为软件开发费的14%。即5.4万元”“两项合计:44.15万元(含税)”。

2015年7月7日,张智鹏回复李杰灵的上述邮件称:“根据合同要求,请在7.9之前提交以下内容:1.程序光盘一张,包括可执行代码的客户端、服务器端2.代码光盘一张,包括系统所有源代码,包括客户端、服务器端3.文档光盘一张,包括01需求规格说明02软件设计说明……17技术总结报告。”

2015年7月13日,杨美娟(meijuan.yang@cs2c.com.cn)向李杰灵(carylee163@163.com)和张智鹏(zhipeng.zhang@cs2c.com.cn)发送主题“QT项目-7月10日会议纪要”的电子邮件,该邮件内容显示:7月10日11:00-15:00由李杰灵、杨美娟和张智鹏参加的会议谈及“项目目前状况”“名场可以配合的工作”“中标后期推进工作规划”。其中,“项目目前状况”部分归纳的内容为“客户需求变更频繁、时间紧(7月需求评审、8月现场开发并联调联试、9月验收)、最终需求还未确定。”“名场可以配合的工作”部分归纳的主要内容为“根据目前的项目情况,名场可以配合进行以下工作:1.在需求评审通过前,可以配合我方出差进行现场需求沟通;2.在需求书评审通过后,及确定二期款付费日期后,可以安排人员在无锡现场调试工作(不含现场开发);3.对于新增需求:(1)针对7月1日新增的功能,名场初步报价15.5人月,38.75w开发费+5.4w文档费(如果中标能够自己承担文档工作,则可以去除文档费);(2)等需求书评审定稿后,再详细评估报一个打包价格,包含新增部分研发费、现场差旅费、整体项目需求变更费等;(3)我方与名场达成一致意见并形成盖章协议后,在首款未到的情况下,可以按照……技术要求,先进行需求变更部分的开发工作,并提供无锡现场开发服务;(4)若8月30日前追加款项部分合同未签订,则新增部分内容不参与项目验收。4.可以配合我方的项目审查,在需求书定稿后,出一个实际的项目计划,并每周简单汇总完成情况,邮件汇报给中标。……7.关于源代码(1)若验收,则可以提交源代码。双方需要共同对合同验收条款、及付款条款协议变更(这个还未具体协商)。(2)若进行验收,则到无锡现场支持工作及本合同内的后续工作先暂停,等验收通过,收到二期款后再继续履行合同后续义务。”“中标后期推进工作规划”部分归纳的内容为“1.下周与……(无锡用户)沟通细化需求,先对已知新增功能进行报价,再根据评审定稿的需求书,进行整体最终报价,建议……(无锡用户)务必在7月对需求书评审完毕。2.尽量在7月内与……(无锡用户)达成一致协议(需盖章),包含最终需求确定、追加开发费确定。3.8月配合……(无锡用户)需求,提供现场开发、调试。9月配合……(无锡用户)开展验收工作。4.商务:在需求书评审通过后,推进二期款。……”

同日,杨美娟还通过微信将“需求新增/变更情况汇总”(内容与前述2015年7月16日张智鹏通过电子邮件发给李杰灵的《需求新增/变更情况汇总(截止2015.7.3)》第一页上半部分内容基本相同)图片发给李杰灵,并称:“大方面的修改就这几项吧”李杰灵回复:“对,必须要搞个列表”。杨美娟又说:“发给……(无锡用户)了,估算了一个打包价,看什么反应吧”

2015年7月22日,李杰灵(cary@mingmall.cn)向杨美娟和张智鹏发送电子邮件称:“根据您的建议,我们已评估了7/17需求相应工时和成本,附件是评估结果……我们也根据你们的要求,为抢进度,提前开始了新需求的开发……另外,7月27日起我们公司要对开发员工作项目培训,为期一周,为派驻无锡现场开发作准备,下周我可能很难参加无锡的工作会。我的计划是需求评审通过即派驻现场开发,大致定在8.3评审会后……”附件表格罗列了44项功能点的类别与复杂度、所需人/月等,其中原告认为“非常复杂”的有6项,认为“复杂”或“较复杂”的有15项,认为复杂度“一般”的有18项;原告在表格中标注为“新增”功能点的有29项,标注为“扩展”或“扩增”功能点的有13项,标注为“原系统已有”功能点有2项。附件表格后说明文字为:“总工时预估为23.25或24.75人月……合58.12(万元)或61.87(万元)……”

2015年7月29日,杨美娟向李杰灵发电子邮件称:“1.qt需求评审会定在8月4日上午……2.我方计划本周四五,高博士在所里和牛博校对需求书……”

2015年7月31日,张智鹏在微信群中对杨美娟和陈羽B说:“本次需求梳理,发现这个系统的重要性远高于咱们的预期,目标客户……要24小时连续工作稳定工作,不能数据丢失……可靠性,性能将会是后续工作的大头”“另外,原有一台中心服务器无法满足他们现有的地域广,线路连接复杂的类广域网的要求,可能需要在每个点部署单独的服务器,各服务器之间还要进行数据同步……”张智鹏在微信群中问李杰灵:“刚才第二个问题,你能搞定吗”李杰灵回复:“怪不得几方都不敢担责。看来要做长期开发的准备”“幸亏当初就上了基于龙信的epoll架构服务器软件。承载能力上比较靠谱”“只是从之前要求的夸(跨)办公室,夸(跨)楼宇。改为跨城域,实时同步。服务端核心业务调度与管理模型可能要大改了,唉,等看具体需求吧。”次日,张智鹏又询问:“如果改成分布式结构,网络环境好坏不一,咱们是否有能力设计实现这样的可靠可靠可靠的方案”李杰灵回复:“这需要的软件系统结构将非常复杂,需要基于多类细分方案,同时还要有配套的保障系统。很可能要根据具体不同的小区网络与中心网络的结构设计多种同步与保障方案。”“龙信服务器有分布式方案,我们也有基于单工卫星通讯的方案。但是必须看具体需求和切实了解具体网络结构。才能设计实用的方案。”“如果真是你说的365×24的要求,这是比银行核心系统要求还要高的,不止是软件设计的好就能保证的。需要有个总体牵头,落实所有相关线路的软硬件适配。相关产品提供商都要参与进行。”

2015年8月5日,原告通过表格形式分别罗列了44项功能点和8月5日需求讨论中无锡用户提出的14项功能点的名称、内容说明、工时预估、完成时间等,并在表格后备注“原44项,工时预估为29人月,合72.5万元。……8/5日新增14项,工时预估为19.5人月,合48.75万元。总计合计:48.5人月,合121.25万元。注1:7/17需求较7/1需求又新增12条大项,并且每项复杂度都整体提升。注2:报价不含配套文档修改所需工时与报价;不含驻场开发产生的额外费用。如需驻场开发,所额外产生的差旅、住宿、交通、补贴等直接费用,将根据需求方所需人数、地点等根据实际核算后另行报价。”被告中标公司在一审审理中未明确否认收到过上述表格和报价。

2015年8月9日,原、被告共同签署的《QB项目驻场协调会会议纪要》记载:“甲方:中标软件有限公司。与会人员:陈羽B、杨美娟。乙方:上海名场电子商务有限公司。与会人员:李杰灵、胡晴英。因qt项目8月需求最终评审,需求与原合同比有变更,当前软件不能满足用户最终需求,……(无锡用户)要求本项目所有研发人员(8人)全月……封闭开发,集中攻关,在8月31日前完成研制任务。任务非常重,时间非常紧迫,为了保障项目的顺利进行,甲乙双方就驻场开发具体事宜进行协商……具体约定如下:1.在8月3日到8月31日期间,乙方按照附件一的人员名单派遣研发人员(8人)到……(无锡用户)驻场封闭开发。2.项目开发内容、时间安排见附件一:《QB项目驻场研发计划及人员名单》。3.派遣期间,派出人员工资由乙方支付。4.派遣期间,乙方派出的所有人员的差旅费、出差补贴、加班费,全部由甲方支付。费用详情见附件二:《QB项目驻场开发费用》。5.本协议所约定的费用只含第3条和第4条的内容,项目研制费不在本协议约定范围内。6.驻场开发的差旅、出差补贴、加班费各项总额计算为:人民币190,781.2元……7.甲方有权对乙方的工作及加班的执行情况进行监督……9.加班人员加班工资基数以2.5万元每人月计,工资基数认定依据是甲乙双方于2014年12月2日认可并签订的《WB系统技术开发合同》及合同配套文档《项目实施方案》中的相关报价。……”该会议纪要附件一为《QB项目驻场研发计划及开发人员名单》,列明了45项“新版功能点”对应的技术要求、开发完成时间节点和人员安排;附件二为《QB项目驻场开发费用》,列明了加班工资、差旅费和出差补助的计算依据和方式;附件三为《QB项目驻场开发加班计划》,载明工作日每天加班3小时,周六每天加班8小时。

《QT文字编辑系统集中攻关人员考勤表》记载的相关人员职责分工为:李杰灵系研发经理,王澍生和陈书宾等6人系研发,胡晴英系美工,张智鹏系项目经理,杨美娟系营销经理,高飞系文档。2015年8月11日的《QT文字编辑系统集中攻关人员工作进度表》显示,高飞需求规格说明任务的进展情况是8月12日评审前完成最后一稿。

2015年8月15日,杨美娟将8月14日下午主题为“对于8月6日会议的几点补充”会议纪要(与会人员:袁爱东、牛杰、李杰灵、高飞、杨美娟)照片发在微信群中,会议纪要列举了7项问题,无锡用户朱总要求8月31日前完成,其中对于原告在举证时提及的第4条“乙方意见”是“目前系统已具备图片缩放、平移功能,旋转功能开发团队争取按时完成”,第7条“乙方意见”是“该需求计划现场验收后完成”。杨美娟于当日在微信群中问:“朱七条后续呢老李”李杰灵回复:“姚处昨晚派了个专家设计方案……”“姚处派的专家姓冯,后续我们又讨论了oracle的问题。冯工也承认cc++版的oracle访问接口的确存在无法保持长连接和无法获得数据集个数等问题。另外,冯工也认为从技术层面看mysql可以很好的承载需求的量级,技术上看完全没必要切换到oracle”“分布式一块,我们一致认为绝不是朱总认为的是最简单问题……”“我在会上提出基于攻坚团队任务排满,时间节点明确的情况下,分布式一块应由……(无锡用户)派员牵头设计和验证方案,并负责实施。他们似乎也同意……”张智鹏于9月6日在微信群中发消息:“刚刚袁主任电话,让咱们以9月10日准备完……分布式的事,说牛杰已经发了资料给老李……分布式他们负责部署维护,我们负责接口对接……”

2015年8月17日,杨美娟通过微信向李杰灵发消息问:“老李,明天公司有人去,我把会议纪要和报价稍(捎)给你,你转交给袁主任行吗”李杰灵于次日回复:“文件收到,袁和牛这2天没露面,可能出差了”。

2015年8月31日,原、被告共同签署的《QT项目八月驻场攻关工作汇报》记载:“与会人员:中标软件有限公司(甲方)杨美娟、高飞,上海名场电子商务有限公司(乙方)李杰灵、胡晴英……由于中标软件有限公司(以下简称甲方)对《QT文字编辑系统》(即WB项目开发合同所约定的软件的名称)项目产生了新的功能与已有功能的扩展,甲方于2015年8月6日向上海名场电子商务有限公司(以下简称乙方)提供了新版的需求说明书,并要求乙方在8月31日前完成部分新增与扩展功能点开发(功能点见附件一)。根据8月6日双方会议达成的一致意见,乙方派遣项目组有关人员于八月到甲方指定的……(无锡用户)驻场进行封闭式集中攻关开发。期间乙方积极配合甲方工作安排,已按照研发计划完成开发工作。具体工作汇报如下:一、按时派遣研发团队驻场。在8月3日到8月31日期间,乙方派遣QT项目研发团队8人到……(无锡用户)驻场封闭开发……二、有序推进按时完成工作……三、强化团队管理保质高效……四、加强协调沟通实时改进……截至目前,乙方QT项目组八月驻场集中攻关开发工作已基本完成,完成情况及现场开发团队加班情况已由甲方审查确认,对于测试出的问题,乙方在9月10日前完成修改。同时乙方项目组在甲方指定的……(无锡用户)实验室完成了QT项目集成测试环境搭建,并向甲方提交了本阶段的开发成果――《QT文字编辑系统》软件产品光盘,具体内容见附件6《QT项目交接工作清单》。乙方后期将继续对软件进行完善和改进,积极配合甲方测试工作和9月10日出所验收工作。对后续工作安排如下:一、对于此次阶段测试出的问题,乙方在9月10日前完成修改。具体问题及计划解决时间见附件3《QT项目阶段测试问题列表及计划完成时间》。二、甲方项目文档提交计划见附件4《QT项目文档说明及提交计划》。三、对非功能性指标测试,双方具体工作安排见附件5《QT项目非功能性指标测试双方工作安排》。”该工作汇报附件1《QT项目驻场开发人员名单、研发计划及完成情况》表2显示,46项软件需求新版功能点备注栏标明“按时完成”的有36项,标明“提前完成”的有3项(均提前1天),标明“延迟完成”的有5项(其中有1项延迟1天,有1项延迟2天,有2项延迟3天并注明“工作量超预估延迟”,有1项延迟5天亦注明“工作量超预估延迟”),未标明完成情况的有2项;此外,所列46项新版功能点中有2项特别注明为“增加功能点”,在备注栏“按时完成”后同时标明“(计划外)”。该工作汇报附件3《QT项目阶段测试问题列表及计划完成时间》列明了20个功能点的问题说明、计划完成时间等。该工作汇报附件4《QT项目文档说明及提交计划》表1“QT项目要求文档”载明为“甲方负责”,包括需求规格说明、软件设计说明、软件单元测试计划、软件单元测试说明、软件单元测试报告、软件集成测试计划、软件集成测试说明、软件集成测试报告、软件配置项测试报告、安装说明、用户手册、出所测试大纲、测试验收细则、质量总结报告、研制总结报告;表2“合同要求提交的文档”中在“备注/说明”栏标明“乙方提供”的为软件产品发布单、源代码和可执行程序。该工作汇报附件6《QT项目交接工作清单》载明的事项为:1.提交《QT文字编辑系统》软件产品光盘1张(含服务器安装程序包和客户端安装程序包);2.完成《QT文字编辑系统》项目集成测试环境搭建。

2015年9月6日,李杰灵向杨美娟发送主题为“WB软件项目功能新增及变更报价单0906”的电子邮件正文内容为:“我公司于8月份集中攻关完成的软件新增和扩展工程报价见附件,请参考。报价的依据是《文字处理软件需求确认表-报价单0805》的整体报价,拆分出8月已完成的部分。由于不清楚后续功能开发是否继续进行,因此暂不在此次报价中体现。”该邮件附件《WB软件项目功能新增及变更报价单》主要内容为:“……甲方由于项目时间紧迫要求乙方于补充合同签署前(8月31日前)完成所有44类增加和扩展工程中的一部分,共47个功能点,即下表《8月31日前需完成的功能点列表》。乙方在期限之内完成了相应软件功能点的开发,并由甲方审查确认,其中部分功能点尚需继续完善……对8月31日前已完成功能点报价如下:……(此处为标明每个功能点所对应‘开发人/月’的《8月31日前需完成的功能点列表》)总计21人/月,每人/月2.5万元,总价为52.5万元。总价内容为软件工程开发费,不含驻场开发所产生的各项额外费用。”

2015年9月6日、9月7日、9月8日,张智鹏通过电子邮件将测出的bug列表发给李杰灵。

2015年9月7日,被告中标公司杨美娟签字确认的《QT项目八月驻场费用明细(名场公司)》载明,驻场时间8月3日至8月31日,驻场人员名场公司研发人员8人,驻场费用总计203,435.40元(含加班工资费用160,153.40元、差旅交通费2,324元、差旅补助21,500元和差旅住宿费)。杨美娟于当日通过微信告知李杰灵发票类目填“软件开发”,李杰灵通过电话询问杨美娟“那财务不会误以为这笔是付了开发费……我怕到时候财务说,不是付过开发费了吗”杨美娟回答“这个跟财务没关系”。被告于同年9月14日、10月14日先后支付95,390.60元、108,044.80元。

2015年9月8日,李杰灵在微信群中发消息:“中标测试的结果,我们昨天在中标已经讨论了,有几个要改软件,有些是改文档描述,有些是测试人员使用方法不对,讨论结果记录在那个年轻的测试员那里”。张智鹏在微信群中对李杰灵说:“又有新增,明天你和书宾形成意见,我再和我们测试过一下,形成最终bug处理结论”……次日,李杰灵在微信群中发消息:“我们测了下,服务器2线程,支撑60个在线没问题,再多没试”“8线程支持应该有200了”……“如果当日……过多,就不能太多人同时登录,要一个一个登”。张智鹏在微信中称:“后来问了下书宾,确认是整编客户端死”“服务器还活着”。李杰灵回复“我们测了,没问题”。张智鹏表示:“明天书宾来,按你的方法再测一下这个用例吧”。

2015年9月10日,李杰灵向张智鹏发送电子邮件称:“8月31日无锡测试发现的问题,目前都已按要求解决。中标这几天测试发现的问题,属于软件问题的,也已解决。新版本已让书宾安装供给你们测试。”该邮件附件《功能列表(测试问题)》列有20个问题,其中有17个问题原告标注“完成”,有1个问题原告标注“未发现系统有错”,有1个问题原告标注“根据需求书,系统对草稿箱提供了更多的合并工具……而不是系统顶部的‘合并’按钮”,另有1个问题原告标注“未见崩溃”。附件《Buglist》罗列了67个问题对应的“问题描述”和“修改意见”。

同日,张智鹏通过电子邮件将“非功能性测试结果”发给李杰灵和杨美娟。

2015年9月11日9时25分,杨美娟向李杰灵发送主题为“关于本次去无锡工作需要明确的几个问题”的电子邮件告知:“1.用户单位关于本项目的内部流程分出所验收、现场验收、复验阶段。用户单位于9月16日组织出所验收。对我项目来说属于阶段测试,用户方的测试结果在出所验收后可提供。此阶段测试可对应到2期款的付款条件。2.项目验收时间以用户的现场验收时间为准,目前用户方预定在10月组织现场验收。3.还请贵方配合我方为用户做出所验收保障。还请协调人员在9月12日-9月16日到无锡现场进行保障。具体工作事宜由张智鹏安排。”同日14时06分,李杰灵回复上述电子邮件询问:“1.该测试是不是根据中标与名场公司的合同第3条《合同价款与支付》,第2款,提到的“测试”,是不是中标对名场的正式测试。2.测试结果能否当场产出并双方确认签字。3.如测试合格是否应按合同约定支付二期款项。”同日15时51分,杨美娟通过电子邮件回复李杰灵:“1.是在执行合同约定的第3条《合同价款与支付》中第2条款项要求的测试……2.测试结果在本次出所验收测试结束后1周内,由中标软件出具测试报告(测试结论以本次出所验收测试结果为准)提供给名场公司。3.如测试合格则中标软件按合同约定支付二期款项。”李杰灵当日又回复邮件:“……我们要求出所验收测试结果产生后,中标当场向名场给出测试结论。”杨美娟于同日16时49分再次通过邮件回复李杰灵:“首先,根据名场的关于‘当场给出测试结论’的要求,我们基于项目实际情况及我公司审核流程,此要求是一个不合理要求。其次,根据我公司的流程,软件项目的测试结果一般为测试工作结束后5-10工作日正式出具给乙方。本项目根据用户单位测试流程,也为5-10工作日产生测试结论。最后,根据合同第12条‘违约责任’第三项,若贵方执意提出此类不能实现要求,并不按照我方合理要求执行项目进程,不到无锡用户单位进行测试工作保障,导致项目2期款项的测试工作不能顺利展开,应承担相应责任。”李杰灵于同日17时57分回复邮件称:“陈总和我刚在电话中讨论,就测试合格结论产生时间达成了口头上的一致,即:1.名场全力保障出所验收。2.在出所结论产生期间,中标与名场各派驻至少一名人员在现场等待结论产生。3.无锡用户出所验收结论产生以后,即在现场中标人员依据出所验收结论填妥名场开具的测试结论。请确认一下,是否可行。”杨美娟于同日19时45分回复邮件表示:“可以。结论以现场测试实际情况为准。”

2015年9月11日,原告名场公司工作人员陈书宾与被告中标公司工作人员张智鹏签署《WB系统产品交接记录》,确认当日原告在无锡用户单位将产品光盘交付被告进行测试使用,光盘内容包含“a)产品软件、安装说明及配套软件、软件发布清单,b)产品源代码(2015.6.15版)”双方同时确认,原告已在被告指定地点使用光盘成功安装部署了测试环境。

2015年9月13日,张智鹏在微信群中说:“然后,袁主任说,可以后续补充下大一点的协议”“看来他们也觉得30w少,心里价位在提高”“据说顾总也觉得原来的合同费用少工作量大了”“但是也谈到让咱们不要放松开发进度”。

2015年9月15日,牛杰在《交付单》上签字确认“已收到上述文档、代码,另收到测试报告”,交付单记载的提交人为张智鹏,交付明细所列内容包括可执行程序(客户端+服务器)、源代码(客户端+服务器)、需求规格说明、软件设计说明、软件单元测试计划、软件单元测试说明、软件单元测试报告、软件集成与集成测试计划、软件集成测试说明、软件集成测试报告、配置项测试报告、安装说明、用户手册、出所测试大纲、测试验收细则、质量总结报告、研制总结报告、发布清单、安装说明和配套第三方工具。

2015年9月16日20时30分,张智鹏在微信群中发送有关出所验收意见的照片,主要内容为:“一、……(无锡用户)联合……等单位按照系统建设方案和任务书要求完成了两个分系统主体研制工作,研制过程规范,质量控制有效。二、验收测试组依据《文字……处理分系统出所验收测试大纲》和《……处理分系统出所验收测试大纲》,对分系统的主要功能和性能指标进行了测试,测试结果真实可信。三、后续工作建议:1.研制单位根据出所验收测试组提出的问题(详见附……4),加强组织管理和人力投入,2015年9月25日前出整改落实措施,并于2015年11月20日前完成问题整改。……出所验收委员会同意……完成整改后,通过出所验收。”

2015年9月18日,李杰灵在微信聊天群中提出“不是这个,把无锡正式测试的问题列表发我”张智鹏回复“这个是……(最终用户)王利提出的问题,也属于修改范围”“那个还没拿出来”李杰灵提出“先看正式测试出的问题吧”“早发我可以早修改,专家测试意见肯定是会复查的,宜先做。王利等人意见他们还需回去讨论完善,宜等确认后做。你看呢”张智鹏回复“王利的写的也是问题居多,基本上是明确的,我将其中不明确的已经标出,让牛去细化了条件有限电子版传输困难,我先拍些照片给你吧”张智鹏通过微信发送的照片主要内容为序号为40至57的《2015年9月16日出所验收时王丽丽提出的问题》,其中序号40、44、46、48、50-53、55-57对应项均显示“软件功能已符合《需求说明书》的要求,但测试组提出新要求……”,序号41对应项显示“软件功能已符合《需求说明书》的要求,但测试组提出时间要求……”,序号42、43、47、49、54对应项均显示系Bug,序号45对应项显示“设备冲突,未测试”。

2015年9月19日,张智鹏向李杰灵发送电子邮件,正文内容为:“截止到2015.11.10前,需要完成的内容,见附件”,附件1《出所后需完成的需求项》罗列了43项功能点及对应的“《需求说明书》章节号”,附件2《文字处理分系统问题清单》列有57条问题,其中第1-19条系“2015年9月16日出所验收时用户方提出的问题”,第20-33条系“2015年9月13日用户方三人根据‘44条’提出”,第34-39条系“2015年9月13日用户方三人提出的新问题”,第40-57条系“2015年9月16日出所验收时王丽丽提出的问题”。

2015年9月22日,李杰灵向张智鹏回复关于“后续工作内容―时间节点讨论建议”的电子邮件称:“……如果第一个阶段内容太多,尤其是一些对已有系统修改较大、需求不明、技术尚需验证的功能……可能会造成实际无法完成的情况,届时如何处理。具体开发时间节点上是不是能够以出所时间、用户验收时间为限,是个很大的问题。因为按照常理,开发时间相对固定前提下,什么时候开始新的开发阶段将会影响开发结果产出的时间,我们目前主要精力在解决原合同功能项无锡测试中发现的问题上,什么时候开始新功能的开发,可能要等商务上确定。”

2015年9月23日,李杰灵向张智鹏发送附件为《开发计划安排》的电子邮件,该邮件附件文件名为“开发计划0923.docx”,附件内容显示“1.周期起始时间假定为10月8日,可用时间共计10周……2.由于用户提出了很多需要较长时间开发的功能,而没有提供相应的开发时间,因此开发时间会多于10周,如何处理多出的任务需要各方讨论”,并以表格形式分别列明了对于“2015年9月16日出所验收(王丽丽)提出的问题”“2015年9月16日出所验收时用户方提出的问题”“2015年9月13日用户方三人根据‘44条’提出”“2015年9月13日用户方三人提出的新问题”“根据需求归纳出需要较长时间解决,建议放在用户验收后的项目”共计82项问题以及“44条中831攻关以外剩余的功能点”计划完成的时间节点。

2015年10月6日,李杰灵向张智鹏发送主题为“增补合同主要问题、报价”的电子邮件,同时抄送陈羽B、杨美娟和高飞。该电子邮件有2个附件,其中一个附件《随情况变更的报价》主要内容为:“1.原44条所有功能报价:121.25万元(详见《文字处理软件需求确认表-报价单0805》。)2.原44条所有功能中部分已于831攻关完成的部分,根据总报价拆细,已完成部分的报价:52.5万元(详见《WB软件项目功能新增及变更报价单0906》。)3.原44条除去“多主班”模块(1人月,合2.5万元)后报价,即118.75万元……”

2015年10月12日10时54分,李杰灵向张智鹏发送主题为“增补合同主要问题、报价”的电子邮件,同时抄送陈羽B、杨美娟和高飞。该电子邮件附件文件名为“合计报价单1011.docx”,附件罗列了三部分的工作内容和费用等,第一部分“原44条”费用为1,187,500元,第二部分“9/13-9/16……用户提出的bug、新增/变更项目”费用为275,000元,第三部分“伴随保障修改”费用为30万元,并注明“由于部分功能点开发时间后移,减轻了单位时间内的开发强度压力,2、3两项开发费用从合计57.5优惠至35万元)。”同日11时17分,张智鹏回复上述邮件称:“把分布式放在验收后完成,……(无锡用户)那边是肯定不能接受的,这项需要在验收前完成。”同日11时54分,李杰灵回复邮件表示:“分布式开发计划是第4-10周,是计划验收前完成的,详见开发计划。”该邮件附件文件名为“开发计划0924.docx”,附件内容显示“新功能开发周期起始时间假定为10月8日……”,并以表格形式分别列明了对于“2015年9月16日出所验收(王丽丽)提出的问题”“2015年9月16日出所验收时用户方提出的问题”“2015年9月13日用户方三人根据‘44条’提出”“2015年9月13日用户方三人提出的新问题”共计62项问题计划完成的时间节点。同日16时48分,张智鹏以回复前述邮件的形式向李杰灵发送文件名为“QT项目工作量(无锡XXXXXXXX定稿).doc”的附件。

2015年10月13日,张智鹏向李杰灵发送电子邮件,其附件文件名为“QT项目工作量(10月13日定稿).doc”,该文件标题为《项目情况汇报及工作量概算2015.10.13》,其主要内容为:“一、项目总体情况我公司自2014年3月开始参与QT文字编辑系统项目的招投标,并最终承接该项目的研制任务……在整个过程中,经与用户方多次反复沟通,项目需求在不断调整中逐渐清晰和固化。当前项目目标有两个,首先,12月20日达到用户验收要求,距离目前只有不到3个月的时间,时间紧、任务重;其次,项目最终需达到用户方实际部署和使用要求,客观上讲,用户方对系统的功能性和非功能性要求非常高,项目研发后续工作量非常大。当前工作矛盾主要表现在,对于达到用户验收目标,用户方在需求标准、任务边界上始终未能具体明确细化和固化;对于达到用户实用目标,则需要用、研双方之间进行较长时间的磨合沟通。二、项目进展阶段划分及下步工作思路……通过认真梳理,我公司对项目进展阶段划分及下步工作思路如下(见表1):第一阶段,保障合同履行。该阶段从2014年3月起至2015年6月30日止,工作地点在上海公司本部,根据合同要求基本完成研制任务(合同任务完成情况见附件1)。第二阶段,保障出所验收。该阶段分为三个时间段,第一个时间段从2015年7月1日起至7月31日止,我方对项目阶段性检查中发现的问题进行修改完善;第二个时间段从2015年8月起至2015年8月31日止,根据需求调整及出所验收要求,我方派遣QT项目研发团队8人到……(无锡用户)进行驻场封闭集中攻关式开发,项目其他人员根据项目需要随时驻场;第三个时间段从2015年9月起至2015年9月18日止,工作地点在上海公司本部,对项目进行进一步测试和研发,并针对出所验收中发现的问题进行修改完善;期间9月11日至9月17日,派遣主要人员到……(无锡用户)现场保障出所验收工作(8月驻场封闭集中攻关时完成的工作见附件2)。第三阶段,保障用户验收。该阶段计划分为两个时间段,第一个时间段从2015年9月起至2015年12月20日止,其中有1个月时间拟采取驻场封闭集中攻关模式进行项目研发,我方派遣QT项目研发团队及其他相关人员到无锡驻场,全力保障用户验收工作,其余时间采用非驻场模式进行开发;期间,因为处于集中攻关阶段,客观上不便接受需求的不断调整变化,但为了保障用户方在该阶段中仍提出的需求修改建议,我公司预留3人月机动工作量进行修改完善。第二个时间段从用户验收后起至2016年1月31日止,针对用户验收前未能完成的功能项(主要是用、研双方经协商确认可推迟到用户验收后的功能项,比如用户体验性需求等)和用户验收过程中发现的bug,进行开发和修改维护(第三阶段工作内容见附件3)。第四阶段,保障用户实用……”该文档包含的表1-表10分别为《QT文字编辑系统项目研发工作阶段划分》《项目重要时间节点》《项目研发工作量统计及评估》《合同任务完成情况》《在8月驻场封闭集中攻关时完成的工作》《需完成的需求功能项》《非功能性指标要求》《与相关分系统的联调》《出所文档完善与现场验收文档编写》《出所验收问题清单》。其中表3所列2014年1月至2015年6月30日的工作内容载明“合同中除知识库需求项共102条,已完成98条,完成比例约96%”,表4尾部亦注明“合同中需求项共102条,已完成98条,完成比例约96%。”表5所列8月攻关44项软件需求新版功能点“是否完成”栏标明“按时完成”的有36项,标明“提前完成”的有3项,标明“延迟完成”的有5项(其中有3项注明“工作量超预估延迟”)。表10《出所验收问题清单》与前述2015年9月19日电子邮件附件2内容一致,第40-57条“2015年9月16日出所验收时王丽丽提出的问题”内容亦与张智鹏于2015年9月18日在微信群中所发照片内容一致。

三、其他相关事实

2015年10月15日,杨美娟在微信群中发消息:“1昨天会上他们提出的技术难点需要评估,给出方案,最终周五给到。”“2周一……(无锡用户)要定下方案,听说是有两种方案。一个是全由我们开发,没有难点,负责项目进度,能确保顺利完成。另一个是我们出人按人头收钱,跟其他人组成团队,由……(无锡用户)管理调度,只负责做事即可。”

2015年10月16日,李杰灵向张智鹏发送电子邮件,并抄送陈羽B、杨美娟和高飞,邮件附件“主要问题的设计方案说明”中提及了对于总体设计、用户操作体验、性能、关键功能缺失项(不符合用户需求)等几方面问题的解决方案等。

2015年10月19日,无锡用户向被告中标公司发送《关于重新组建开发团队的相关事宜(函)》,主要内容为:“为确保《QT文字编辑系统》在12月20日前顺利通过验收,并达到最终用户满意,经认真分析研究,现决定重新组建开发团队,由我单位技术总负责,系统采用前端基于QT、后台服务基于JAVA架构实现的技术路线。请你方积极配合、提供相应开发人员支持,并严格按照我单位要求进行驻场封闭开发。人员具体要求如下:1.美工1名……;2.QT开发人员1~2名……;3.JAVA服务开发人员4~6名……请你方尽快研究,及时答复,并于2015年10月25日前调配人员进驻无锡现场开展相关工作。”

2015年10月21日,李杰灵向杨美娟和高飞发送电子邮件,并抄送陈羽B和张智鹏,附件《关于甲方就QB项目开展新合作模式的提议的问题》主要内容为:“一、甲方提出:甲方提供项目实际领导人,制定开发计划领导开发过程,存在如下问题:1.甲方对我方开发人员的水平不了解,没有与开发团队长期磨合,很难做到正确的人员调度安排。2.甲方对本大型软件项目当前的具体开发情况不了解,对源码状态不了解,很难做到恰当的模块分工和开发顺序的规划。3.甲方对实际的软件实现方案及相应的工程量不了解,很难做到正确的评估和安排开发计划……那么我方是否要对开发结果负责,负何种责任。二、甲方提出:我方提供约6人、另由甲方提供6人,联合开发。甲方的开发过程是否要用到我方的源码和技术,如果是,则存在以下问题:1.甲方不具有我方的基础源码与本项目专用开发技术……我方只在合同节点上提供源码作为产品的一部分,而不是提供技术转让。2.如果甲方获得我方的技术转让,则甲方将有能力接手本项目以后可能的维护、二期、三期等工作,并从中盈利……因此我方不同意技术转让。3.由于本项目中用到的各种软件开发技术,例如软件系统结构化设计、QT……是我公司在长期软件项目开发中积累的核心技术能力,如果甲方一定要求技术转让,则应支付相应技术转让费用。技术转让费为人民币300万元。三、甲方提出:人员和时间安排问题1.我方可以按甲方要求提供驻场的人员选择,但不同人员由于开发能力的不同,驻场开发费用也不同,具体价格我们可以提前给出参考。2.由于公司项目安排与具体个人原因,如人员由我方选派,我方可承诺在合同签订后一周内足额派出……四、对原合同与前期开发工作的认定和处理、及其它问题:1.考虑到新的合作方式将影响原合同的履行,甲乙双方应就原合同如何履行达成一致意见。2.对于甲方提出联合开发,是针对为未完成项目的联合开发,请甲方将7、8月份乙方独立开发的研发费用先结清……原工程报价及开发计划已于8月6日书面提交给甲方,甲方在了解报价后未正式提出异议并要求乙方按开发计划执行,应认为甲方默认同意该工程报价……”

同日,张智鹏通过微信群询问李杰灵:“那个分工写好了吗下班前要发出去”李杰灵回复:“我赶一下”。同日,李杰灵通过电子邮件向杨美娟和高飞发送了《QB项目选送人员名单》。

2015年10月27日,李杰灵向陈羽B发送电子邮件,同时抄送杨美娟、张智鹏和高飞,该电子邮件主要内容为:“今日,整理项目变更情况列表,至今变更次数12次,变更内容超过417条,是原合同119条的350%(见附件),其中7.1前的变更299条,我方接受变更积极开发,未提及增加任何费用……8月3日中标与……(无锡用户)在会上据理力争,形成攻关决定……终于8.31成功完成攻关……长期以来努力的成果在完成出所验收后,也被兄等认为因用户不再需要,而完全没有价值。对这个观点,我并不赞同,因为没有长期以来的工作,及8月份的攻关,项目是不可能有机会出所验收的,自然就不会获得后续的发展机会。如今,项目有新的发展,用户决定主导开发,兄等也已另建新的团队前去承担,想必已与用户达成双方满意的后续协议,而这些情况也不再及时通知我方,看来已不再需要我们了,而我方未得你们停止开发的通知,开发人员至今仍(按)根据你们所要求所制定的9.23开发计划在开发……我方在项目开发上也曾兢兢业业,在项目艰难时期,我方也曾鼎力相助,尽快对我方前期工作做个了结,勿使我方之项目投入损失无法弥补……”

2015年10月29日,李杰灵发送主题为“我方关于贵方事实中止合同行为的看法”电子邮件给陈羽B,向被告提出:“……贵方竟然有意瞒着我方,另外组建项目开发团队……在8月攻关那么紧的关头,……(无锡用户)提出7条变更,包括分布式这类复杂问题……我们8月攻关所做的工作是不是对项目有重大作用,彻底改变了……(无锡用户)领导所说的‘不能用、不乐观、不信任’的三不状态,用他们话说软件产品有重大改观,改善了整个项目的前景……如今贵方已自行成立开发团队,实际已经单方中止合同,它使原合同已无继续履行的可能,贵方对我方有意欺瞒、蓄意捉弄的做法也令我方无法接受,既然贵方已单方中止合同,那么请尽快与我方联系协商了结合同,清算合同余款,并且结清8月攻关开发费用。”同日,陈羽B回复称:“1.现实情况是用户方并没有认可我们之前的工作及成果,已经全盘推翻,成为了没有用的东西,对中标也造成了极其不好的影响,所里会不会追究还很难说,并不是你所说的认可,而是认为架构不灵活,无扩展性,不满足他们要求;2.也没有优厚的费用,目前我们以及配合的人都没有任何商务协议签订的情况下进行投入;3.我们也在想办法尽可能使原有成果能够派上些用途,便于公司认可你们的工作,推进一些费用的落实,理论上由于你们的成果没有达到要求,我们还有理由追回之前的款项呢;4.……据了解客观上是你们刁难我们,比如合同明明有技术培训要求,一定要300万转让费,不签不派人,费用高的离谱……5.……等有空可以聊聊。”

2015年11月19日,原告名场公司的李杰灵、胡晴英与被告中标公司的陈羽B、高飞开会协商涉案项目相关事宜。相关对话内容有:陈羽B“对整个项目从短期来看,怎么说呢,应该是不成功吧,对吧”……李杰灵“这个事呢,一开始怎么样大家也都知道,那么后续随着变化的产生,这个变化包括像刚才陈总提到的对这个项目未来发展情况的进一步了解,包括需求新增变更这些东西的变化我们也逐步意识到后续会怎么发展。但在这个过程当中啊你如果说我们本着一锤子买卖,或者是合作方式有问题我并不赞同这个说法。为什么呢”……陈羽B“这就是我们说的,套路上不匹配。”李杰灵“套路不匹配不表示我们有错啊。按照商业规则……”“你们现在是两家出现矛盾、出现争议了,然后这个时候你来补一个给我开一个没有通过的东西,那么这个不可信。不客观啊。”……胡晴英“6月份是阶段性审查。”陈羽B“验收、验收、验收。”胡晴英“谁说了是验收了,那你们有没有给我们名场的一个验收单呢有没有啊,人家朱总亲自打电话说是阶段性审查。”陈羽B“算不算6月份拿着原始合同去对,也有没有完成的。”“就算没有变更的地方,你们也是有……也是明确有几条列出来是没过,他们有一个鉴定组有这样的意见。”李杰灵:“我这么跟你说,首先这次去定性为阶段性审查……你听我说完,这是一个说法,如果你认为是验收,并且验收没有通过,是有验收结论的。”陈羽B:“是有的。”李杰灵“可以,你把当时验收……你把当时鉴定组的意见或怎么样,他是不是验收这个要看清楚。他如果说是我们阶段性审查还有哪些问题,这也是意见。我们认为……”……李杰灵“7月份8月份需求还在变,7月10日大家一起开会明确下来的确有这些费用……我们向中标报价,中标也向……(无锡用户)报价。后来中标要求我们先做,后来变动太大,按正常开发都开发不完了,……(无锡用户)才提出集中攻关,否则实在不够。……(无锡用户)也知道即使集中攻关都完不成,所以与……(最终用户)商量签字确认先完成一部分再完成一部分。在这个问题上中标也确实也很无奈,当时高博也在场,……(无锡用户)对中标说:你们把这些必完成项赶紧完成了我们出所就没有问题。所以陈总你也认为完成这些必完成项就没有什么问题了。可以让我们集中攻关。”陈羽B“一方面有新增的,另一方面也是在弥补之前的。”……李杰灵“价格是主因,9月16日出所验收之后……(无锡用户)明确提出来了,你们赶紧开发不要耽误了,我们可以谈钱,这是明确提出来的,那就表示还是要用这个系统。后面大家就在谈价格,这个价格反复谈了几次,陈总,你也说了对方实在这个价格受不了。”陈羽昊“没有。”李杰灵“说过,说过很多次,这个价格实在是对方受不了您说过如果对方提出就是这些钱……”陈羽B“这是在商谈过程,价格没有完全确定。”李杰灵“这是事实啊,陈总,你说了现在就是这个价格谈不下了,到时候用户就说就是这些钱,你做不做的时候。我说做,多少都做,如果差距太大,能不能从别的项目……用户发现价格谈不下来就逼得用户一想既然这么高的价格,我们手里也有人,不如我们自己来开发。有这个想法之后,开始有这个想法还没有形成结论。有这个想法之后来进行技术性的探讨。我们能不能做得了这件事,这是有个前因后果的……我们10月份还在谈那个价格啊,不是说……”陈羽B“价格,我跟你说,基本上顾总和……(无锡用户)都已经确认了一个价格,都已经同意了,而且我可以告诉你在商谈的是在210至290之间,是这么回事。”……李杰灵“后面到底是什么情况,你们后来开会也不让我们去了,我们也不知道。你说用户说我们架构不行,要推倒重来,改变技术路线,原因到底是什么,哪些不能满足能不能谈具体点。为什么他们要改变技术路线。”高飞“用户改技术路线的原因:1.用户产生质疑不敢保障后面开发成功。2.是觉得我们不配合。验收不通过才搞阶段性审查。”……李杰灵“……你说我们态度问题也好,价格问题也好。价格我们向中标有报价……你先听我说完,价格你不管有多少,中标只会高不会低地向……(无锡用户)报”陈羽B“都没敢报”李杰灵“不可能我给报100万,你问他要80万。这是不可能的,你只会高不会低。在这种情况下最终承受这个价格的还是人家……(无锡用户)”陈羽B“我们这个后面的都没报”李杰灵“报没报,这个我就不知道……那么我们给中标一个报价,中标对……(无锡用户)有个报价”陈羽B“没有”李杰灵“……这个连基本情况都不承认,我就没得说了”陈羽B“你对我有报价我们承认,我们之后对所里有什么报价,没有”胡晴英“那你们怎么说了210到290的价格在探讨呢”陈羽B“这是前面的事情。”胡晴英“哦,是前面的事情。”陈羽B“你说的是后面的人月嘛。”……李杰灵“那么……(无锡用户)承受这个最终价格,他觉得高了,他觉得接受不了如何如何。他跟你反馈过价格能不能便宜点或者怎么样。”陈羽B“没有,我跟你说,那你先说完吧。到时候我来说……(无锡用户)对价格的看法。”李杰灵“他认为如何如何,他们后面不管怎么说变,技术路线变,你们说的要重新开发。重新开发新的版本怎么样,人家还是没有把中标踢开。为什么呢你的压力,中标说我感受到名场给我的压力太大,你卡我脖子了,你如何如何,你价格高不愿谈,但这些东西……(无锡用户)的体会只会比你中标强,只会更强烈…..人家说算了吧,那样弄我也不行,我换种方式:包点人头,我还是找你中标。在这种情况下中标是怎么做的,中标一看,前面的事办完了,你7、8月份攻关结束了,你的利用价值也没有了。我们这边一听说重新开发什么的,不需要用到你的人了。我可以另寻团队,我就把你踢开。另外组织团队做这件事,完事回过头来拿着合同说你哪条没有完成。你什么验收通不过,造成这个合同你没有执行完,合同的余款你不要想得,7、8月份,实际上是9月份10月份,一直到10月20几号被我们发现了,派了人,才跟我们说那你们停止开发。实际上是7、8、9、10我们都在做。后面这一大段没有了,那天提一个辛苦费10万块钱,原合同尾款就想不付了。那么,你们一直在说产品如何如何,态度如何如何,现在人家要把这个整个推翻,人家多难多难。但我刚才就提问:是,主要是哪些点,这些点什么时候提出来的……你说的顾总认为颠覆性的问题,我只想提一个颠覆性的问题是什么时候提的,这跟原合同有没有关系,原合同,咱们签需求书的时候有没有这些东西……”高飞“现在是QT还在开发着呢。我没有说QT不开发。”李杰灵“QT开发人员不要了,这是你们说的吧”高飞“人家自己有人。”……胡晴英“你陈总后来说换了几拨人……虽然说那个时候你们人或许已经派出去了。但是你后来说换了几拨人你陈总怎么不用李杰灵我们呢我们价格1万8,你说外包公司1万7,李杰灵表态那我就1万6。那你们换了几拨人为什么不找李杰灵呢难道有比1万6的价格更低。”陈羽B“是JAVE的人。”胡晴英“是JAVE的人也应该先找李杰灵啊,你至少要先征求他的同意吧!你可以说是JAVE的人或者其他别的什么人,在这个项目上你可以不用我们的人,可以说全部是JAVE的人了,那你至少要行使一个通知的权利吧!”陈羽B“现在主要是朱总(无锡用户方)带队。”胡晴英“找人可以,毕竟我们是合作公司,你们有权利终止合同有权利换人,后面有些费用你可以不让我们挣……但是我们之前做的工作你该认吧……你说变更的299条我们没有全部做完,200条我们毕竟都做了吧。你说原合同119条我们没有做完,现在明确告诉你我们全部做完。原合同33万尾款你们应该付吧,你们不能在这个上面打主意想赖掉吧……8月份攻关。实际7月份就开始对这些新的新增变更在做,你们让我们先做。我们7月份就开始投入。7月份8月份9月份10月份这4个月。7月份我们对这个功能点报价,后来做的内容我们一直按照功能点报价的52万5。这个价格你现在说这个价格高了,我们从来没有说不可以谈,我们说都可以谈,可以大幅让价。但是你们呢这所有的东西都不认了。给10万元打发叫花子吗……”……陈羽B“……(无锡用户)没有把中标踢开,我们把你们踢开了原因是啥事实上原因是啥,我认为,我建议问下朱总吧!”……高飞“不是中标要换团队,是用户方要换团队。”……李杰灵“是这样,不管是谁换团队,他们怎么跟中标谈和我们没有多大关系,我们是跟中标的合同,中标这种情况没有通知我们,没有用我们的人这也是事实,中标不管从哪里找的一些人,最终必然影响验收通过。那么我们只知道的是我们的东西交出来了你用不用是你的事情。这个东西做是怎么做出来的呢我们是按照你们要求做的。我们按照你们要求做的。结论就是如此:如果我按照你的要求做了事,那这个东西不是由于我没有按照需求书做,或者我做出来的东西根据需求书有重大问题,那用户验收通不通过都跟我没有关系,所以我们现在的诉求很简单:第一,原合同要认,原合同尾款要付。第二,后续的工作,我们做的工作,7月份8月份9月份及后面安排的工作。这些费用,我们也理解中标的难处,我们也愿意降价谈。后面中标找了别人,我们对最终验收也不能负责。那你们让我们做完的事情该认。”陈羽B“8月份费用要算,功劳和苦劳不能等价……8月份认10万……说到之前报价也是人均2.5万每人月。尾款不认。”……李杰灵“按照原合同我们认为我们履行了我们的义务,到中期,中标劈开我们找到了新的其他公司几个人接手了这个项目”陈羽B“这是有原因的,这原因跟你们也有关系”李杰灵“这是事实,使得这个合同实际无法继续履行。”……李杰灵“我们所有的报价都是针对新增出来的东西,与原来的121万一一对应得出的52.5万。后来针对121万这个价格中标也提出疑问这个价格合不合理。当时中标也组织了6个专家对121万的整体报价进行了评审。统一的认为121万报价的价格是合理的。”陈羽B“不要提了,老拿这个事情说事。我们有专家在会上明确说不要被忽悠。好像也说哪些东西不太对,哪些东西确实是要这么多工作量……”“简单折算,大概就是在17万5。2.5+10+5”……李杰灵“你想啊,做了这么长时间你提出个十来万,我的成本得贴进多少,我得亏成什么样子,换成是你,你会怎样”陈羽B“我认为是合理的。”

2016年3月1日,北京市方正公证处对号码为137****6150的手机上日期显示为“10月19日周一18:57”的短信内容进行保全证据公证,并出具了(2016)京方正内民证字第17481号《公证书》。公证保全的短信内容为:“韩总:……我们……有个项目……在你们上海公司做,前期因沟通协调问题,几次在总部测试验收都未通过。现在……要求必须年内完成验收。今天我们专题研究,希望你关注一下。我想还是先一起全力以赴把年底验收搞成,追加经费的事就好办,但如果搞不成,我们就不好交待……”

一审审理中,原告明确其主张之违约金计算依据为:涉案合同约定的二期款是在验收后15个工作日内支付,而违约金是按不能按时付款部分的每日1‰计算,原告认为2015年9月16日已完成二期款对应阶段的验收,被告应于2015年10月14日前付款,故主张违约金自2015年10月15日起算。

一审法院认为

一审法院认为:涉案《技术开发合同》系双方当事人真实意思表示,合法有效,签约双方均应恪守。根据双方当事人的诉辩意见,本案的主要争议焦点在于:一、涉案软件需求规格说明的制作是哪一方的合同义务;二、判断原告所开发的涉案软件是否符合涉案合同要求,仅需以软件需求规格说明为依据,还是需要同时符合软件需求规格说明和合同附录1、2的要求;三、涉案合同的履行阶段应如何确定;四、原告对于涉案合同义务的履行情况;五、原告有关要求被告支付涉案合同余款33万元及其违约金,以及新增、变更功能点已完成开发部分的开发费525,000元的诉讼请求,能否获得支持。

关于第一项争议焦点,一审法院认为,尽管67项功能点的软件需求规格说明形成于原告参与涉案系统软件开发之前,但原告于2014年7月22日对该项目首次报价的《QT文字编辑系统项目实施方案》中提及文档的内容列有“规格说明”,且未明确说明所报涉及文档的价格不包含软件需求规格说明,2014年8月被告向原告发电子邮件提示需要原告提供的文档中包含软件需求规格说明,涉案合同第1条“交付方式”所罗列的文档中亦包含有软件需求规格说明,合同第3条中还提及“《软件需求规格说明》通过甲方(中标公司)和无锡用户单位组织的评审……”,以上事实表明,涉案合同约定的软件需求规格说明的制作义务属于原告。对于原告在诉讼中指出涉案合同第6条“因需求变更部分引起的相应延期时间内乙方(名场公司)不承担相应的延期责任”的约定表明,软件需求规格说明应由被告提供之诉讼意见,一审法院认为,该条款只是针对需求变更情形下原告不承担延期责任的约定,按照涉案合同对软件需求规格说明制作义务的分配,将用户要求变更之需求体现在软件需求规格说明中的义务仍应由原告负责完成,只是因需求变更导致的延期原告可不承担责任。然而,从软件需求规格说明的形成过程来看,原、被告在涉案合同签订前后均共同参加与用户沟通细化需求项的会议,被告作为与无锡用户签约的乙方实际承担了软件需求规格说明的制作工作,原告于2015年5月25日通过电子邮件向被告发送涉案软件文档时在邮件正文部分写明“除需求书外的所有文档”,亦证明原告所交付之文档不包括软件需求规格说明。综上,一审法院认为,原、被告在涉案合同实际履行过程中变更了涉案合同关于软件需求规格说明制作义务由原告承担的约定,实际履行中系原、被告共同参与了软件需求规格说明制作的讨论,由被告最终完成了软件需求规格说明的制作,可见,软件需求规格说明的制作已转化为原、被告双方的共同合同义务。

关于第二项争议焦点,一审法院认为,合同附录1《WB系统技术要求》是用户对所需开发系统的总体要求,而对技术要求中提出的应达到之功能会有不同的实现方式,而且技术要求也会存在功能描述不详的情况,这都需要通过软件需求规格说明加以明确,涉案合同第2条亦约定“乙方根据《软件需求规格说明》完成系统所有功能的集成测试和联调联试,并提交试用版”,故原告有关其是根据软件需求规格说明进行开发的主张,符合软件开发行业惯例。然而,原告在签约前后均清楚所开发的软件是无锡用户委托被告开发的,原、被告签订的合同也约定“提交的软件设计产品及相关文档符合无锡用户单位……的要求”,且如前所述,鉴于在涉案合同的实际履行过程中,软件需求规格说明制作已经成为原、被告双方的共同合同义务,因此,若出现所开发的软件符合软件需求规格说明,但不符合技术要求的情况,原、被告均难卸其责。

关于第三项争议焦点,一审法院认为,首先,合同第3条约定合同款分四期支付,原告起诉时确认已收到应于合同签订后15个工作日内支付的33万元,而合同第二期款项132,000元约定的支付条件是“《软件需求规格说明》通过甲方和无锡用户单位组织的评审后,并且产品在无锡用户单位提供的实验环境下,按照《软件需求规格说明书》进行测试合格后,15个工作日内支付”,合同第6条约定“《软件需求规格说明书》确认起到产品交付前,甲方在与乙方达成一致后,可以对软件功能进行15%以内的调整”。结合上述两项合同条款可以判断,其一,涉案合同签订时确定的2014年12月版需求说明并非合同第3条及第6条所指软件需求规格说明,否则不会采用该两项条款的表述方式;其二,2014年12月版需求说明尚需调整,并进行评审后予以确认,确认后仍可以进行15%以内的调整。事实上,原告作为证据提交的2014年7月22日《QT文字编辑系统项目实施方案》内容也说明,原告加入该项目之初已意识到涉案项目存在需求变更风险。因此,一审法院认为,2014年12月版需求说明并非合同第3条第二期款项中约定的“通过甲方和无锡用户单位组织的评审后”的《软件需求规格说明》。

其次,原告以张智鹏向其发送的《项目情况汇报及工作量概算2015.10.13》中有关至2015年6月30日“完成比例约96%”的确认,主张其已按涉案合同签订时确定的软件需求规格说明及之后的新增或变更要求完成了软件开发义务,但一则2014年12月版需求说明尚不属于合同第3条第二期款项中约定的需求说明,二则从2015年6月18日的微信群内容来看,原告知道2015年6月份的测试未得到用户的认可,尽管原告对用户验收依据提出质疑,被告也称“没过的原因可能就是需求没搞清楚,和用户原始需求有差距”,但如前分析,软件需求规格说明系原、被告双方共同的合同义务,因此,在缺乏证据证明用户在2015年6月份的测试中所提要求已偏离涉案合同附录1技术要求的情况下,所测试软件未能得到用户确认并因此需要进一步开发的责任,显然应当由原、被告双方共同承担。鉴于2015年6月的测试并不能被认定为合同第3条第二期款项支付所要求的“测试合格”节点,原告要求被告支付合同全部剩余款项,依据尚不充分。

再次,2015年7月29日杨美娟向李杰灵发送的电子邮件和同年8月9日原、被告共同签署的《QB项目驻场协调会会议纪要》两份证据均提到了需求评审会,由此可以确定2015年8月是涉案合同第3条和第6条所指评审和需求确认节点。而原、被告相关人员在2015年9月16日出所验收前的电子邮件往来内容也可以证明,双方对于此阶段的测试对应合同二期款的付款条件已达成共识。

最后,2015年9月16日的出所验收涉及对新增或变更功能项的测试,并分别形成了用户与专家的意见。专家王丽丽的意见显示,所测试的软件功能已符合软件需求规格说明的要求,测试组对其中的11项提出新要求,对其中的1项提出时间要求,其余有5项系Bug,1项“设备冲突,未测试”;用户意见清单显示,部分属于易用性问题,部分属于Bug或需求不明,但至少说明用户对2015年9月16日的出所验收存在诸多不满意之处,且从出所验收意见“……2015年9月25日前出整改落实措施,并于2015年11月20日前完成问题整改。……出所验收委员会同意……完成整改后,通过出所验收”来看,该次出所验收亦不能被直接界定为已满足涉案合同二期款的支付条件即“测试合格”。综上,一审法院认为,涉案合同仅履行到二期款支付前的阶段,且支付条件尚未成就。

关于第四项争议焦点,一审法院认为,对于原告就涉案合同义务的履行情况,应从文档交付义务和产品开发完成情况等方面进行分析与认定。第一,原告为证明其已履行除软件需求规格说明以外的文档交付义务,提交了2015年5月25日发送文档的电子邮件以及2015年9月11日的《WB系统产品交接记录》,一审法院据此认定在2015年6月份测试之前,原告交付过文档,且无证据证明被告收到后提出过文档不完整的异议。另相关证据表明,2015年7月以后被告开始接手后续文档工作,原告还于2015年9月交付了用于9月16日测试的可执行程序、安装说明和软件发布清单,以及2015年6月版的软件源代码。第二,原告为证明其已完成涉案合同签订时确定的2014年12月版需求说明所涉功能点的开发,提交了2015年10月13日张智鹏通过电子邮件发送的《项目情况汇报及工作量概算2015.10.13》,该文件表3所列2014年1月至2015年6月30日的工作内容载明“合同中除知识库需求项共102条,已完成98条,完成比例约96%”。对此,被告在质证时称该文档用于原、被告作为共同乙方与无锡用户进行谈判,其中所列合同完成情况与事实不符,但一审法院认为,一方面,用户有自己对软件完成情况的判断,被告作为无锡用户的软件受托开发方,向用户汇报的材料与实际情况不可能出入过大;另一方面,被告向涉案合同相对方的原告发送该文件时,理应意识到其在文件中对工作成果的确认可能产生的法律后果,故一审法院据此认定对于2014年12月版的119项功能点,除双方确认不再作为开发内容的17项知识库需求功能点外,原告已完成剩余102项功能点中的98项。第三,原告参与了2015年8月份驻场集中攻关,按照新增和变更功能点对前期开发的软件进行了修改,但原告并未交付2015年8月份集中攻关后的软件源代码。

关于第五项争议焦点,一审法院认为,在本案的审理过程中,原、被告均明确表示涉案合同已没有继续履行的可能和必要,而合同的权利义务终止,并不影响合同中结算条款的效力。本案中,鉴于原告已实际履行了部分合同义务,故被告应向原告结算与履行情况相适应的合同价款。并且,一审法院已充分注意到,相关证据表明,被告认可用户新增、变更需求频繁,并愿意就新增或变更部分追加开发费,其亦向用户进行了报价。例如,被告于2015年7月16日向原告发送的《需求新增/变更情况汇总(截止2015.7.3)》已载明“合同中的需求项为119项,有记录的变更共8次,合计218条”,该文件中还附有包含每一次新增或变更的详细条目,可见被告认为所汇总的需求系新增或变更项;被告向原告发送的2015年7月10日会议纪要中“项目目前状况”部分提及“客户需求变更频繁”,该会议纪要“对于新增需求”部分的归纳有原告的初步报价以及“等需求书评审定稿后,再详细评估报一个打包价格”等表述,可以说明被告亦认为应就用户对需求新增或变更的内容增加开发费。但需要指出的是,被告未对原告针对新增或变更内容多次报价明确提出异议,并不能据此认为被告已默认接受原告该报价。本案中尚无证据表明原、被告双方已就拟增加之开发费数额达成了一致。综上,一审法院认为,涉案合同仅履行到二期款待支付阶段,原告完成了部分开发义务,交付了部分开发成果,且在涉案合同履行过程中,双方已实际新增、变更了合同履行的具体内容,新增或变更功能项又明显超出合理范围,因双方就合同权利义务终止后开发费的结算以及新增或变更功能项的价款未能协商一致,一审法院综合以下因素,确定原告在本案中应获得的合同价款:1.原告就涉案合同的实际履行情况;2.原告已完成开发软件的测试情况;3.文档和开发成果的交付情况;4.涉案合同实际终止履行时项目的进度;5.原告已预知涉案项目存在需求变更风险;6.涉案合同实际履行中,就软件需求规格说明制作由原告单方义务变更为原、被告双方的共同合同义务;7.涉案合同履行期间新增或变更功能项的具体情况;8.公平原则。至于原告在本案中主张的违约金问题,被告在还未满足合同二期款、三期款和尾款支付条件的情况下,未支付相应款项尚不构成迟延履行合同付款义务的违约行为,原告要求被告按不能按时付款部分的每日1‰支付违约金的诉讼请求,一审法院难以支持。

一审法院判决:一、中标公司应向名场公司支付人民币300,000元;二、驳回名场公司的其余诉讼请求。

本院二审期间,名场公司向本院提交了李杰灵代表中标公司工作时的工作证及办公电脑的三张照片,以证明2014年9月李杰灵代表中标公司进行演示开发产品的安装部署。中标公司对该组证据的关联性不予认可。本院认为,该组证据拟证明的事实与本案争议的事实之间缺乏关联性,本院不予采纳。

本院二审期间,中标公司未提交新的证据材料。

本院查明

经审理查明,一审查明的事实属实,本院予以确认。

本院认为

本院认为:

一、关于名场公司开发的软件产品是否符合合同约定以及是否通过验收。本案中,涉案合同第2条约定“乙方(名场公司)根据《软件需求规格说明》完成系统所有功能的集成测试和联调联试,并提交试用版”,涉案合同第1条与第3条也表明涉案合同约定的软件需求规格说明的制作义务属于名场公司,但在合同履行过程中,双方在涉案合同签订前后均共同参加与用户沟通细化需求项的会议,且中标公司实际承担了软件需求规格说明的制作工作。一审法院综合全案事实,认为涉案软件是否符合合同约定取决于该软件产品是否符合需求规格说明,而该需求规格说明的制作在合同履行过程中已实际转化为双方共同义务,并进一步认为所测试软件未能得到相关用户完全确认且因此需要整改的责任应由双方共同承担,该认定于法不悖,本院予以认可。名场公司与中标公司在上诉中分别提出的关于需求规格说明制作义务的上诉理由均不能成立,本院不予支持。名场公司关于“其开发的涉案软件产品符合合同约定,检测过程中所发现的问题仅属细微瑕疵,且属行业惯常现象,故应认定测试通过”的主张缺乏事实依据,本院不予认可。

二、关于涉案软件开发需求新增与变更部分是否构成新的开发合同或是对原有开发合同的变更。根据一审法院查明事实,涉案软件开发需求在合同履行中因客户要求的调整确实存在新增与变更情况,且这一事实已得到双方确认,至于该新增与变更是否构成新的增补合同或是原有开发合同内容的变更仅是从不同角度对同一事实的理解之分歧,而并非问题关键。双方在此问题上所争议的实质是名场公司就新增与变更部分提出的报价是否已得到中标公司认可。本案中,名场公司针对新增与变更内容多次进行了报价,但中标公司对该些报价并未表示认可,亦无其他证据可以证明双方已就拟增加的开发费数额达成一致。一审法院认为中标公司虽未对名场公司的多次报价明确提出异议,但不能据此认为中标公司已默认接受名场公司该报价,该认定于法不悖,本院予以认可。名场公司认为中标公司在知晓存在需求新增与变更且名场已就此提出报价的情况下,仍然要求名场公司继续开发的行为本身已说明中标公司同意该报价,该主张缺乏法律依据,本院不予认可。对于新增与变化部分开发工作的处理,一审法院综合涉案合同的实际履行情况及其他相关因素酌情确定中标公司向名场公司应付开发费用的做法,并无不妥,本院予以认可。

此外,关于需求新增与变更部分是否超过系争合同所约定15%以及中标公司是否因此构成违约的争议。本案合同履行过程中,双方均未向法院提交涉案合同约定的“通过甲方和无锡用户单位组织的评审后”的《软件规格需求说明》,故实际上无法就双方争议的“需求新增与变更部分是否超过涉案合同所约定的15%”作出判断,而双方亦确认涉案软件开发需求在合同履行过程确实存在新增与变更。一审法院根据查明事实确认需求新增与变更超出合理范围系由案外人的实际开发需求所导致且名场公司对此应有所预知,而双方对此情形的出现均负有一定责任,并据此一方面认定不构成上述违约,另一方面则结合其他相关因素综合判断中标公司应向名场公司就该新增与变更部分支付相应开发费用,该处理并无不妥,本院予以认可。

三、关于无锡客户就涉案软件开发项目向中标公司支付款项的事实与本案争议的关系。本案争议属于名场公司与中标公司双方之间的软件开发合同争议,虽然涉案软件的开发任务源自无锡客户,但该无锡客户作为案外人与中标公司之间的合同关系与本案中双方当事人之间的合同关系两者是相互独立的。从合同相对性角度而言,中标公司对名场公司的付款义务与案外人对中标公司的付款义务两者之间并无相互制约关系,故无锡客户就涉案软件是否已向中标公司付款以及具体支付数额与本案争议并无法律上的关联。此外,也无证据证明无锡客户向中标公司支付款项可直接理解为无锡客户已完全认可涉案软件开发成果。因此名场公司关于无锡客户已向中标公司付款的相关上诉理由缺乏事实与法律依据,本院不予认可。

四、关于一审法院判决金额是否合理的问题。在涉案合同仅履行到二期款待支付阶段,名场公司完成部分开发义务、交付部分开发成果,且在涉案合同履行过程中双方已实际新增、变更合同履行的具体内容,而新增与变更功能项又明显超出合理范围,双方就合同权利义务终止后开发费的结算以及新增与变更功能项的价款未能协商一致等情况下,一审法院综合涉案合同实际履行、系争软件测试结果、文档与开发成果交付状态、涉案合同终止时项目进度、名场公司预知需求变更风险、需求规格说明制作义务的转化、新增与变更功能项具体情况以及公平原则等一系列因素,酌情确定中标公司应向名场公司支付合同价款人民币30万元,该数额并无不妥,本院予以认可。双方当事人就该判决金额均提出异议,但并未提供充分的事实与法律依据,本院均不予认可。至于名场公司在本案中主张的违约金问题,一审法院认为中标公司在合同二期款、三期款和尾款支付条件尚未成就情况下,未支付相应款项尚不构成迟延履行合同付款义务的违约行为,并据此驳回名场公司关于违约金的诉请,该处理亦无不妥,本院予以认可。

五、关于中标公司是否存在伪造证据以及一审法院在本案审理过程中是否存在程序不合法的问题。名场公司认为中标公司向一审法院提供的部分证据属于伪证,一审法院经审理认为名场公司并未提供充分证据证明中标公司制作伪证的行为,故难以支持该主张,该处理并无不妥。二审中,名场公司仍未就此主张进一步提供新的证据,故本院对名场公司关于中标公司伪造证据的主张不予认可。关于本案一审程序问题,本院经审查,并未发现一审法院在本案审理过程中存在违反民事诉讼法相关规定的情形,故名场公司关于一审法院在本案审理过程中存在程序不合法的主张不能成立,本院亦不予认可。

综上所述,名场公司与中标公司各自的上诉请求均不能成立,应予驳回;一审判决认定事实清楚,适用法律正确,应予维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第(一)项规定,判决如下:

裁判结果

驳回上诉,维持原判。

二审案件受理费人民币15,150元,由上海名场电子商务有限公司负担人民币9,350元,由中标软件有限公司负担人民币5,800元。

本判决为终审判决。

审判人员

审判长马剑峰

审判员徐卓斌

审判员孔立明

二一八年一月十七日

书记员刘伟