声明:本网站为 Atlassian 官方公众号知识库

【客户案例】招商银行基于看板的大规模精益敏捷实践落地

发表时间:2021-10-17 21:21

作者简介

马海卿

招商银行总行软件中心工程效能团队
看板专家&电子看板系统产品经理

在本文中,来自招商银行总行软件研发中心工程效能团队的马海卿着重跟我们分享:分布于深圳、杭州、成都三地的招商银行总行软件研发中心,近7000+人的开发队伍是如何通过“看板”来有效协作和落地精益、敏捷实践的?

招商.png

关于招行:招商银行是中国境内第一家完全由企业法人持股的股份制商业银行,也是国家从体制外推动改革的第一家试点银行,现已发展成为沪港两地上市,拥有商业银行、金融租赁、基金管理、人寿保险、境外投行等金融牌照的银行集团。
背景及概述:
  • 目前招行主要使用了 Jira 和 Confluence 2个产品, 其中 Confluence 是全行范围内使用,主要用于各类知识库。
  • Jira 是行内 IT 部门使用,有7000+用户,应用于 IT 团队协作开发。


什么是看板方法?
看板方法有六大核心实践:

1. 所有人的所有工作内容, 全部可视化,只有首先看得见,才有可能持续优化,所以第一条核心实践尤为关键。

2. 显式化规则,将团队内部的运作协作规则,约定,做事的方法,需要遵守的纪律,等等,可视化出来,大家一起努力

3. 限制在制品,我们知道,看板方法来自于丰田的精益生产造车,限制在制品的目的是减少并行,消除浪费。对应到软件开发领域,也就是减少开发人员的切换,让开发人员的工作更聚焦。

4. 管理工作流,我们建立了看板,工作在看板上可视化了,接下来就要努力让工作流动起来,既包括怎么流,也包含流动的快慢,速度,是否有阻碍?是否流动有风险问题?生产的产品是否有缺陷?

5. 建立反馈循环,定期的检视我们团队的规则执行情况,生产质量情况,沟通协作情况,生产力等等,大家对于当前阶段的工作有什么反馈,有什么需要改进的点,对比其他更优秀的团队,我们还可以做什么做得更好。

6. 持续演进持续变革,我们的看板不是一天建成的,也不是一成不变的,而是随着团队的成长,人员规模的变化,团队的工作能力,等因素,随时反馈随时调整,看板是为当前团队的当前工作内容服务的,也是为团队持续提示自我服务的。

看板方法采用了精益的思维范式,将软件开发视为一个价值流,并且基于拉模式来驱动其流动。

价值流是精益思想和看板方法的核心理念。

持续改进是精益和看板方法的精髓。它旨在通过持续性的实施系统性变更来优化生产系统。

下面这个图是典型的敏捷实践,我相信大多数的团队都对于敏捷 SCRUM 不陌生。

7c1c87ce-9989-4d6b-a532-a963fa3017eb.png

小贴士

图片
谈到看板,我要给大家推荐一本书:David Anderson 的《看板方法》,在我们推广看板应用时,我们的各级管理人员几乎人手一本。我们这么多年的很多看板思想,方法,理论,甚至统计指标都直接来自于这本书的启发。


物理看板在招行的推广应用

看板在招行的推广应用,为什么要加物理看板这两个字呢?

是因为我行看板应用有两大阶段,第一阶段是物理看板,本阶段就是给每个小团队一块白板,团队自己来运用看板落地各类实践;第二阶段是电子看板,招行所有的团队全部使用一套系统来管理自己的工作,形成规模化效应。

物理看板,其实没啥特别的,就是一块大白板 每个团队自己来绘制泳道,定义自己的规则,自定义不同颜色的卡片,代表不同类型的工作事项,每个人都有资源贴,表明自己当前正在在做什么,也有风险问题重点关注区,各级领导在看到这块看板时就很容易了解和掌握团队当下的问题。

ad6dc03d-97fe-416d-9759-6e0b5544e791.png

右侧是团队在开晨会,我行从2015,2016年开始推广看板,每天早上所有的小组都在开15分钟的站会,每个人都在讲述昨天实际的工作内容,今天计划的工作内容,当前的问题,这样一个机制已经运作了很多年,在右侧图片上大家可以看到所有人都站在同一个地方开会的。

fc50ad36-5f4e-4e16-bb02-a28d616f43d5.png

上面的2张物理看板的照片,大家其实看不出什么特别来,对吧?

那为什么招行要坚持这么长时间的持续的,全面的,几乎是强制的在所有团队室组管理中,推广看板呢?这是因为:

1. 将看板方法应用于室组研发管理,是IT管理的一项创新。支持小团队、多产品、多项目的研发管理;将室组管理能力内嵌于看板实践要求中,潜移默化,“润物细无声”提升管理水平。

2. 有利于团队建设及氛围的提升。通过看板的应用,在组织内部形成自上而下组织级推动,与自下而上自组织管理的平衡局面,员工的参与度、满意度、成就感都有所提升,进而形成良性循环的工作氛围。

3. 有利于团队工程能力提升。在实施看板方法的初期,基层团队的工程过程一般都是设计、开发、联调。当由于开发质量不高导致的缺陷过多的问题暴露在看板上时,团队为了解决问题,会引入代码检视、单元测试、自动化测试等工程实践,并将其纳入看板中。

4. 获得银监会科信息科技风险管理二等奖。“建立及应用看板能力成熟度模型以提升基层管理能力的研究”研究课题获得2016年银监会科技成果二等奖。

44a1e3d0-4a53-4574-b73f-e99af86af98a.png

我行围绕着看板这个工具,还做了很多推广和应用,包括:

1. 看板能力成熟度模型:建立了看板能力成熟度模型,建立了国内第一个企业级看板能力成熟度模型,并推广应用。

2. 物理看板的经验累计:在推广电子看板系统前,累计建立了500+块物理看板,积累了很多经验。

3. 树立典型:每年举行看板评优活动及表彰,活跃了基层团队的创新管理氛围。

4. 持续宣传、持续创新:围绕看板,展开一系列活动,包括:优化看板设计、推进站会运作、定期评估巡查、看板专家培养及交流等。

这些工作,可以说形成了一种看板生态圈。大家对于使用,应用看板这个方法,工具,各级管理者都有了共同语言,和共同的工具箱。也就形成了规模化效应。

物理看板的缺点:

物理看板虽然在我们的敏捷转型上起了很大的帮助,但它也有一些避不开的痛点:最关键的一点是我行研发中心分布在深圳、杭州和成都三地,即使在同一个城市,办公场地也分散在不同的地方,如果一个开发团队需要跨地域协作,通过物理看板就有很多问题,很多需要线下沟通协作,效率很低。

看板在招行看来是一个管理的抓手,是一个很好用的工具。那么研发一个电子看板系统就提上了我们的日程。

基于 Jira Data Center 的电子看板系统设计

1. 调研 + 选型 + 试用 + 决策

在引入电子看板之前,我们调研了很多工具,除了 Jira Software ,还有华为的 swiftKanBan,腾讯的 TAPD,阿里云效以及 Atlassian 。

我们第一步是在各个小团队开始试用不同的产品。经过团队的测试和试用,我们认为 Jira Software 从产品成熟度以及功能层面都更成熟,产品功能也可以满足业务的需求。招行大规模团队以及复杂场景下,我们对产品性能和企业功能上都有比较高的要求,因此,我们选择了功能更强大的本地部署 Jira Software Data Center 版本。

2. Data Center 的部署

• 数据库,采用Mysql主从结构,保证数据库的数据安全,所有的节点连接主从数据库的主节点。以后所有数据统计及分析、复杂查询类的需求,从数据库从节点获取数据。保证平台性能及数据安全。

• 共享文件系统:采用NFS mount到每个节点,用来保存附件信息。

• 每个节点安装 Jira 实例, 操作系统为 Redhat Linux.

• 负载均衡采用使用 Nginx,使用 Nginx session 黏连模块实现 session 保持。

• 增加服务节点只需要从虚拟机复制一个节点,修改配置加入集群即可。

为了帮助招行所有用户更容易使用电子看板,所有部门都可以更好协作,因此我们基于 Jira Software 进行了二次开发来搭建我行的电子看板系统。

3. Jira 作为电子看板的基础架构

3.1 利用 Jira issue 自定义卡片类型

卡片类型,在我们看板上有故事卡,开发类卡片,测试类卡,需求类卡,日常工作类卡,以及缺陷卡,回顾会改进类卡,代码检视卡等

3.2 我们利用 Jira 工作流来设计不同类型卡片的流动

不同的卡片类型,可以利用工作流来设计他们的统一的流动规则,我们借此也建立了全行统一的流动规范,为下一步度量看板流动速率

3.3 利用 Jira 自定义设计看板价值列

不同的团队,从开始到结束流经那些价值列关注点是不同的。

3.4 利用 Jira Board 来生成不同类型的看板

由于组织规模较大,我们自定义一些看板模版,可以让团队自由选择,然后再根据选择后的模版进行局部优化和细化,更满足团队的管理诉求。

3.5 利用 Jira Project 的用户权限功能来控制看板用户权限

每个团队都有自己的成员,以及外部干系人,及各级管理人员需要查看看板,借助于 Jira 用户权限,我们可以方便的扩展出适合自己需求的权限管理方式。

招行电子看板成效及小结

电子看板和物理看板相比,更进一步提升了团队的管理能力:我们的看板致力于将所有信息可视化,并且对所有人都是一致的展现形式。因此,电子看板带来的最大收益就是让如此大规模的组织的各级管理者或者干系人能够在自己的电脑上,一目了然的看到所有相关团队的看板,看到团队当下正在做什么,有什么风险问题,团队内某个成员具体的工作是什么,进展是什么,极大的提高了各类信息的透明度,增进了团队之间的协作和配合,减少摩擦提升效率。

• 看板成效:支持看板团队模式

支持以看板方式运作的团队,支持多项目并行,支持团队自定义泳道及价值列:

b790a924-5728-44d1-8a34-0adaa981559a.png

看板成效:支持敏捷团队模式

支持团队以 scrum 方式推进开发工作,支持团队以 product backlog 及对需求进行不同迭代的优先级排期,支持当前迭代以看板的形式展开:

c3381ba7-9440-46b9-a274-c419ba47637e.png

• 看板成效:卡片与代码、流水线执行关联

我们基于 Jira Software 定制化的看板与软件研发领域结合,我们一个团队的所有工作都已经可视化为一张张的卡片,开发-人员生产的产品就是代码,我们要求每一次代码的变更 commit 要跟卡片进行关联,这样你的代码变更有据可查,也方便其他人员理解上下文。

同时每一次代码 commit 都会自动触发一条 Dev 流水线来执行编译,构建,扫描(静态代码安全扫描),及开发环境的部署和自动化测试验证等, 保障开发人员提交的代码符合我们组织级的规则。比如满足 sonar 技术债的规则,单元测试覆盖率的规则,是否引入第三方开源组件?这些组件是否在白名单内?这些组件的版本是否存在安全漏洞?全部在我行 Devops 流水线执行过程中予以解决。

这样,看板与代码提交、流水线相结合,极大的提高了我行开发人员的生产效率。

c4de0d53-0bd1-4056-808a-791cfd2deab5.png

• 看板成效-站会模式下,支持看板实践健康检查

前面讲过站会模式,团队全体成员每天早上15分钟的高效站会,我们的电子看板结合视频会议系统,完美支持了团队的异地协作。通过可视化的数据,支持组织级看板规则,以及团队自定义看板规则的落地。

2aa85301-6913-4b54-815c-58036011e48e.png

看板成效:支持按照卡片组织代码检视

我行推广代码检视的优秀实践,利用看板卡片,让参与代码检视的团队成员能够理解上下文,能够快速对开发人员提交的代码进行检视,指出其中的问题,将待改进的问题又落回到看板卡片上予以跟进解决,实现了最低成本、最快速的保证开发人员代码产出质量的措施,同时也是团队成员之间日常知识传递、技能同步提升的一种途径。

3c8e8245-c886-4501-abb7-81c6e9535b66.png

看板成效:支持回顾会

通过回顾会,展现各类数据,团队成员可以依据此提出改进意见,将改进项在看板上建立卡片持续跟进,保证各项改进措施能够很好的落地执行。

02ad85b7-f31a-4ebf-b226-56a1b23a8226.png

招行电子看板成效总结

1. 根据行内看板规范,快速落地优秀的看板实践!

2. 看板融入了整个 IT 研发生态圈,包括:

  • 项目管理:项目即看板泳道,卡片形成项目日历视图,项目进度一目了然
  • 源码管理:代码 Commit 与卡片关联
  • 代码检视:关键 Commit 执行代码检视
  • 静态代码质量:每个 Commit 都执行扫描,检查代码坏味、技术债
  • DevOps流水线:自动形成变更说明书,将管理活动与工程活动关联
  • 工作报工:每日在卡片上报工,整组成员报工数据开放透明
  • 个人WIP:减少并行工作,形成个人工作日历
  • 站会:关注小组内每个人的投入、代码产出、代码质量、流水线执行,将内建质量工作落实到每天
  • 回顾会:度量数据展示,回顾会改进项直接在看板上建立卡片进行跟踪管理
  • 流动效率:建立流动效率监测指标,时刻关注看板的流动性

3. 为后续建立多层级看板奠定了基础

4. 将整个研发过程数字化,实现招行 IT 全面数字化管理


分享到:
评论留言
关注我们
 
 

关注Atlassian官方公众号

获取最新产品与活动信息

7a6583172c789ff30f0e7ac723b18111.png