当前位置: 首页 > news >正文

巴克莱银行聚焦于业务产出的做法

上个月在伦敦召开的DevOps企业峰会上,巴克莱银行的企业运作部门主管Jonathan Smart和PMO(项目管理官员,Project Management Officer )Morag McCall做演讲介绍了对整个工作流的重新审视,从初始创意的甄别分类,到最终发布到生产环境。演讲主要针对如何在应用和服务组合的管理中引入敏捷,以及如何改变PMO和财务部门的职能。

\\

Smart以往曾在历年峰会上演讲,介绍巴克莱银行是如何成功引入敏捷和DevOps的。这些转换工作聚焦于工程,目的在于帮助缩短交付时间,实现新的业务产出。现在,通过端到端地查看活动流(即从初始业务想法开始,以新特性或生产环境中的Story为结束),很明显在工程工作实际开始之前,实现在各个活动上的工作流有了更大的改进。整个价值流开始于月度的创意甄别分类,之后是季度的指导,然后是新创意进入开发Backlog之前的年度审批。在可长达18个月的投资组合(Portfolio)管理流程和敏捷工程流程之间存在的“自相矛盾的紧迫感”,Smart将其称为“不匹配”。

\\

现在,改进后的投资组合管理流程开始于战略目标,即对多年后业务发展的长期愿景,包括CEO的前五大目标等组织层面目标,或是英国脱欧等大型项目目标。这些目标进而会分解成为期三年的投资组合目标。投资组合目标是一个或多个投资组合Epic的分组。一个年度投资组合Epic进而分解成为期三个月或是更短的业务产出。业务产出就是企业的日常工作单元,需时常加以验证。最对可同时有四个业务产出齐头并进。最后,每月需交付一次功能,并根据相应业务产出的进度(作为实验看到)做出评定。据Smart介绍,现在巴克莱银行的工程师可以追踪任何一天所做的Story情况(月度特性是由多个Story组成的),乃至可追踪CEO的前五大目标进展情况。

\\

146674dcdc53840aedad5db099256634.png 
\Credit: Jonathan Smart and Morag McCall, Barclays

\\

至关重要的是,这些纵向举措将对应为横向的(长生命周期的)产品和服务。单个业务产出可能会转变为多个(长生命周期)服务和产品。举个例子,如果一个业务产出需要转变为商业欺诈(Fraud)和股权交易(Equity Trading)服务,那么它进而应转变为每个服务上的多个产品。但Smart指出,企业意在持续降低依赖的数量。

\\

这一投资组合管理新方法并不意味着PMO的职能已经过时,而是恰恰相反。但投资组合管理团队需要向更敏捷的工作规划和(自我)优化方法发展。一种做法是在敏捷教练的帮助下,限制开展中的工作,实现业务流程的最大化,即“暂缓开始、聚焦于完成”(Stop Starting,Start Finishing)的原则。要可视化整个团队的工作,应实际树立一块工作白板,展缓使用电子显示板。同等关键的是,应从项目思维转为面向(长生命周期)产品(以及相应的长生命周期产品团队)。项目组合管理的最终目标是通过咨询角色实现业务价值,为组织中其它部门提供顾问和支持,即对管理依赖和发布提供帮助(让工作实际运行起来,而非纸上谈兵)。

\\

Smart提出,为实现推进季度业务产出的精益投资组合管理,财务部门也需要做出一些改进。其中包括投资于价值流而非项目、考虑轻量级业务案例、使采购过程更敏捷等需求。

\\

在演讲结束前,Smart和McCall针对如何在大型组织中改进投资组合管理给出了一系列建议:

\\
  • 识别长生命周期价值流和产品。\\t
  • 识别季度业务产出。\\t
  • 可视化并限制进行中的投资组合工作。\\t
  • 聚焦于降低交货时间。\\t
  • 做一位建立敏捷的推动者。\

DevOps企业峰会的组织方IT Revolution在线提供演讲的视频。

\\

查看英文原文: Focusing on Business Oucomes at Barclays

相关文章:

  • Scala学习笔记(1)
  • Ubuntu 下解压tar.xz方法
  • Java深究之String、StringBuffer、StringBuilder的区别
  • 主题 :学习与自我提升
  • php 向关联数组头部插入key value 保持数组关系不变
  • excel导出 ajax错误判断 数据为空判断
  • 分分钟用上C#中的委托和事件
  • python-day2-06-列表
  • 【短文】为什么我不在PHP的私有变量用下划线了?
  • angular-路由与导航部分梳理
  • C# Web Api一个小例子
  • 数塔-动态规划-ccf
  • 【Matplotlib】利用Python进行绘图
  • 单体架构风格
  • CSS outline和border区别
  • 深入了解以太坊
  • C学习-枚举(九)
  • express如何解决request entity too large问题
  • JS专题之继承
  • laravel 用artisan创建自己的模板
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Linux中的硬链接与软链接
  • maven工程打包jar以及java jar命令的classpath使用
  • Octave 入门
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • windows下mongoDB的环境配置
  • 初识 webpack
  • 前端代码风格自动化系列(二)之Commitlint
  • 如何编写一个可升级的智能合约
  • 使用parted解决大于2T的磁盘分区
  • 智能合约Solidity教程-事件和日志(一)
  • 主流的CSS水平和垂直居中技术大全
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • %@ page import=%的用法
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (TOJ2804)Even? Odd?
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (循环依赖问题)学习spring的第九天
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .net 验证控件和javaScript的冲突问题
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [20161101]rman备份与数据文件变化7.txt
  • [20181219]script使用小技巧.txt
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [ACM] hdu 1201 18岁生日
  • [android] 请求码和结果码的作用
  • [android]-如何在向服务器发送request时附加已保存的cookie数据