老焦专栏 | 用 RACI 模式梳理业务流程,提高业务发布的效率

转载本文需注明出处:微信公众号EAWorld,违者必究。

最近经常在不同场合说,技术发展已经进入深水区。IT 技术发展已经越来越成熟了,尤其在金融行业,以前是解决从无到有的问题,现在该有的系统都有了,是解决进一步发展的问题。所谓深水区就是用原来单纯技术突破的方式不行了。例如有些企业,早年用流程系统解决了无纸化办公的问题,可下一个阶段做什么呢?

类似问题,在很多客户那里都存在,他们希望IT公司能帮助他们面向未来,找到新的发展方向。但是,由于他们自身已经进入深水区,近年来涌现的很多技术,对他们的帮助并不是很直接,很难像当年一样,某项技术能立竿见影解决问题了。这里我来比较一下:当年,使用关系数据库立刻解决了大规模数据存储问题,别的不用想,研究好Oracle/DB2/Sybase/Informix就够了,而现在懂 Hadoop 的体系结构不够,你要知道客户的数据在哪里、业务如何优化,如何支持决策,这些连客户自己也说不清;再如,当年使用应用服务器立刻解决了C/S架构客户端难以维护的问题,业务可以更好的通过互联网发布了,价值清晰可见,但现在微服务/分布式的一系列技术,都是希望用来解决高并发、易维护的问题,做起来却不是立竿见影产生效果的,一来很多模式需要仔细推敲、设计(比如应用如何拆分等等,设计不好起不到效果),对人的要求高;二来做了类似良好设计后会发现,原来的技术也是可以做到的,用了新的技术好在哪里。

究其原因,进入深水区后,这些问题会变得离散化、隐形化,解决起来不再立竿见影,而是牵一发动全身、进退两难。在我看来,虽然问题更复杂了,但 IT 提高业务效能、适应业务灵活变化、提供决策依据、提高开发效率、提高软件质量、提高发布效率这些要求并没有变,这就需要我们更加深入分析问题,提高对业务的抽象能力,从问题中抽象出解决方案。我写的一些东西也都是类似的一些抽象,希望能从业务中抽象出若干模式,用这些模式解决深水区遇到的问题。

举一个流程业务抽象模式的例子,希望能够缩短流程类业务的上线周期。金融业务多是以流程为表现形式,以往我们对流程的设计就是一个接一个环节,顺序执行下去,这种方式更多是技术语言、编码方式,业务和技术的沟通成本很高,信息传递上经常有缺失,导致流程上线效率不高。

RACI,就是在流程应用中抽象出的业务模式。这个词学过 PMP 的同学都知道,是用来明确组织过程中各个角色及其相关责任的方法,其中:

  • 谁负责(R = Responsible),即负责执行任务的角色,他/她具体负责操控项目、解决问题。
  • 谁批准(A = Accountable),即对任务负全责的角色,只有经他/她同意或签署之后,项目才能得以进行。
  • 咨询谁(C = Consulted),拥有完成项目所需的信息或能力的人员。
  • 通知谁 (I =Informed),即拥有特权、应及时被通知结果的人员,却不必向他/她咨询、征求意见。

看一个请假流程,这个流程中 R 可以当作提交申请单的人,各级审批就是 A,行政部门就是 I,C这个类型有点不好理解,其实就是能够帮助 R、A 完成工作的人,例如审批的时候我可以咨询一下人事部门某人。

在这一个操作流程中,分清楚R、A、C、I,就可以用一个表格来表示流程,而这个表格是可以生成一个技术上的流程定义:

上述流程,用一张表就可以表述出来,这种方式更容易与业务方进行沟通。如果我们分析一下目前企业的操作流程会发现,绝大多数可以用 RACI 表格模式体现出来,如果是这样,我们以后可以不再画上面那样技术的流程,直接用这种表格方式与用户沟通需求。

这样做的好处是:

  1. 在大型企业中,这样的方式业务更容易理解,因为岗位职责清晰,便于确定需求、优化流程、方便审计。本来大企业的流程管理就是用类似的思维在考虑问题,尤其是审计/风控部门,他们就是关注 RACI 和条件的,更加一目了然,沟通需求的时间会大大缩短,可以想象一下,把所有流程都写成 Excel 进行讨论、审批,而不是用一张张流程图,效率会有多高,想达到每天一支甚至多支流程,就是要用这种流程集中梳理讨论的方式;
  2. 这个表格可以生成技术流程的定义,而不是程序员再画,这样就可以把一些处理模式固化到翻译的流程中,提高适应变化的能力。例如上图中,行政部门归档是 I,归档方式可能是数据库插一条记录,也可能是邮件通知,这都是可以变成 I 处理的固定模式。

RACI这种方式就是我说的业务抽象,把流程的开发与流程的梳理紧密结合起来,提高业务发布的效率。当然,提高业务发布效率的手段还有很多,我会陆续分享。

我用这个示例来解释深水区,未来遇到的问题,往往不够明确、直接,需要根据业务进行抽象,转换为简化的技术实现手段,而不是说直接根据业务需求翻译成技术实现。如果从单纯技术编码的角度看,这种方式漏洞百出,但从业务视角看,他却是丰满的,所以最后要说一下,实在不能满足的情况,我们还有编码这样一个退路,不要求全责备。

关于作者:焦烈焱,普元信息CTO,致力于技术创新和金融创新解决方案研究。专注于企业技术架构领域,对分布式环境的企业计算、 企业信息架构的规划与实践有着丰厚经验,带领普元技术团队相继在云计算、大数据及移动开发领域取得多项突破,并主持中国工商银行、中国建设银行等多家大型企业技术平台的规划与研发。

关于EAWorld:微服务,DevOps,数据治理,移动架构原创技术分享。

Image placeholder
IT头条
未设置
  55人点赞

没有讨论,发表一下自己的看法吧

推荐文章
Go语言高级编程_5.6 Ratelimit 服务流量限制

5.6Ratelimit服务流量限制 计算机程序可依据其瓶颈分为磁盘IO瓶颈型,CPU计算瓶颈型,网络带宽瓶颈型,分布式场景下有时候也会外部系统而导致自身瓶颈。 Web系统打交道最多的是网络,无论是接

徒手教你使用zookeeper编写服务发现

zookeeper是一个强一致【不严格】的分布式数据库,由多个节点共同组成一个分布式集群,挂掉任意一个节点,数据库仍然可以正常工作,客户端无感知故障切换。客户端向任意一个节点写入数据,其它节点可以立即

深入探究 RocketMQ 事务机制的实现流程,为什么它能做到发送消息零丢失?

1、解决消息丢失的第一个问题:订单系统推送消息领丢失既然我们已经明确了消息在基于MQ传输的过程中可能丢失的几个地方,那么我们接着就得一步一步考虑如何去解决各个环节丢失消息的问题,首先要解决的第一个问题

这些linux技巧大大提高你的工作效率

前言linux中的一些小技巧可以大大提高你的工作效率,本文就细数那些提高效率或者简单却有效的linux技巧。命令编辑及光标移动这里有很多快捷键可以帮我们修正自己的命令。接下来使用光标二字代替光标的位置

如何利用科技提高效率,降低成本

以前,企业用数据库来存储客户信息,这些信息必须谨慎保存,并且需要实时手动更新。今天,有许多自动化CRM工具在被设计时考虑了各个行业不同的需求。过去,无论企业规模大小,都必须向客户开具纸质发票,并等待数

效率提高N倍的19条MySQL优化秘籍

一、EXPLAIN做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据type列,连接类型。一个好的sql语句至少要达到

一通骚操作,我把SQL执行效率提高了10000000倍!

场景我用的数据库是mysql5.6,下面简单的介绍下场景课程表:create table Course(c_id int PRIMARY KEY,name varchar(10))数据100条学生表:

Java没有创新了吗?Java 13提供可提高生产率和效率的功能

在其CodeOne会议上,Oracle解释了JavaSE13正式发布后Java的快速发布周期如何带来创新。在过去的二十多年中,Java编程语言新版本的开发速度相对较慢,仅每隔几年就会进行重大更新。甲骨

使用这些idea插件让开发效率提高5倍

idea有很多非常好用的插件,用好了这些插件能够极大的提高开发效率插件用的好,bug就追不上了我😆 0.idea插件如何安装打开idea的设置页面,选择Plugins选项即可搜索和安装插件1.JReb

从词袋到transfomer,梳理十年Kaggle竞赛,看自然语言处理的变迁史

大数据文摘出品来源:medium编译:LYLM、胡笳自2010年创办以来,Kaggle作为著名的数据科学竞赛平台,一直都是机器学习领域发展趋势的风向标,许多重大突破都在该平台发生,数以千计的从业人员参

如何利用Reworld做一个一键吸空投箱的效果

功能效果展示运行环境Win7,Win8,Win10Reworld版本体验版vc_redist.x64运行环境针对零基础读者的补充下载安装Reworld对应版本Reworld官网链接:http://ww

TensorFlow 2.0 代码实战专栏开篇

作者|  AymericDamien编辑 | 奇予纪出品| 磐创AI团队原项目|  https://github.com/aymericdamien/TensorFlow-Examples/ 写在前面

专栏第一页

大家好,欢迎来到这个专栏。在我开始写这个专栏之前,我常看知乎上一些零星的数据库论文总结与整理。其中的一篇惊为天人https://zhuanlan.zhihu.com/p/...。谢谢这一篇专栏给我的灵

玩转 GitHub Actions,简化 npm 发布流程

Github最近添加了一项名为GithubActions的新功能,为我们带来了一套强大的工作流系统,可以处理各种各样的任务。我们在发布Node.js包时可以使用Actions自动运行测试,然后自动将

设计模式: 策略模式

博客主页定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。使用场景: 针对同一类型问题的多种处理方式,仅仅是具体行为有差别

万字详解Oracle架构、原理、进程,学会世间再无复杂架构

学习是一个循序渐进的过程,从面到点、从宏观到微观,逐步渗透,各个击破,对于Oracle, 怎么样从宏观上来理解呢?先来看一个图,这个图取自于教材,这个图对于从整体上理解ORACLE 的体系结构组件,非

Java并发编程,深入理解ReentrantLock

ReentrantLock简介ReentrantLock重入锁, 是实现Lock接口的一个类 ,也是在实际编程中使用频率很高的一个锁,支持重入性,表示能够对共享资源能够重复加锁,即当前线程获取该锁再次

idea2019激活教程,永久激活,一次性搞定!(必看)

idea2019激活教程,永久激活,一次性搞定!(必看)此教程仅用作个人学习,请勿用于商业获利,造成后果自负!!!此教程已支持最新2019.2版本永久激活方法1.下载jar包点击链接网盘链接:pan.

从艺术到数学再到编程,这个蚂蚁金服技术人的奇异人生

2020年已经到来,第一批90后互联网大军也步入了而立之年,回首他们的来时路,那些熬夜奋战的日夜,失败后的坚守,不断的创新与突破都成为他们送给自己最值得回味的礼物。第三次AI浪潮下,AI技术大军应用而

支付宝安全实验室发现3款恶意库,提醒开发者擦亮眼

近日,支付宝天宸实验室发现在Python官方的第三方库下载网站上有三款第三方恶意库。当开发者安装使用时,可能被安装恶意程序。这三个恶意库的链接如下:roels:https://pypi.org/pro

Laravel 里面的 chunk 分块效率问题

laravel里面的chunk分块效率问题 在批处理较大数据数据时,laravel提供了chunk处理大块数据的方法,但数据量大了之后效率会非常慢 本次数据库测试数据供有二十万零一千(201000)

吕理伟:研发质量效率体系建设助力企业发展

导语:本文根据吕理伟老师在2019年10月31日【第十一届中国系统架构师大会(SACC)】现场演讲内容整理而成。  海风教育工程卓越中心原高级总监吕理伟嘉宾介绍:13+年工作经验,2006年重点大学计

gMIS吉密斯十年执念:Lower Costs较低成本Better Productivity较高效率

Hello2020!元旦快乐!今起揭开21世纪20年代的篇章.1.gMIS吉密斯十周年2010-2020,十年转眼已成历史,gMIS吉密斯——通用管理信息系统(generalManagementInf

02.3. 流程和函数

这小节我们要介绍Go里面的流程控制以及函数操作。 流程控制 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑。Go中流程控制分三大类:条件判断,循环控制和

Python入门教程_4. 深入 Python 流程控制

除了刚刚介绍的while语句,Python还有一些在其他语言中常见的控制流语句,并做了一些改动。 4.1.if语句 也许最著名的语句是if语句了。 例如: >>>x=int(input("Please