2020年年初,我司中标某行发布的《大数据探索平台》项目,中标后公司立即展开项目立项工作,并通过项目章程任命我为项目经理负责该项目的建设,该项目总投资1000万,项目组2020年3月入场开展项目工作,建设工期为1年。客户希望基于行内大数据能力,提供多样化平台化的数据探索服务、灵活自助分析能力,让行内各个部门的业务人员更加贴近数据,实现数据无处不在、无人不用,提升数据化运营和数据赋能业务能力。收到任命后,我迅速的组建项目团队,成员涵盖有相关银行报表平台、大数据平台项目经验的设计人员、系统开发人员、测试人员、数仓模型专家、专职QA等,并跟甲方做了初步沟通。
平台包含探索引擎、综合查询、数据同步、灵活分析可视化、数据下载、模型超市和交流园地等功能模块,围绕数据探查、数据采集、数据分析和数据沉淀整个数据链路来建设,让人人都是数据分析师,支撑各个业务部门的数据场景快速落地。该项目采用微服务和多租户架构来搭建,离线批数据存储在CDH大数据集群供业务用户在平台进行查看和分析,处理层采用spark、impala等组件计算业务用户提交的计算任务,应用层采用springboot、springcloud和vue等框架来开发。该平台采用容器云的方式来部署,通过健康检查实现故障自愈,支持快速弹性伸缩。
同传统的数据类门户项目对比,该平台采用较新的大数据组件进行开发,把数据分析和可视化能力开放给业务用户,而大部分业务是没有技术背景的,平台要有较好的用户体验,阻断业务用户的不规范操作,保障平台的稳定性,项目的风险贯穿于整个项目的实施过程,在项目的质量管理中尤为重要。下面我将以质量管理过程作为主线,阐述我在规划质量管理、实施质量保证和控制质量等过程中的做法,并结合风险管理过程,对上述过程中遇到的风险问题及解决方案加以讨论。
一、规划质量管理,识别质量风险、风险分析、制定风险应对计划
通过甲方了解到该项目建设的背景和目的,项目组进行了深入的分析,深知该项目质量的重要性,要做好质量管理的第一步就是制定一个好的质量管理计划。在项目初期,我召集项目组成员和质量部门负责人,依照项目管理计划、干系人登记册、风险登记册和需求文件等资料,并借鉴公司其他类似项目的成功质量管理经验,制定了质量管理计划,描述了质量策略,然后采用成本效益分析、标杆对照和统计抽样等多种工具方法计得到了质量测量指标、质量核对单和过程改进计划,最后邀请关键干系人、项目组成员和质量专家参加质量管理计划评审会议,评审通过后由配置管理员CMO将质量管理计划纳入配置库中。
考虑项目中采用较新的大数据组件处理技术,业务用户通过平台提交的计算任务较难控制,结合质量管理计划和质量测量指标的要求,采用专家判断、SWOT分析识别质量风险,然后对风险进行了定性、定量分析,并制定风险应对计划。
二、实施质量保证,风险应对
项目组虽然配备了经验丰富的QA,但是质量意识是每个项目组都要具备的,质量保证计划的第一步是就是组织项目组成员开展质量培训,让每个人深刻了解质量的重要性,考虑如何保障自己那部分工作的质量。其次,制定了质量会议制度,每两周举行一次质量总结会议,讨论项目实施过程中遇到的质量问题并分享经验教训,以此作为提升项目质量的手段。还有我们有时候会根据安排事先准备一些质量审计活动,有时候也会随机安排,识别全部正在实施的良好或最佳实践,和全部违规做法、差距及不足,积极主动地提供协助以改进过程的执行,从而提供团队的生产效率。
考虑到质量验收风险,客户对灵活分析可视化模块的各类计算任务有明确的响应时长和并发数要求,这跟接入平台的集群资源配置、数据量大小、数据条数、SQL任务复杂度和用户活跃度等有着较强的关系,在签字确认质量测量指标时跟客户明确了依赖条件,如千万级数据表预览秒级响应,在安排质量审计活动时严格执行,提升了项目各方的质量信心。
三、控制质量,风险控制
质量控制是产品质量保证的最后一道关卡,质量控制得不好可能会给项目带来不可预知的风险。在项目中我们主要采用评审和测试等技术来进行质量控制活动,在需求阶段,我们会组织甲方、公司领导、团队成员、业务用户QA等参加需求评审会议,需求评审通过后进行设计开发。每一个功能模块开发完成,首先进行代码覆盖率测试,检查程序中的逻辑错误或其他错误。之后邀请甲方和业务用户参与,选取评审过后的测试案例进行黑盒测试,检查是否满足质量标准。
对于测试中出现的问题,我们严格做好记录,采用因果图、帕累托图分析问题产生的原因,并采取相应的改进措施。我要求全体成员按照PDCA的要求实施项目,要求把各项工作按照作出计划、计划实施、检查实施效果,然后将成功的纳入标准,不成功的留待下一循环去解决。在一次项目检查中,我们发现数据同步功能模块的进度明显落后于计划,SPI<1,存在进度风险,原来是测试人员凭借经验简化了测试流程,造成了质量问题,于是我们立即采取进度控制计划、质量管理计划等措施,解决了该风险,同时了保障了产品质量。
经过项目组坚持不懈的努力,在2021年3月,项目顺利完工,客户高度认可该项目的实施成果,目前已推广至总行近10个业务部门进行使用,如信用卡中心、零售银行部和运营管理部等等,业务用户也认为系统简单好用,数据分析变得越来越简单,一线业务人员即使没有技术背景,也能快速上手数据分析,高效支撑各类数据场景的落地,慢慢的降低对科技人员的依赖程度。虽然项目难度高、质量要求也高,项目还是取得了成功,主要由于公司和我的良好质量管理,以及项目组成员严格按照质量管理计划执行和配合,做好了质量风险的应对。同时,在项目中也确实出现了一些问题,如个别新员工质量意识不够强,核心人员离职等,但在我的管理下,基本都得到了很好的解决。通过该项目的成功实施,我不仅积累了丰富的质量管理和风险管理的知识,而且收获了项目经验和团队信任,我今后将持续努力,不断的进行自我能力和修养的提升,多与同行进行沟通学习,走出去,引进来,争取为我国信息化建设做出更多的贡献,实现科技和业务的深度融合。