在数字化时代,银行必须拥抱变革,以提高组织敏捷性并保持领先竞争地位。尽管银行已采用敏捷软件交付方法,他们还在努力尝试更加现代化的交付方法,比如测试驱动开发法(TDD)、验收测试驱动开发法(ATDD)和行为驱动开发法(BDD)。
银行想通过转变交付模式,提供个性化的客户体验,提高对不断变化的客户需求的响应能力。然而,由于面临诸多挑战,一个组织想要转型并非易事,尤其是银行。下面是部分挑战:
识别差异:诸如TDD、ATDD和BDD之类的现代化交付技术听起来差不多,都是以支持增量交付为指导目标。尽管这些技术都是以交付增量软件和提高开发人员的生产力为目标,但他们又有着细微差别和各不相同的目标。了解这些差异以及具体的实现方式至关重要。
- 标准化方法:很可惜,现代化的交付技术并没有标准化或简化的实施方法。选择合适的用例是成功实施的关键。大多数银行都存在业务环境复杂以及多家解决方案并存的难题,因此,必须要根据每家银行的技术、工具环境以及系统依赖性来定制实施策略和时间表。
- 缺乏自动化:自动化是成功实施现代化交付技术的重要前提条件。然而,银行在测试和基础设施自动化方面远远落后于其他行业,这直接影响了对客户反馈的响应能力。尽管在每个项目程序的开发、测试和基础设施中都存在某种形式的自动化,但要无缝地实施现代交付技术,必须将这些孤岛打通。
- 独立的软件开发和测试:大多数银行依然在遵循由团队A开发软件,团队B进行集中测试的线性工作模式。该模式适用于传统的软件交付,然而,在现代化交付中,这种模式可能会造成沟通障碍和协作问题。
现代化交付:需要考虑的关键领域
银行一直致力于推出大量创新解决方案,以提供个性化的客户体验和保持竞争力。在当今环境下,银行围绕目的组织业务的能力,以及适应困难的市场条件,将是快速、安全和在预算内交付这些解决方案的关键。下面列出了银行在采用现代化的交付技术时,需要考虑的重点领域:
- 文化转变:实施现代化交付技术时,银行内的各种业务领域都要经历巨大的文化变革。在初步筛选出合适的用例(项目/计划)但尚未实施之前,需要创建一个变更管理计划,以在项目和方案中嵌入现代交付技术的同时,促进快速失败、经常失败的思维方式。要让各个层级的利益相关方都能够清楚地了解现代化交付技术的目标、前提条件、实施策略、时间表、假设、风险和收益,并获得执行管理层的支持。
- 从小事做起:银行无法承担大规模实施现代化交付技术或者突然选择实施某项关键计划可能带来的风险。所有的项目和计划都必须经过全面的审核,在实施任何现代化的交付技术时,都必须事先筛选出最佳用例。选择正确的用例可为顺利转型铺平道路,而此类用例的成功采用又有助于逐渐扩展到其他项目、计划和业务领域。
- 单一交付团队运营模式:银行需要重点打造“单一交付团队”的模式,将业务、开发和测试团队紧密地整合到一起,以确保促进协作和沟通,提高透明度。在软件开发的早期阶段,该模型还通过注入单元测试 (TDD) 或验收测试 (ATDD) 或验证软件行为的测试 (BDD), 在很大程度上支持采用现代化的交付技术,以驱动开发,同时注入功能和非功能测试。
- 治理:随着这种模型在银行内多个项目/计划和业务领域的扩展,建立卓越中心(CoE)或转型咨询办公室(TAO)将有助于了解项目和计划的目的、实施标准化工具、规范技术栈、评估成熟度水平、遵循敏捷与DevOps实践,创建并维护脚本,以实现自动化优先和云优先策略等。
结束语
为了能够轻松地实施现代化的交付技术,顺利完成交付模式转型之旅,银行必须设立转型咨询办公室,识别适当的案例,制定切合实际的分阶段实施战略,并涵盖上述所有重点领域。借助TDD、ATDD或BDD等现代化的交付技术,我们可以更轻松地管理交付增量软件或产品时可能存在的风险。简而言之,要成功和可持续地实施银行业转型,银行及其IT负责人必须敢于承担风险,以保持竞争力和提供顺畅的客户体验。