流程管理软件,称为BPMS(Business Process Management System)。目前市场上很多厂商都声称自己的软件是流程管理软件,到底什么样的软件才是流程管理软件,流程管理软件有哪些类型呢?
【资料图】
流程管理软件可以分成四种类型:流程梳理软件、流程建模软件、流程分析软件、流程中间件。
一、流程梳理软件
顾名思义,流程梳理软件就是用来支持流程梳理工作的软件。我们在之前“流程语言的进化”章节中曾经介绍过,流程表达的语言从逻辑流程图、泳道流程图、全息流程图和仿真流程图。流程表达的语言和流程管理软件的应用是息息相关的。流程梳理软件采用的比较典型的语言就是全息流程图。它是在流程梳理过程中,管理和业务人员用来呈现业务现实的工具。正因为它的用户是管理和业务人员而不是专业人员,所以易用性和通俗化是它的典型特征。
比较有代表性的流程梳理软件,如Nimbus的Control,还有国内中航咨询开发的EOS系统。
首先需要说明的是,我们在此讨论的软件都是系统,而不是VISIO这样的工具级的软件。工具软件和系统软件的区别是显而易见的,系统通常有服务端和客户端,可以多人协同工作,具有管理功能,而工具软件通常是单机应用,不具备管理的功能。
对于流程管理来说更重要的意义在于,只有系统级的产品才能支持流程管理作为一个完整体系的存在和实现。比如流程的逐层展开和端到端链接(就像Google和高德地图一样),再比如流程的生命周期管理,这是作为流程管理系统软件首先必须支持的。
二、流程建模软件
要清楚流程建模软件和流程梳理软件之间的差别,首先要清楚流程建模和流程梳理的差别。虽然很多人会把它们混为一谈,但实际它们不是一回事。
流程梳理的结果是要完整的、结构化的呈现流程,这是以管理和业务人员为主体的工作。虽然这个过程也需要有标准化的语言,但是对于所采用语言的精确程度没有很高的要求。而流程建模却不然,需要有复杂而且精确的语言,否则我们很难称之为模型。这样的工作不是管理和业务人员能够完成的,通常要由专业人员来实现。
实际上,流程建模软件我们更应该称之为企业建模软件(可以支持EA),因为它们构建的不只是流程模型,可以基于多个维度构建企业模型(比如组织模型、绩效模型、风险模型等等),甚至有些软件还可以自定义模型。代表性的软件就是业内熟知的ARIS。
这种建模软件的优点就是功能强大,可以扩展应用支持管理集成和系统集成。它的缺点就是易用性不足,只有受过专业训练的人才能使用。或许这不能称之为缺点,因为功能强大和易用性之间总是一把双刃剑。
三、流程分析软件
流程分析软件是在流程建模软件基础上,通过赋予流程的数据定义,能够实现流程的模拟运行——也就是仿真。
这种流程仿真是有前提的:第一,构建了非常完整而且精确的流程模型;第二,流程的各种运行场景通过数据进行区分和组合;第三,流程的每一个活动都基于某些维度定义了数值,如时间、成本等等。然后,通过运算可以得出流程模拟的数据。
这样的好处是显而易见的,就像产品设计的仿真一样,我们可以做流程设计的仿真,为流程的分析和优化提供数据的支持。
这实在是一件美好的事情,然而现实是骨感的,以为目前国内绝大多数企业都不具备上述条件,既缺少体系化的流程,也缺少支持流程分析的数据,还缺少流程建模的专业人员。
流程分析软件一般不会独立存在,它很多时候是建模软件的扩展应用。
四、流程中间件
流程中间件是介于流程管理软件和流程执行软件中间的一个状态。流程执行软件就是我们通常说的业务系统,比如说ERP、MES、OA等等。当然像ERP这样复杂的业务系统并不只是流程的执行,更重要的是企业资源的管理,这实际已经超出了流程管理的范畴。
流程管理软件和流程执行软件是有差异的,流程管理软件是流程设计和生命周期管理的工具,并不包括执行。执行流程的,都是业务系统和工作流软件。流程中间件就是鉴于流程管理软件和流程执行软件之间的桥梁,它相当于一个翻译器,将设计出来的流程植入IT系统实现流程的运行,毫无疑问这样的过程又是流程建模软件的延伸和扩展。
流程中间件也有比较简洁的用途,有些中小型企业不需要构建完整的流程管理体系,只是梳理和设计某些流程之后,通过中间件将它们转成工作流去执行,实现从流程设计到执行一体化。
这种设计和开发策略也是很有意义的,毕竟对于中小企业来说,流程体系可能不是它们眼下所的问题。当然这种设计是局部的,与我们讲的流程体系化设计和生命周期管理不是一个层面的事。
这种类型的软件现在很多,它们都是从工作流软件发展起来,由执行端向设计端延伸的一种扩展应用。
没有完美的结局
以上四种是流程管理软件的类型。现实中很多企业都期望,可不可以有这样的一套系统:从流程梳理开始,可以构建流程模型,可以进行流程分析,需要的话还可以将某一部分流程植入IT系统中去执行,与OA系统或者ERP系统实现对接和集成,那是不是很完美?
很不幸,现实中我们找不到这样的一种系统。因为我们处在流程成熟度的不同阶段,对于流程管理的要求是不一样的,这样的要求通常对于软件来说是难以相容的。
如果我们的企业还没有实现流程体系化的呈现和管理,我们需要的是流程梳理的系统,而流程建模和仿真的系统对我们来说就太难应用了;如果我们是一个流程管理相当成熟的公司,走过了流程体系建设的阶段,那么建模和仿真的技术性对我们来说也不会是很大的障碍;如果我们更倾向于局部的流程应用以及工作流实现,那么通过中间件实现的从设计到执行一体化也是不错的选择……
如此说来,企业在流程管理的不同阶段以及不用应用之间,如何能够实现成果的复用而不是重复建设?为此人们做了很多努力:ERP和ARIS之间进行合作,就是为了实现企业建模到系统执行之间的无缝连接;国际组织BPMI开发了一套标准的流程建模语言BPMN,期望通过这样的标准语言在流程设计和应用之间建立联系;逐渐兴起的低代码开发平台也在朝着这个方向延伸,通过模块化的方式实现敏捷开发,降低软件开发的周期和成本;很多BPM软件开始支持云平台的应用,可以进行更大范围的流程成果复用和共享服务…
很多人为这些软件的未来描绘了一个美好的前景——不需要技术人员的参与,业务人员能够通过流程设计、建模和系统配置就可以实现软件功能的开发和应用。
我们已经看到一个趋势:开发越来越不再是IT应用的障碍,而最难以解决的仍然是面向企业个性化的流程设计和建模。不过现在BPM软件的发展,已经在为这个过程提供更多的便利和更好的选择。
工具没有完美的,合适自己的就是最好的。