全球BSP数据处理系统(ISIS2)作为结算公司的重点项目之一,目前,已经正式通过国际航协的验收,这对于结算公司和国际航协来说都具有重大意义。按照国际航协工作目标,未来将开启ISIS2全球实施计划,到2018年,ISIS2将取代KEB,T-SYSTEM,MAESTRO等其它BSP数据处理系统,成为国际航协BSP数据处理系统全球唯一统一应用软件,服务于近百家BSP,年处理金额高达1880亿美元,而结算公司将是唯一的系统供应商。
为了按计划完成项目开发任务,项目组付出了诸多努力。从项目正式启动至通过用户验收,项目历经37个月的开发周期,峰值人数61人,月平均49人。项目最终实现功能点21585个,有效代码行累计73万行,交付了11000多页文档,编写了11100多测试用例集,累计投入37000人天。
欧文说过:“当你往前走的时候,要一路撒下花朵,因为同样的道路你决不会再走第二回。”现在回想起来,大家正是凭借着这样一往无前的精神,无私的奉献,浇灌出无数的花朵才换来了今天的硕果。
这样大规模的国际项目,困难和辛苦自不必说,我们因此也换来了团队和个人的卓越成长。
提升项目管理能力,积累国际合作项目管理经验
由于该项目的重要性,国际航协要求全程参与,对项目的透明度要求很高。在项目管理及质量监控方面特别指定了国际航协北京ITS对项目组进行质量管理,国际航协的质量管理团队对项目组在这两方面均提出了较高的要求,并派多名专职人员进入项目组。
在项目管理的过程中,项目组充分发挥项目管理团队的优势,一方面严格遵守公司CMMI3的要求,另一方面积极与航协沟通,制定明确有效的计划、流程,对于开发过程的各个环节全程监控,责任到人,配合国际航协的要求提供详尽全面的数据及汇报,让客户对每一个关键环节都了然于心,不仅对最后的产品满意,也要对过程放心满意。
在沟通过程中,通过项目周报、双方项目组的项目经理周例会、执行委员会会议(Operational committee)、指导委员会(steering committee)会议,以及随时的电话会议等,及时有效地沟通解决问题。
从项目团队的自身管理来说,项目组的分工更明确,管理体系更严密;各级汇报制度更严格,更利于监控项目的进度及发现问题风险;建立了有效的沟通渠道,便于需求人员、开发人员、测试人员进行及时有效的沟通协调,快速解决问题。
在整个项目周期中,项目组最大的收获不仅仅是提升了项目组成员在工作规范及流程规范方面的素质,也提升了项目管理能力,积累了宝贵的国际合作项目管理经验,更重要的是磨合出一支特别能战斗的队伍。
创建学习型团队,注重人才培养
项目组一贯拥有浓厚的学习氛围。自项目组成立之初,确定了开发语言使用JAVA后,技术组就全面投入到了自学和小组学习的过程中。由于大部分开发人员都不熟悉JAVA,大家利用各种途径学习新技术,在小组内互相交流,不断提升技术水平。项目组对于表现突出的年轻同志,大胆启用委以重任。BSP项目为公司培养出了一批优秀的JAVA开发人员。
由于结算公司是第一次使用Seam这项技术,没有可借鉴的经验,虽然在国外使用者较多,但在国内使用者为数不多,架构组在遇到难题时需要想方设法地解决,比如大量查询国外相关技术的论坛,查询资料,加班加点攻克难题。目前,我们在该项技术上已经积累了丰富的经验。
需求团队克服时差、语言等各种障碍,与分布在世界各地的用户和专家,通过多种方式密切沟通协作。面对客户需求不清晰这个大难题,尤其是客户无法提供全面的系统关键性需求时,需求分析人员迎难而上,通过反读老系统代码来获取需求,再通过图文的形式与用户进行沟通和确认,难度非常大。当航协专家看到项目组整理出来的复杂业务流程图、规则及计算方法后也由衷的表示赞叹。可以说在项目交付之时,我们已经成功培养了一批能够独当一面的需求分析人员。
项目工作的过程也是不断学习,提升自身能力的过程。项目要求使用英语沟通并具有良好的书写能力,很多同事利用业余时间学习英语,还有同事自费报名华尔街英语。国际项目管理规范,对方方面面的要求都很高,大家深感自身在项目管理方面的不足。多位同志都自费学习并取得了PMP证书,将项目管理的知识应用到需求和测试的管理中,提升了工作效率。
回想项目组最初组建时,大部分都是初出茅庐的年轻人,经过三年多的历练,他们中的很多人成长为需求分析、测试、技术方面的专家和骨干,在各项评奖中脱颖而出。
实现技术、流程创新,攻克技术难关
在技术方面,新一代系统从根本上对老系统进行了重构,整合系统功能,自动化程度大幅度提升。
老系统使用C/S模式,新系统使用B/S模式。相对老系统而言,新系统统一了开发语言,提高了开发支持的效率;使用B/S方式,便于全球用户访问系统;Java及Oracle RAC的使用,保证了系统的高可用性及可扩展性;多线程技术大大加快了关键作业的运行速度。
在测试流程方面,项目组创新的组合运用了多种测试方法来确保交付质量。
首先在Scrum小组内采用TDD应用、持续构建、功能测试;待系统开发完成后,由Product Owner组成专门的测试团队,顺序进行组件测试(Component测试)、虚拟BSP测试(Pseudo BSP测试)、回归测试;在测试组的工作完成后,即系统数据正确性达标后,由架构组从以下几个角度进行测试,确保项目投产后能够正常使用,包括性能测试、高可用测试、多浏览器测试、安全测试。
实际结果证明交付物的质量是比较高的,用户不仅提前完成了规定的用户验收计划,而且还利用剩余时间加测了其它BSP。
成绩只能证明过去,现在项目组已经又投入到紧张的后续开发中,为了“唯一”的目标继续拼搏着。