2015年时我接了一个历史遗留项目,给甲方做办公文档加解密的系统。该项目是2011年承建的,由于各种各样的问题,一直没有验收,项目成员换了好几批。公司要做历史遗留项目清理,所以点名让我接手该项目。
我从销售那边COPPY了项目资料,然后跟销售做了简单的沟通。这个项目相对比较简单,我们自己做管理平台,通过接口同步4A的账号权限数据,存储到本地数据库中,找了一个外包方做加解密。这个系统实现身份认证、细粒度权限控制、泄露跟踪等功能。
跟公司高层领导沟通确认后,发起了项目启动会,邀请公司高层、各部门经理和销售负责人参加。公司领导说明了对这个项目结项的要求,我对这个项目简单介绍了下,说明目前我们需要开展的工作、人员需求、预期的结项时间和里程碑安排等。各部门负责人指定了本部门的负责人。
人员确认后,我和研发、测试、运维一起去用户机房调查系统情况(设备存放位置、IP、网络拓扑等),然后组织大家编写用户手册、验收手册、测试手册、维护手册等。整理完毕后找客户负责人张三沟通验收事宜。张三表示必须解决目前项目存在的几个问题后,才考虑验收。其中有几个问题需要外包公司进行开发,随即联系外包公司,外包公司表示当初签订合同时,维保是三年,现在已经过了维保期,除非签署新的维保合同不然没有后期服务。跟公司高层简单汇报后,高层同意与对方签署维保合同,并让我与对方沟通维保合同签署事宜。
我把客户提的几个问题写到维保合同中,对方根据我的要求报了一个价,制定了一份初步的合同,然后发给销售和相关的领导,领导转交给商务部审核。商务部修改了一些签署地点的细节,然后就跟外包方正式签署合同。
这个系统架构稍微特殊一些,win98+win2003系统+oracle9i数据库,导致出现了一些很奇怪的问题,查询网络和咨询oracle客服解决了几个问题,但有几个问题oracle表示是微软系统的问题。联系微软客服,让我们去官网寻求解决方案,最终也未解决。
还有一个比较奇特的问题是从公文系统下载加密的PPT打开后,如果机主正在编辑其他的PPT,会导致他编辑的PPT也被加密,加密人为下载的PPT的加密人。外包公司对此进行分析后,给了个答复,微软办公文档word、excel在后台都是多进程,但PPT是单进程,所以会自动同步账号权限,属于微软的固有BUG,他们也无能为力。联系微软解决也不现实。最终外包公司提了一个临时的解决方案,给客户维护人员开放一个超级管理员权限,能够加解密所有的文档。如果客户投诉遇到类似问题,由维护人员进行脱密处理,并建议在打开系统加密PPT时,不要打开本地PPT。
经过一个月的奋战,把初步的解决方案跟张三(客户负责人)确认了下,张三并不是很满意,但由于没有维保合同,且已过了维保期,无奈接受(客户不打算跟我们签署维保合同,准备2016年弃用该系统,但实际上2019年我们仍在维护)。但又提了几个新的使用问题,说影响客户使用,让我们解决。
联系外包公司,外包公司表示之前签署的合同并不包含这几个问题,所以拒绝解决。需要签署新合同才能解决,当时很郁闷,告诉公司领导,领导也很生气,但更换外包公司不太现实,而客户又坚持必须解决这些问题,不然不考虑验收。无奈再次与外包公司谈判,最后在一个可接受价格与外包公司签署了新合同。吸取上次合同的经验教训,在新合同中除了规定解决客户提的几个问题外,增加做系统运维支持,解决客户日常使用时出现的BUG,724小时服务,小问题三天内解决,大问题七天内解决或给出客户认可的解决方案。后面客户果然提了一些新问题,由于有合同的约束,外包公司并未提出新问题,安排人进行解决。
跟客户磕磕碰碰沟通了半年,又做了几次应急演练和安全漏扫,客户终于同意验收,但提出要根据合同,砍掉未实现项的费用,剩下的费用给我们付款。经过公司内部讨论,未实现项开发费用巨大、且原开发人员已离职、风险不可控,最终同意砍掉未完成项的费用进行结算,项目耗时半年终于结项。
项目总结:
1、奇怪的系统组合一定要避免,win98+win2003系统+oracle9i数据库出现了很多兼容问题,很难解决,以后投标时尽量避免该项目组合。
2、与外包公司签署合同时,一是需要他们做的事情,如果比较明确,一定要写明,避免他们后期通过演绎,使用一个简单的似是而非的方法实现功能,到时满足不了需求。二是写一些行业常规的,724小时服务,硬件三年免费保修,软件一年免费升级保修,电话保修4小时上门服务,12小时内排出故障,驻场维护人员,日常维护巡检。三是提一些需求,涉及安全性的软件升级,应主动、第一时间内、无条件地给与免费更新并调试。专人支撑日常应用,解答系统相关问题,影响业务使用的功能。为了防止后期出现一些突发性需求或问题,在合同中一定加上支持系统日常使用的维护,和影响日常使用的BUG三日内修复或给出甲方满意的解决方案。
相关文章
- 一个历史遗留项目清理总结
- 【项目总结】:怎样做一个牛逼的Team leader?
- 总结 Django 一个项目构建多个应用
- (转)一个JavaWeb项目开发总结
- 一个JavaWeb项目开发总结
- 使用Node.js完成的第一个项目的实践总结
- 关于vagrant一个虚拟机搭建多个项目配置(总结)
- 菜鸟成长日记之新手备忘录-IOS开发第一个项目总结
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
- 一个小项目后的一些技术小总结