【客户案例】招商银行基于看板的大规模精益敏捷实践落地发表时间:2021-10-17 21:21 作者简介 马海卿 在本文中,来自招商银行总行软件研发中心工程效能团队的马海卿着重跟我们分享:分布于深圳、杭州、成都三地的招商银行总行软件研发中心,近7000+人的开发队伍是如何通过“看板”来有效协作和落地精益、敏捷实践的?
1. 所有人的所有工作内容, 全部可视化,只有首先看得见,才有可能持续优化,所以第一条核心实践尤为关键。 2. 显式化规则,将团队内部的运作协作规则,约定,做事的方法,需要遵守的纪律,等等,可视化出来,大家一起努力 3. 限制在制品,我们知道,看板方法来自于丰田的精益生产造车,限制在制品的目的是减少并行,消除浪费。对应到软件开发领域,也就是减少开发人员的切换,让开发人员的工作更聚焦。 4. 管理工作流,我们建立了看板,工作在看板上可视化了,接下来就要努力让工作流动起来,既包括怎么流,也包含流动的快慢,速度,是否有阻碍?是否流动有风险问题?生产的产品是否有缺陷? 5. 建立反馈循环,定期的检视我们团队的规则执行情况,生产质量情况,沟通协作情况,生产力等等,大家对于当前阶段的工作有什么反馈,有什么需要改进的点,对比其他更优秀的团队,我们还可以做什么做得更好。 6. 持续演进持续变革,我们的看板不是一天建成的,也不是一成不变的,而是随着团队的成长,人员规模的变化,团队的工作能力,等因素,随时反馈随时调整,看板是为当前团队的当前工作内容服务的,也是为团队持续提示自我服务的。 看板方法采用了精益的思维范式,将软件开发视为一个价值流,并且基于拉模式来驱动其流动。 价值流是精益思想和看板方法的核心理念。 持续改进是精益和看板方法的精髓。它旨在通过持续性的实施系统性变更来优化生产系统。 下面这个图是典型的敏捷实践,我相信大多数的团队都对于敏捷 SCRUM 不陌生。 小贴士 看板在招行的推广应用,为什么要加物理看板这两个字呢? 是因为我行看板应用有两大阶段,第一阶段是物理看板,本阶段就是给每个小团队一块白板,团队自己来运用看板落地各类实践;第二阶段是电子看板,招行所有的团队全部使用一套系统来管理自己的工作,形成规模化效应。 物理看板,其实没啥特别的,就是一块大白板 每个团队自己来绘制泳道,定义自己的规则,自定义不同颜色的卡片,代表不同类型的工作事项,每个人都有资源贴,表明自己当前正在在做什么,也有风险问题重点关注区,各级领导在看到这块看板时就很容易了解和掌握团队当下的问题。 右侧是团队在开晨会,我行从2015,2016年开始推广看板,每天早上所有的小组都在开15分钟的站会,每个人都在讲述昨天实际的工作内容,今天计划的工作内容,当前的问题,这样一个机制已经运作了很多年,在右侧图片上大家可以看到所有人都站在同一个地方开会的。 上面的2张物理看板的照片,大家其实看不出什么特别来,对吧? 那为什么招行要坚持这么长时间的持续的,全面的,几乎是强制的在所有团队室组管理中,推广看板呢?这是因为: 1. 将看板方法应用于室组研发管理,是IT管理的一项创新。支持小团队、多产品、多项目的研发管理;将室组管理能力内嵌于看板实践要求中,潜移默化,“润物细无声”提升管理水平。 2. 有利于团队建设及氛围的提升。通过看板的应用,在组织内部形成自上而下组织级推动,与自下而上自组织管理的平衡局面,员工的参与度、满意度、成就感都有所提升,进而形成良性循环的工作氛围。 3. 有利于团队工程能力提升。在实施看板方法的初期,基层团队的工程过程一般都是设计、开发、联调。当由于开发质量不高导致的缺陷过多的问题暴露在看板上时,团队为了解决问题,会引入代码检视、单元测试、自动化测试等工程实践,并将其纳入看板中。 4. 获得银监会科信息科技风险管理二等奖。“建立及应用看板能力成熟度模型以提升基层管理能力的研究”研究课题获得2016年银监会科技成果二等奖。 我行围绕着看板这个工具,还做了很多推广和应用,包括: 1. 看板能力成熟度模型:建立了看板能力成熟度模型,建立了国内第一个企业级看板能力成熟度模型,并推广应用。 2. 物理看板的经验累计:在推广电子看板系统前,累计建立了500+块物理看板,积累了很多经验。 3. 树立典型:每年举行看板评优活动及表彰,活跃了基层团队的创新管理氛围。 4. 持续宣传、持续创新:围绕看板,展开一系列活动,包括:优化看板设计、推进站会运作、定期评估巡查、看板专家培养及交流等。 这些工作,可以说形成了一种看板生态圈。大家对于使用,应用看板这个方法,工具,各级管理者都有了共同语言,和共同的工具箱。也就形成了规模化效应。 物理看板的缺点:物理看板虽然在我们的敏捷转型上起了很大的帮助,但它也有一些避不开的痛点:最关键的一点是我行研发中心分布在深圳、杭州和成都三地,即使在同一个城市,办公场地也分散在不同的地方,如果一个开发团队需要跨地域协作,通过物理看板就有很多问题,很多需要线下沟通协作,效率很低。 看板在招行看来是一个管理的抓手,是一个很好用的工具。那么研发一个电子看板系统就提上了我们的日程。 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 用户权限,我们可以方便的扩展出适合自己需求的权限管理方式。 电子看板和物理看板相比,更进一步提升了团队的管理能力:我们的看板致力于将所有信息可视化,并且对所有人都是一致的展现形式。因此,电子看板带来的最大收益就是让如此大规模的组织的各级管理者或者干系人能够在自己的电脑上,一目了然的看到所有相关团队的看板,看到团队当下正在做什么,有什么风险问题,团队内某个成员具体的工作是什么,进展是什么,极大的提高了各类信息的透明度,增进了团队之间的协作和配合,减少摩擦提升效率。 • 看板成效:支持看板团队模式 支持以看板方式运作的团队,支持多项目并行,支持团队自定义泳道及价值列: • 看板成效:支持敏捷团队模式 支持团队以 scrum 方式推进开发工作,支持团队以 product backlog 及对需求进行不同迭代的优先级排期,支持当前迭代以看板的形式展开: • 看板成效:卡片与代码、流水线执行关联 我们基于 Jira Software 定制化的看板与软件研发领域结合,我们一个团队的所有工作都已经可视化为一张张的卡片,开发-人员生产的产品就是代码,我们要求每一次代码的变更 commit 要跟卡片进行关联,这样你的代码变更有据可查,也方便其他人员理解上下文。 同时每一次代码 commit 都会自动触发一条 Dev 流水线来执行编译,构建,扫描(静态代码安全扫描),及开发环境的部署和自动化测试验证等, 保障开发人员提交的代码符合我们组织级的规则。比如满足 sonar 技术债的规则,单元测试覆盖率的规则,是否引入第三方开源组件?这些组件是否在白名单内?这些组件的版本是否存在安全漏洞?全部在我行 Devops 流水线执行过程中予以解决。 这样,看板与代码提交、流水线相结合,极大的提高了我行开发人员的生产效率。 • 看板成效-站会模式下,支持看板实践健康检查 前面讲过站会模式,团队全体成员每天早上15分钟的高效站会,我们的电子看板结合视频会议系统,完美支持了团队的异地协作。通过可视化的数据,支持组织级看板规则,以及团队自定义看板规则的落地。 • 看板成效:支持按照卡片组织代码检视 我行推广代码检视的优秀实践,利用看板卡片,让参与代码检视的团队成员能够理解上下文,能够快速对开发人员提交的代码进行检视,指出其中的问题,将待改进的问题又落回到看板卡片上予以跟进解决,实现了最低成本、最快速的保证开发人员代码产出质量的措施,同时也是团队成员之间日常知识传递、技能同步提升的一种途径。 • 看板成效:支持回顾会 通过回顾会,展现各类数据,团队成员可以依据此提出改进意见,将改进项在看板上建立卡片持续跟进,保证各项改进措施能够很好的落地执行。 1. 根据行内看板规范,快速落地优秀的看板实践! 2. 看板融入了整个 IT 研发生态圈,包括:
3. 为后续建立多层级看板奠定了基础 4. 将整个研发过程数字化,实现招行 IT 全面数字化管理
|