Atlassian 中国封面人物 | 李晓东,打造民生银行软件工程平台
2018.05.18李晓东,2001 年获北方交通大学工学硕士学位,曾就职于朗讯科技贝尔实验室和 IBM 中国软件开发中心。2014 年加入中国民生银行,目前任信息科技部软件开发部技术管理中心负责人,主要负责架构管理和技术管理工作。
背景介绍
中国民生银行信息科技部是中国民生银行的一级部门,下设软件开发部、生产运营部等多个二级部门和中心,承担着全行信息系统建设和运行保障责任。目前在运行的系统和模块有几百个,运行在开放平台上。开发语言以 Java、C++/C、SQL 为主,开发团队涉及民生内部团队及各个合作公司的成员,项目数量巨大,技术平台多样化,架构具有复杂性。
引入工程平台工具前的问题和痛点
.需求团队资源有限,跨模块存在需求分析信息不同步的问题
.业务需求从想法到完善需要过程,需求变更频繁
.项目常常涉及多个模块,项目牵头,工作基本上由工作量最大的模块来承担,项目经理也基于此选定
.以应用模块为单位安排上线,项目经理需跨模块协调整体项目上线过程
.缺乏统一的团队协作平台:民生银行的项目组非常多,在进行开发时,除了组织级的项目管理工具之外,在任务管理方面,有些项目组使用 Redmine、Project/Excel 等工具,还有一些项目的协作方式靠人工,总体上缺少对协作和工程作业方面进行专业化支撑的工具。
.代码评审和代码质量分析缺乏组织级的工具支持,代码质量管理缺乏标准化、规范化组织级管理方式
这些问题导致项目经理需要花费很多精力去做需求和任务管理,容易遗漏且无法追踪和回溯。
下图是民生银行对组织内各项目所做的工程管理诉求的调查结果,其中,需求管理、版本管理和任务管理与协同是各项目最关注的问题点。
解决方案
寻找能与现有自研平台结合的新的业务系统
民生银行内部使用一套自主开发的项目管理工具 PPM ,主要是用来管理资源和项目相关流程。PPM 是强管控工具,以项目管理透明化、项目管理规范化、项目管理精细化为目标,对公司项目管理提供了有力的支持,却在公司产品工程作业管理方面力不从心。
因此,我们希望能搭建一个新的工程作业管理平台,通过一些定制开发,将两者进行打通。同时,我们希望新的工具平台与 PPM 平台实现功能上的互补:
.PPM 平台面向公司管理层和项目管理团队对项目费用、流程、资源、重要项目里程碑和质量控制节点进行控制管理。
.新的工程支撑平台则作为工具平台面向公司研发团队。
.利用两个平台各自优势,通过定制开发,将两者进行集成。
产品选型
我们在选型的时候对众多国内外厂商的开发管理平台产品进行了深入的调研和比较,并着重从以下几个方面对我们考察的几个产品进行横向评分:
.产品功能的成熟度和认知度
.是否能提供企业级技术支持服务
.国内外客户的数量和口碑
.产品是否够轻量化,是否支持功能模块的自由组合
.第三方插件的数量、成熟度以及产品的功能扩展能力
.是否是开放平台及其可定制能力
.产品价格
当年,我们还参考了 Gartner 等权威机构的评估信息(2015 年)。最终 Atlassian 的系列产品以其综合实力在横向评比中脱颖而出。
目前,Atlassian 产品已经可以自动从 PPM 平台获取项目信息,并自动在 Atlassian 工具中为研发团队建立空间。同时 Atlassian 平台也为 PPM 平台提供了软件版本上线管理数据。
PPM 平台和 Atlassian 产品双剑合璧,正逐步实现以项目为中心,端到端的研发过程管理目标。
Atlassian 平台在民生的应用情况
经过 3 年的不断努力,我们对 Atlassian 系列产品进行了功能集成,并在公司内部将其命名为 PSET 平台( Platform of Software Engineering Toolkit ),使用到的 Atlassian 产品和其主要功能包括:
.Confluence :需求和团队工作协同管理
.Jira Software :开发任务管理
.Fisheye + Crucible 和 SonarQube :代码质量管理
.Bamboo :工程构建
.BitBucket :代码版本管理
PSET 平台覆盖了民生软件工程的主体流程,目前信息科技部的各条业务线都在使用,并向下扩展到各分行使用,以及对外扩展到信用卡部、网络金融部等其他总行部门。
Atlassian 工具的实施使业务部门的效率显著提升
目前民生所有开发和业务部门都在 Confluence 上进行文档管理和信息分享,不但有效减少了邮件的往来沟通,也解决了文档的版本管理和部门间的协同问题,极大提升了团队的工作效率。
通过使用 Jira Software 管理软件工程,任务数持续增加,自动化集成也在逐步普及。Fisheye、Crucible 和 SonarQube 在保障代码质量方面很大作用。
安迈无限为项目全程提供专业的顾问咨询和技术支持
对于民生银行组织结构、项目管理、产品管理模式比较复杂的情况,以 Atlassian 产品和相关插件本身开箱即用的功能,并不能满足我行的需求。因此,实施过程尤为重要,甚至成为项目成功与否的关键。
安迈无限是 Atlassian 在中国首家白金级解决方案合作伙伴,他们的技术专家团队对软件产品的熟悉程度得到了 Atlassian 的认证,同时基于超过十年和几百家客户的经验积累,这些都确保了安迈无限的服务质量和技术水平。
通过大量的调查、访谈和交流,安迈无限与我们共同研究设计了完整的实施方案,并对我行相关人员进行了培训和配置指导。对于其他一些我行的管理要求,需要对 Atlassian 公司的产品进行二次开发的,安迈无限也提供了专业的技术支持。
在民生内部成功落地和推广 Atlassian 产品的心得
自上而下进行推动:任何工具类的产品在企业和组织内部的广泛使用,公司领导的支持和重视是工具能否在企业内部成功推行的关键。领导自上而下建立团队成员的使用工具的习惯,并逐步形成规范。
文化氛围的培养:在企业和部门内部建立 Atlassian 产品的经验和知识的快速共享机制,善于利用各种碎片时间对团队进行 Atlassian 工具的知识宣传
以点带面,树立优秀榜样:从明星团队开始,树立优秀典型人物,经常举办不同部门的经验分享会。
下图是由技术管理中心的团队设计的民生内部 Atlassian 产品平台移动端介绍材料,可以让大家利用碎片时间快速熟悉和了解产品的使用,为产品在民生内部成功推广和起到了重要作用。
民生银行信息化发展的下一步规划
依托 PSET 平台搭建自主研发的软件工程数据平台,将 PSET 、PPM 、测试管理系统和 ITOMS 等系统的数据进行收集加工和整理,形成软件工程全生命周期的数据仓库,并在仓库上逐步形成各类质量和效率分析,反映开发过程中的问题,指导开发过程的改进。
加强持续集成、DevOps 和敏捷开发,通过深入集成 Jira、BitBucket 、容器平台及各类 DevOps 工具,完善持续集成和开发运维一体化的能力,进一步提升民生团队的敏捷开发和快速高质量交付的能力。
编者按:
以上,是李晓东跟我们分享的中国民生银行与 Atlassian 的故事。我们看到,三年来民生团队通过不懈的努力,借助 PSET 平台( Atlassian 工具为内核)的支撑,使得民生银行的软件工程管理、先进方法论和前沿技术的应用方面取得了长足的进步,高质量、高效率持续集成、持续交付的能力逐渐普及,团队效率和产品质量得到了显著提升。
我们也希望能有更多的中国企业和团队跟我们分享你们和 Jira 的故事,让我们一起携手打造高效能技术团队,用软件改变世界!