来源:http://kb.cnblogs.com/page/176180/
BPM的产生缘由
近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,也称为数字化时代,在这数字化的时代里,企业的经营管理都受到了极大的挑战。从上世纪90年代起至今,企业的信息化工作开展的如火如荼,相继建立了很多业务系统,同时也给企业带来了巨大的效益。但是,新的问题出现了,业务已经对这些复杂的系统提出更新的需求,即需要实现系统之间整合。EAI(Enterprise Application Integration)技术风靡一时,成为了各界人士追捧的对象。热闹过后,许多人已经清晰的认识到,EAI仅仅是为解决“数据孤岛”而生,并不能解决业务流程的整合。另外,虽然很多业务系统也支持工作流技术,但是由于工作流与业务逻辑紧密结合,所以在EAI实施的效果大打折扣。实践证明,优化、高效、低成本的业务流程将为企业提供了与竞争对手拉开距离的法宝,高效的业务流程不仅提高企业的运行高效率,而且降低企业的成本,使企业达到高度自动化。所以,业务流程才是企业的核心问题。为了使业务系统适应企业的运行机制,需要对众多业务系统进行更深度的整合,包括数据整合、流程整合等,所以,BPM(Business Process Management)随之而产生。
BPM是什么
在IT界里,有一个不成文的规律,那就是喜欢拿概念忽悠人。“2005年是ERP年”,口号刚出,一夜之间ERP厂商风起云涌,到处鼓吹其先进理念,只要是能跟ERP挨上边儿的,都叫ERP系统,所以直接导致ERP在中国是失败的结局。BPM也是一样,由于BPM、ERP、OA、Workflow、EAI等这些概念都有一定联系,所以许多也不免俗套,开始宣扬自己的BPM理念。如果您是没学会忽悠本事的开发商,深刻理解BPM,真正提升您的产品质量,才不会被市场忽悠没了;如果您是没学会防忽悠本事的用户,深刻理解BPM,真正能评价一个好的BPM产品,才不会被开发商忽悠没了。
关于“BPM是什么”这个问题,在很多资料里并没有给出非常明确的定义(确定的含义),原因是IT界的很多概念在不同的场合下有不同的含义,并且随着时间而不断发展,所以不能叫定义,而只能叫描述,哪怕是权威的机构,如美国Gartner也是以“描述”说词。以下是Gartner对BPM的描述摘要:“Rapid change is impractical while processes are embedded in conventional applications.
The Development of BPM Technologies is enabling business managers to
abstract process flows and rules from the underlying applications and infrastructure, and to change them directly.”
以下是我对此的理解:嵌入到常规的程序中的流程需要迅速改变是不切实际的。需要具备让管理人员也可以设计业务流程,需要把流程的逻辑从底层的代码中抽取出来,并且能够直接改变他们。
在理解BPM之前,我们先谈谈一个比较熟悉的名词——业务流程(Business Process)。
业务流程是企业、政府以及其它各种组织,为了达到其业务目标,而执行的一系列活动,这些活动须由两个或两个以上的人或IT系统执行,串行或并行,活动的执行需要满足一定的规则和条件。下图是一个报表审批流程。
在上图报表审批流程中,首先相关业务人员(参与者为人)向相关领导提交费用报表(执行活动),该领导审批后,系统自动根据预先设定的规则对费用总额Total(流程携带的业务数据)进行判断,当Total>5000(规则或条件)时需要二级领导审批,审批完成后交由文档管理员归档保存(参与者为系统)。在整个流程中,包含了手工作业(暂名为AgileWork),如提交费用报表、领导审批等,也包含了自动作业(暂名为AgilePart),如是否批准、Total值判断、文档保存等。
基于上述理解,BPM应该是一种企业中业务流程管理的方法,而支持其管理的软件系统叫BPMS(Business Process Management Suite)。所以BPM应该是企业管理中的方法,而BPMS是建立、执行、评价和管理企业业务流程的一组软件系统体系,也就是我们常说的软件平台。概括起来说,BPM应该能体现以下特性:
·业务流程建模:业务人员完全以业务的视角,用流程图描述业务流程,也就是流程设计工具。
·业务流程自动化:根据定义好的流程,在BPM系统中自动执行,完全废弃传统的纸张,流程的传递不需要人工干预,也就是智能化BPM流程引擎。
·系统集成:BPM不仅仅是由人来参与,部分活动也可以由IT系统来参与,例如在请假流程中需要在HR系统中判断请假人是否有年休假期。这就要求BPM提供执行自动作业功能,如调用WebService、执行某类的方法。
·业务流程管理:能够可视化的监控流程的执行情况,对流程执行过程中出现的意外进行处理,也就是提供实时流程监控。
·业务流程优化:对流程执行的情况(包括:效率、成本、瓶颈、负载)进行统计、分析。根据统计分析结果,对流程进行改造,以优化流程的执行,也就是提供流程模拟与分析工具。
业务流程建模是基础,业务流程自动化和系统集成是实现手段,业务流程管理是过程,业务流程优化是目标。BPM是一个方法论和软件系统的集合,作为方法论,有其自身的规划、实施、管理办法。在该方法的指导下,由软件系统来实现业务流程的有效管理。从这个角度来讲,BPM是一个持续性的过程,而这个过程的各个环节将构成一个闭合的循环体,这恰恰迎合了企业成长的过程。所以BPMS必将给企业的信息化建设,提高企业在市场的竞争力起着非常重要的作用。
BPM与Workflow、EAI
首先,我们先看看BPM与Workflow。谈到Workflow,我们自然会想到OA系统。
八十年代初期,随着大量PC机的生产以及普及化,有一组麻省理工的研发人员首先提出了办公自动化的概念,并在1981年发表了一篇文章:“Etude:An Integrated Document Processing System”。文章中提到开发一套集成的工具,包括办公工作台以及针对个人交互的软件系统,为办公室员工提高办公的效率。这套软件系统就是工作流与OA(办公自动化)的前身。国内的OA系统是以文档作为流转的元素,把符合中国国情的国家机关以及国营企业下发正式的红头文,通过支持复杂工作流程,复杂的人员组织,不同组织机构,不同岗位,进行比如动态会签作业,实现电子表单与人的互动处理工作。很多人误认为OA或者工作流就是BPM。其实工作流是BPM的子集,BPM与工作流有很多本质的差别,主要区别如下表所示:
区别点 |
OA/Workflow |
BPM |
交互 |
人与人 人与系统(次要) |
人与人 系统与系统 人与系统 系统与人 |
整合 |
不提供,甚至恶化了企业“流程孤岛”的问题 |
能广泛整合不同业务系统 |
流程建模 |
不重要,甚至很多OA是通过Lotus系统来配置 |
至关重要,需要提供可视化流程定义 |
焦点 |
文档路由 |
业务流程生命周期管理与流程优化 |
接下来,我们来看BPM与EAI。
目前,企业出现了很多分散式的应用与系统。这些系统包括ERP,CRM等业务系统。但是系统却成为了企业的“信息孤岛”,系统与系统之间无法交换信息。随之,EAI(Enterprise Application Integration)等产品开始出现。很多用户因为BPM提供的整合功能与EAI相似,误以为BPM就是EAI。但是EAI和BPM是有很多区别的,EAI从表面上看,解决了信息孤岛问题,实际上,只是解决了数据传输问题,企业中普遍存在的“流程孤岛”的问题,仍然没有被解决。随着时间与业务需要,EAI与BPM开始汇集了一些新的技术,尤其是Web Services,SOA(Service Oriented Architecture)的出现加速了整个过程。最终,BPM不是EAI,但却是EAI的未来发展方向。主要区别如下表所示:
区别点 |
EAI |
BPM |
关注焦点 |
重视数据整合-即系统之间交换数据 |
重视流程整合-即系统之间流程的路由 |
速度 |
速度要求非常快,如果有延迟,会造成极大的瓶颈 |
速度依赖于人工处理速度 |
用户界面 |
参与者是系统,不需要界面 |
参与者包括人,对界面易用性要求高 |
用户数 |
参与者是系统,能整合的系统超过20已经达到极限 |
可有很多人参与,参与者有很多角色与关系 |
异常处理 |
只在乎系统的异常 |
在乎系统的异常,还必须考虑人的需求,包括请假,外出等情况 |
业务规则 |
牵涉系统的信息流的业务规则 |
牵涉范围更广,不只是系统,还需要考虑业务以及与人之间的关系 |
数据格式转换 |
至关重要 |
可能提供 |
BPM常见应用场景
应用领域 |
常见流程 |
生产制造 |
ISO9000流程 |
软件研发 |
CMMI流程 |
财务 |
合同审批流程 |
采购申请流程 |
|
固定资产报废流程 |
|
费用报销流程 |
|
人事行政 |
请假申请流程 |
出差申请流程 |
|
KPI绩效考核流程 |
|
人员雇佣流程 |
|
管理 |
资源申请流程 |
日常报告流程 |
|
市场销售 |
订单受理流程 |
合同执行流程 |
|
客户服务 |
保险索赔流程 |
投诉受理流程 |
|
售后服务流程 |
|
政务 |
公文审批流程 |
项目申报流程 |
|
服务受理流程 |
|
多政府部协作处理流程 |
|
B2B |
与合作伙伴的协作流程 |
BPM能带来什么
1、提高客户服务的满意度
BPM系统为客户提供单一入口,客户只要通过该单一入口提出请求即可,流程自动把任务分配到相关业务负责人。由于BPM系统执行效率远远高于人工流程,全面实施BPM系统将会给客户提供更快速的服务响应。另外,客户是流程环节中的一部分,并通过BPM参与到业务流程中来,所以,可以随时能够获得流程的进度,使客户对其需求的处理情况有直观的了解,消除了客户的“需求石沉大海”的现象。
2、提高自身的市场竞争力
·最优的业务流程运作效率
通过BPM系统实现自动化执行流程,消除了传统纸质流程中人工传递所消耗的时间;BPM系统允许大规模的并行处理,这大大提高了流程执行的速度。BPM的任务分配机制,提供了负载平衡、任务队列、后备人选等特性,将任务分配给当前执行该任务最有效率的人;BPM的任务提醒机制,使任务执行者能够立即获知其被分配的活动;BPM的监控、统计、分析工具能够最大限度促进流程执行,并使其不断优化。
·平衡效率、成本和质量,提供成熟的服务和生产能力
BPM系统能通过组织机构、岗位设置详细定义流程,明确岗位职责和业务规则,减少工作失误。BPM的监控工具,能够分拣出执行中出现问题的流程,供相关人员进行干预;BPM的建模工具、仿真预演工具和统计分析工具,能够帮助流程定义者设计出最适合该组织的流程。
3、提高适应变化的能力
市场、客户、竞争者都在变化,要求一个组织必须快速变化,适应新的形势。有时之所以出现组织适应变化的能力差现象,是由于没有感知到外部变化,并且无法让组织内的人员快速学习和执行新的业务规则。BPM系统的一些特性消除了以上的问题:
·BPM系统让客户、合作伙伴、供应商参与到流程中来,能够快速直观地获得他们的反馈,感知市场的变化。
·BPM系统的统计分析工具,能够从历史的数据中,预测到内部外部环境的变化趋势。
·BPM系统减少了组织内人员对新业务规则的学习成本。流程执行者不需要知道流程的变化,因为不是由人来触发后续活动,而是由BPM系统根据新的业务规则新的流程定义来触发各个活动。
·BPM系统要求组织内人员只需要熟悉自己所参与的活动的工作即可。BPM系统如同流水线,分解复杂的工作,让每一个人的工作简化,即使流程发生变化,每个人仍然完成其负责的简单的工作