转载本文需注明出处:微信公众号EAWorld,违者必究。
♬ 点上方绿标可收听文章音频
关闭窗口或屏幕也可听哦~
你是否遇到过 BPS 中一个流程画成了蜘蛛网的模样,看着 200 多个环节感到手足无错,说好的灵活调整呢?说好的可复用易于变化呢?究其原因,往往是业务流程、工作流程、审批流程没有分开造成的。
看上图:
业务流程重点描述业务“做什么”,这里的组件就是做事的一个服务,不涉及服务怎么做
操作流程重点描述一个服务怎么做,第一步做什么、第二步做什么
审批流程是一个特殊的操作流程
每一个操作流程决定对应的服务是否做完,不存在从某一操作流程中环节,跳转到起来服务的可能性,所以不用担心所有环节不在这张图上,无法实现环节间的跳转。
既然每一个服务,都可能有一个操作流程,那么我们就可以理解,业务流程 Process Flow 是 L3级别、操作流程(工作流程) Operational Process Flows 是 L4 级别,而操作流程是由一个个 Step L5组成的。而 L2 级是 Process业务过程,是需要细化为 L3 级别,才能够执行的。审批流程是一种特殊的操作流程。
把流程分解为业务流程、操作流程、审批流程,才能把业务中不容易变化的部分和容易变化的部分区分开来,提高流程的开发效率,提高流程的可维护性,提高流程的可测试性。
分解业务流程和操作流程,首先可以从业务的变化入手,例如如果一个业务跨越了不同的职能部门,那应该是业务流程中的不同环节,如果是一个部门、岗位之间流转,一般就是操作流程。
分解业务流程和操作流程,也可以从技术维度考虑,每一个操作流程是针对一个业务对象的,操作流程中每一个环节是这个对象状态的改变,例如测试提交了一个 BUG,这个操作是开发人员接收、开发人员修改完毕、测试人员验证、测试人员关闭,就是 BUG 这个业务对象不同的状态转换。我们也可以按照这样一个原则来区分业务流程和工作流程,同一业务对象状态的转换,可以把他们归集到一个操作流程中。
关于作者:焦烈焱,普元信息CTO,致力于技术创新和金融创新解决方案研究。专注于企业技术架构领域,对分布式环境的企业计算、 企业信息架构的规划与实践有着丰厚经验,带领普元技术团队相继在云计算、大数据及移动开发领域取得多项突破,并主持中国工商银行、中国建设银行等多家大型企业技术平台的规划与研发。
关于EAWorld:微服务,DevOps,数据治理,移动架构原创技术分享。长按二维码关注!