科技是数字化转型最重要的推动力,拥有一支强大的开发团队是零售银行数字化转型能否成功最重要的保障因素。如何建设开发团队、如何优化开发流程、如何进化开发思维等,成为零售银行数字化转型必须面对和思考的重要话题。互联网公司出生在数字化时代,天然有着数字化基因。因此,在打造开发团队过程中,银行如果能够参考借鉴并适度融合一些互联网公司的做法,相信一定能够达到事半功倍的效果。笔者在互联网公司从业多年后,进入银行体系从事数字化转型的科技开发工作,现将过往几年的实践经历整理供大家参考借鉴。

在银行传统科技开发模式下,开发团队通常会承接来自不同业务团队的各类需求,经过需求评审、预算审批、技术排期等流程后,组织开发、测试、上线并进行日常运行维护,这种模式难以满足当下零售客户对极致体验的要求。同时,传统科技开发模式还存在一些其它问题。比如,大多数中小银行科技人员少、预算不足,自身开发能力较弱;在整个银行内部,各个团队考核指标和关注重点不统一,大家立场不一致,团队之间壁垒森严、沟通不畅,筒仓式架构开发效率较低;在科技开发团队内部,评估和架构评审人员占比较大,具体工作更多依靠第三方外包公司,难以保证开发质量、难以推进技术创新;科技团队总是被动接收需求,开发人员归属感和成就感不强。

上述问题,有些需要决策层站在更高、更宏观的层面去考虑和优化,在此我们不做过多的展开。本文结合过往互联网公司和传统银行相融合的一些开发实践经验,仅对零售银行数字化转型,中小银行如何打造强大的开发团队做一些讨论。

1.搭建覆盖不同层次人才的梯队

过去几年,由于中小银行科技投入相对有限,科技人才又在区域间分布不均,大部分机构呈现科技人才缺口严重的现像。但是,近年来科技产业地域性差异正在逐渐缩小,新冠疫情也带给大家更多远程协同办公的尝试,人才资源短缺情况有望逐渐得到缓解。在此背景下,中小银行可以根据自身情况,逐步构建一支符合自身需求的科技开发队伍,建设覆盖初级、中级、高级、资深的人才梯队。这个过程中,需要避免核心团队只有技术架构和项目经理,落地实现全部靠外包的传统模式。同时,开发人员需要具备较强的技术专业素质,有能力开发、跟踪并维护自身的产品链路。另外,现在很多银行的科技团队采取一对多的开发运维模式,开发人员可能会覆盖非自己开发产品的问题定位和运维工作,由于不熟悉产品设计和实现方式,效率极其低下,因此,也需要特别重视开发团队的组织结构设计。

2. 以客户为中心建立全功能小组

开发团队除了传统以技术栈和前后端为维度进行横向划分外,还应该“以客户为中心”,从产品和需求的纵向维度建立全功能小组,其成员只对自己负责模块的产品开发、测试、维护负责。同时,在开发团队内部应该减少垂直汇报层级,代之以相对扁平化的网状组织结构,比如虚拟产品交付组。这种扁平化的组织结构有助于信息共享和准确传递,沟通效率会大大提升。同时,银行还应该建立技术委员会,负责开发人员的招聘建议、岗位定级、晋升发展、开发框架和技术方向定位等事务。

3. 明确指导开发团队的价值理念

在遵从银行整体发展大目标的前提下,开发团队需要明确并建立自身的定位和目标。这个目标并不等同于开发产品的里程碑或者最终交付目标,而是一种指导开发团队的价值理念。例如Facebook将其总结为:专注于影响力、快速行动、敢于冒险、保持开放和创造社会价值。这不是喊口号、贴标语,而必须反映在开发工作的每一个细节,指导每一个架构设计、每一行代码编写和每一次迭代发布。如果只是喊喊诸如『我们要打造敏捷的开发团队』或者『科技一切以客户为中心』等口号,却没有以此为目标为指引任何落地动作,标语只能一直都是标语。

4. 实现内部战略战术的信息共享

开发团队需要以战略目标为指导,确定技术标准、开发架构、迭代里程碑等具体的战术目标,并且在发展方向、技术细节、文档代码等做到全员信息共享,让每一个成员都能了解关键的量化指标。在开放和信任的氛围中,信息共享会使团队成员从整体角度更加明确自身任务的定位,更有参与感和成就感。同时,任务管理不应该是沉重的标签负担,而应该像社交网络信息一样透明和轻快。例如在Google公司的TGIF(Thanks God It’s Friday)活动中,员工可以开放地提问和讨论各种问题,从整体战略到技术细节无所不包,这种无边界的讨论恰恰能发挥团队的整体智慧,打开思路,极大地提高团队成员的积极性。

5. 成员对项目负责进行自我驱动

开发团队每个成员对自身的项目产出负责,而不是对项目主管负责。例如,在站会或总结会中,讨论的内容不应该是一般意义上的项目进度汇报,而应该是面向开发伙伴,沟通开发信息、协调项目进度、提出存在问题、敲定解决方案并定期跟踪反馈。这个过程,会让团队成员在信息共享基础上,逐步建立对于开发工作内在的自我驱动力。项目主管的作用是在技术方向、工作环境、沟通协调以及组织学习方面给予支持,在开发团队进化成熟的时候,项目主管的作用会逐渐弱化。

6. 提供专注开发的外部环境支持

开发工作需要专注于当前的目标和手头的代码,一个良好的开发环境是开发团队能够产出的有力保障,需要避免团队成员频繁受到诸如行政事务、臃肿会议等干扰和侵袭。同时,内部需要给开发人员提供有力的流程和技术支持,例如高效的硬件资源和网络环境、安全便利的运维环境、DevOps工具链等等。需要特别强调,自动化的开发运维流程和工具链的打造,可以极大提高项目整体交付和迭代的效率。另外,可以尝试对团队成员提供开发以外的便利和帮助,例如生活便利、人力资源支持、行政事务支持等等,这些付出的成本往往微乎其微,但对提升开发效率和产生创新思维的改善效果却非常显著。

7. 创造“试错容错”的创新文化

银行本身是经营风险的组织,对于产品和开发过程有着极高的安全标准和要求。但是,想要开发出好的产品并非技术堆叠、按部就班就能做到,目标实现也并非一蹴而就。持续不断的实验是降低风险唯一可行的办法,开发出体验好、效率高、创意新的产品,需要很多的尝试和探索,不断进行试错迭代。开发团队需要在强大的测试体系和灰度机制下,才能具备容错、试错的勇气和能力。『最大的风险就是不承担风险』,不应该本着能少做就绝不多做,认为做多就会错多的自欺欺人的态度去做开发,这将会是进步和创新的最大障碍。

8. 打造生机勃勃的学习型组织

打造一个学习型组织是开发团队不断进步、保持强大的有力武器。技术迭代速度呈现指数型增长,唯有不断学习、不断进化才能使开发团队保持勃勃生机。对新技术的研究和应用,对技术发展趋势的调研和判断,对自身开发实践的升级和迁移等,都要求开发团队成员不断的学习和进化。在实践中可以根据开发团队成员的个人兴趣和特点,去组织不同形式和领域的学习。例如,有人对新兴技术领域感兴趣,有人对底层实现原理有想法,有人对酷炫的界面有研究,有人对工具方法有积累等等。在深入研究的基础上,通过组织培训、技术专题、代码评审、甚至喝茶闲聊的形式进行学习,使团队整体能力不断提升。

9. 建立开放心态和大局观念

保持开放的团队环境,其根本是从整个体系制度层面,建立团队成员的开放心态和大局观念。如果开发人员无法和业务团队、产品团队、设计团队进行有效的沟通,甚至开发团队内部各系统间各自为战,就会毫无创新进取可言。最后,创新需要来自高层的有效推动和支持,否则其成长困境可想而知,最终只能留在口号阶段。银行需要在整体氛围中,拥抱新创意、新方法,并不断付诸实践。创意是自下而上产生的,而认可、批准、支持则是自上而下的。

总之,在具体的实践中,开发团队的建设需要依据银行自身的顶层架构,设定有效的目标,搭建扁平化的层级结构,确保开发人员在开放、包容的环境下专注于自身产品的开发和运维,最大化地利用工具以提升效率,通过自身的不断学习和积累,实现产品开发的高质量迭代。

文章版权归“NAPO”所有

最后修改日期: 2021年12月23日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。