工作流
工作流历史
工作流技术发端于 1970 年代中期办公自动化领域的研究工作,但工作流思想的出现还应该更早, 1968 年 Fritz Nordsieck 就已经清楚地表达了利用信息技术实现工作流程自动化的想法。 1970 年代与工作流有关的研究工作包括:宾夕法尼亚大学沃顿学院的 Michael D. Zisman 开发的原型系统 SCOOP ,施乐帕洛阿尔托研究中心的 Clarence A. Ellis 和 Gary J. Nutt 等人开发的 OfficeTalk 系列试验系统,还有 Anatol Holt 和 Paul Cashman 开发的 ARPANET 上的 “ 监控软件故障报告 ” 程序。 SCOOP, Officetalk 和 Anatol Holt 开发的系统都采用 Petri 网的某种变体进行流程建模。其中 SCOOP 和 Officetalk 系统,不但标志着工作流技术的开始,而且也是最早的办公自动化系统。
1970 年代人们对工作流技术充满着强烈乐观情绪,研究者普遍相信新技术可以带来办公效率的巨大改善,然而这种期望最终还是落空了。人们观察到这样一种现象,一个成功的组织往往会在适当的时候创造性的打破标准的办公流程;而工作流技术的引入使得人们只能死板的遵守固定的流程,最终导致办公效率低和人们对技术的反感。 1970 年代工作流技术失败的技术原因则包括:在办公室使用个人计算机尚未被社会接受,网络技术还不普遍,开发者还不了解群件技术的需求与缺陷。
含有工作流特征的商用系统的开发始于 1983 年至 1985 年间,早期的商用系统主要来自于图像处理领域和电子邮件领域。图像处理许多时候需要流转和跟踪图像,工作流恰好迎合这种需求;增强的电子邮件系统也采用了工作流的思想,把原来点对点的邮件流转改进为依照某种流程来流转。在这些早期的工作流系统中只有少数获得了成功。
进入 1990 年代以后,相关的技术条件逐渐成熟,工作流系统的开发与研究进入了一个新的热潮。据调查,截至 1995 年共有 200 多种软件声称支持工作流管理或者拥有工作流特征。工作流技术被应用于电讯业、软件工程、制造业、金融业、银行业、科学试验、卫生保健领域、航运业和办公自动化领域。
工作流技术发端于 1970 年代中期办公自动化领域的研究工作,但工作流思想的出现还应该更早, 1968 年 Fritz Nordsieck 就已经清楚地表达了利用信息技术实现工作流程自动化的想法。 1970 年代与工作流有关的研究工作包括:宾夕法尼亚大学沃顿学院的 Michael D. Zisman 开发的原型系统 SCOOP ,施乐帕洛阿尔托研究中心的 Clarence A. Ellis 和 Gary J. Nutt 等人开发的 OfficeTalk 系列试验系统,还有 Anatol Holt 和 Paul Cashman 开发的 ARPANET 上的 “ 监控软件故障报告 ” 程序。 SCOOP, Officetalk 和 Anatol Holt 开发的系统都采用 Petri 网的某种变体进行流程建模。其中 SCOOP 和 Officetalk 系统,不但标志着工作流技术的开始,而且也是最早的办公自动化系统。
1970 年代人们对工作流技术充满着强烈乐观情绪,研究者普遍相信新技术可以带来办公效率的巨大改善,然而这种期望最终还是落空了。人们观察到这样一种现象,一个成功的组织往往会在适当的时候创造性的打破标准的办公流程;而工作流技术的引入使得人们只能死板的遵守固定的流程,最终导致办公效率低和人们对技术的反感。 1970 年代工作流技术失败的技术原因则包括:在办公室使用个人计算机尚未被社会接受,网络技术还不普遍,开发者还不了解群件技术的需求与缺陷。
含有工作流特征的商用系统的开发始于 1983 年至 1985 年间,早期的商用系统主要来自于图像处理领域和电子邮件领域。图像处理许多时候需要流转和跟踪图像,工作流恰好迎合这种需求;增强的电子邮件系统也采用了工作流的思想,把原来点对点的邮件流转改进为依照某种流程来流转。在这些早期的工作流系统中只有少数获得了成功。
进入 1990 年代以后,相关的技术条件逐渐成熟,工作流系统的开发与研究进入了一个新的热潮。据调查,截至 1995 年共有 200 多种软件声称支持工作流管理或者拥有工作流特征。工作流技术被应用于电讯业、软件工程、制造业、金融业、银行业、科学试验、卫生保健领域、航运业和办公自动化领域。
2.2 工作流管理系统概念
工作流管理系统是以规格化的流程描述作为输入的软件组件,它维护流程的运行状态,并在人和应用之间分派活动,推进工作流实例的执行,并监控工作流的运行状态。
工作流管理系统可以描述不同覆盖范围和不同时间跨度的经营过程,根据经营过程以及组成活动的复杂程度,工作流管理系统可以采取多种实施方式,在不同实施方式中,所应用的信息技术、通信技术和支撑系统结构会有很大的差别,工作流管理系统的实际运行环境也可以在一个工作组内部,也可以在全企业所有业务部门。
工作流管理系统在实际系统中的应用一般分为三个阶段:即模型建立阶段、模型实例化阶段和模型执行阶段。在模型建立阶段,通过利用工作流建模工具,完成企业经营过程模型的建立,将企业的实际经营过程转化为计算机可处理的工作流模型。模型实例化阶段完成为每个过程设定运行所需的参数,并分配每个活动执行所需要的资源,模型执行阶段完成经营过程的执行,在这一过程中,重要的任务是完成人机交互和应用的执行。
工作流管理系统是以规格化的流程描述作为输入的软件组件,它维护流程的运行状态,并在人和应用之间分派活动,推进工作流实例的执行,并监控工作流的运行状态。
工作流管理系统可以描述不同覆盖范围和不同时间跨度的经营过程,根据经营过程以及组成活动的复杂程度,工作流管理系统可以采取多种实施方式,在不同实施方式中,所应用的信息技术、通信技术和支撑系统结构会有很大的差别,工作流管理系统的实际运行环境也可以在一个工作组内部,也可以在全企业所有业务部门。
工作流管理系统在实际系统中的应用一般分为三个阶段:即模型建立阶段、模型实例化阶段和模型执行阶段。在模型建立阶段,通过利用工作流建模工具,完成企业经营过程模型的建立,将企业的实际经营过程转化为计算机可处理的工作流模型。模型实例化阶段完成为每个过程设定运行所需的参数,并分配每个活动执行所需要的资源,模型执行阶段完成经营过程的执行,在这一过程中,重要的任务是完成人机交互和应用的执行。
工作流应用目标领域
使用工作流管理系统的目的之一是作为企业应用系统集成( EAI )的平台。在当前大部分企业级 IT 架构中,各种各样的异构应用和数据库运行在企业内网中。在这些系统被应用到组织时,都有一个清晰的目标。例如,客户管理、文档管理、供应链、订单、支付、资源计划等等。让我们称这些系统为专门应用。每一个专门应用都包含它们所支持业务流程的领域知识。这些专门应用中的自动化流程,被拼装到企业中更大的非自动化流程中。每当一个这样的专门应用安装并投入使用,都会带来涉及其他多个应用的新功能需求。企业应用系统集成( EAI )就是通过使用多个专门应用满足软件新需求的方法。有时,这只需要在两个应用之间提供数据通讯的通道。专门应用将很多业务流程硬编码在软件中。可以这么说,在你购买专门应用时,你是购买了一组固定的自动化业务流程。而工作流管理系统是不必事先知道问题域的相关信息的。工作流管理系统将业务流程描述作为输入并管理流程实例的执行,这使得它比专门应用更灵活(当然你也要花精力编写业务流程的规格化描述)。这就是为什么说工作流管理系统和专门系统是相互补充的。工作流管理系统可以用来管理全局的业务流程。如果专门应用支持你所需要的业务流程,那么使用专门应用。在此讨论的工作流管理系统的第一种使用方式就是:结合所有的专门应用,使用工作流管理系统构建一个 EAI 平台。
工作流管理系统能够发挥很大价值的第二个使用方式是:协助涉及多人相关任务工作流软件的开发。为了达到这个目的,大部分工作流管理系统都有一个方便的机制,来生成执行任务的表单。对于专注于 ISO 或者 CMM 认证的组织,采用这种方式使用工作流管理系统能够显著提高生产率。不用将过程用文字的形式写在纸上,工作流管理系统使你通过流程定义建模实现过程的自动化(如使用基于 Web 的应用)。
工作流管理系统的第三种使用方式是:将工作流引擎嵌入到其他应用中。在前面我们谈到,专门应用将指定问题域相关的业务流程固化在软件中。开发专门应用的公司也可以将工作流引擎嵌入到他们的软件中。在这里,工作流引擎只是作为一个软件组件,对于应用的最终用户是不可见的。将工作流引擎嵌入到应用中的主要原因是为了重用(不重复发明轮子)和应用软件的可维护性。
使用工作流管理系统的目的之一是作为企业应用系统集成( EAI )的平台。在当前大部分企业级 IT 架构中,各种各样的异构应用和数据库运行在企业内网中。在这些系统被应用到组织时,都有一个清晰的目标。例如,客户管理、文档管理、供应链、订单、支付、资源计划等等。让我们称这些系统为专门应用。每一个专门应用都包含它们所支持业务流程的领域知识。这些专门应用中的自动化流程,被拼装到企业中更大的非自动化流程中。每当一个这样的专门应用安装并投入使用,都会带来涉及其他多个应用的新功能需求。企业应用系统集成( EAI )就是通过使用多个专门应用满足软件新需求的方法。有时,这只需要在两个应用之间提供数据通讯的通道。专门应用将很多业务流程硬编码在软件中。可以这么说,在你购买专门应用时,你是购买了一组固定的自动化业务流程。而工作流管理系统是不必事先知道问题域的相关信息的。工作流管理系统将业务流程描述作为输入并管理流程实例的执行,这使得它比专门应用更灵活(当然你也要花精力编写业务流程的规格化描述)。这就是为什么说工作流管理系统和专门系统是相互补充的。工作流管理系统可以用来管理全局的业务流程。如果专门应用支持你所需要的业务流程,那么使用专门应用。在此讨论的工作流管理系统的第一种使用方式就是:结合所有的专门应用,使用工作流管理系统构建一个 EAI 平台。
工作流管理系统能够发挥很大价值的第二个使用方式是:协助涉及多人相关任务工作流软件的开发。为了达到这个目的,大部分工作流管理系统都有一个方便的机制,来生成执行任务的表单。对于专注于 ISO 或者 CMM 认证的组织,采用这种方式使用工作流管理系统能够显著提高生产率。不用将过程用文字的形式写在纸上,工作流管理系统使你通过流程定义建模实现过程的自动化(如使用基于 Web 的应用)。
工作流管理系统的第三种使用方式是:将工作流引擎嵌入到其他应用中。在前面我们谈到,专门应用将指定问题域相关的业务流程固化在软件中。开发专门应用的公司也可以将工作流引擎嵌入到他们的软件中。在这里,工作流引擎只是作为一个软件组件,对于应用的最终用户是不可见的。将工作流引擎嵌入到应用中的主要原因是为了重用(不重复发明轮子)和应用软件的可维护性。
工作流是如何实现的
工作流的实施需要三个基本步骤:映射、建模和管理。映射是第一个步骤,其首要任务是确定并且文档化组织内全部现有的手工和自动化的业务流程;建模则是开发一个有助于建成流线型业务过程的模型。第三阶段是软件实施以及跨越全部工作部门、业务单元甚至是整个企业的无缝系统集成。
为了确保工作流系统能够“无缝地”实施到组织机构中,项目组都必须遵从已经定义好的、经过实践确认的行之有效的工作方法,并且在每个工作阶段都必须有可以度量的结果。一个深思熟虑的实施计划被有经验的团队执行,是成功地采用和实施工作流的决定因素。下图描述了一个推荐的、可供典型组织机构采纳的高层工作流(实施流程)。下面按图中步骤具体阐述。
工作流的实施需要三个基本步骤:映射、建模和管理。映射是第一个步骤,其首要任务是确定并且文档化组织内全部现有的手工和自动化的业务流程;建模则是开发一个有助于建成流线型业务过程的模型。第三阶段是软件实施以及跨越全部工作部门、业务单元甚至是整个企业的无缝系统集成。
为了确保工作流系统能够“无缝地”实施到组织机构中,项目组都必须遵从已经定义好的、经过实践确认的行之有效的工作方法,并且在每个工作阶段都必须有可以度量的结果。一个深思熟虑的实施计划被有经验的团队执行,是成功地采用和实施工作流的决定因素。下图描述了一个推荐的、可供典型组织机构采纳的高层工作流(实施流程)。下面按图中步骤具体阐述。
建立项目管理办公室
项目管理办公室的组成是第一步,也是最重要的一步。项目管理办公室的成员须经过严格谨慎挑选,他们必须在恰当的程度上广泛代表组织内的业务、运营、 IT 以及审计等部门。产品供应方的产品专家、技术支持人员和管理人员也必须参与其中,以与用户互补。通常在 PMO 中还包含变更管理顾问,有助于形成组织中人员思路的多样化。每个成员的角色和责任必须定义清楚。 PMO 从整体上确立项目的实施范围、目标、实施时间框架以及优先级等等。 PMO 也负责管理和跟踪项目进度、设定检测项目是否成功的指标,以及定期向高层汇报项目状况等。
业务分析
项目组将分析用户现有的业务流程,找出哪些流程需要优化和改进以达到上佳效果,并分析每个流程的时间线和期望的结果。他们将与关键人员进行座谈,收集和鉴别正确的信息及数据,从而决定工作流系统如何满足需求。接下来的业务分析将辨别出哪些流程可以被优化、自动化、流线型化,哪些流程甚至需要重新设计。
确定目标
确定上佳目标是建立在业务流程详细分析的基础之上的。工作流项目的目标定义应该清晰并可以进行验证,好的目标意味着项目的成功。在实施过程的每一个阶段,项目组必须确认达到的结果是他们所期望的结果。例如,如果目标是缩短开发票周期两周,则必须分析现有的时间跟踪、记账和开发票等流程。
确定实施计划
目标确立后,由用户和软件供应商组成的项目组展示工作流解决方案具备的各种模块,根据用户提出的特定需求定义他们的功能和特性,并基于业务的优先级,共同决定每个模块的上线时间。
将业务流程在工作流系统中建立模型
在实施过程中建立业务模型是一个极重要的步骤。用户应当紧密地同软件产品应用专家进行合作,以在易用性和功能需求之间达到平衡。
用户可以在部署阶段前对模型进行测试,以确保该模型符合实际要求且没有过多的开销。需要指出的是,如果这个建模步骤没有完全正确地完成,将导致错误的报表或者多余的管理工作。
实现流程和软件集成
在这个阶段,项目组将确定现有的需要与工作流系统交互的流程与系统。如果处理不当,新旧流程的集成将导致失败。流程集成的一个重要方面就是在多系统之间消除或者最小化冗余数据,并在多个系统间复制这些数据。流程必须紧密集成,数据必须能跨越不同的流程和应用,顺畅流动。
项目组也必须确保工作流系统符合用户组织机构的安全标准,这一点经常在部署阶段前被忽视。
部署工作流系统
部署工作流系统包括两部分内容。第一部分自然是技术部分,涵盖了硬件和软件的安装、备份、恢复以及网络安装等等,这与一般的 IT 应用实施相似。
第二部分是指上线试运行。试运行小组应具有真正的代表性。项目组必须与试运行小组就项目的重要性进行沟通,并确保提供足够的培训,使得试运行小组能够对试运行工作得心应手。建议项目组建立清晰的沟通渠道,保证在试运行期间可以及时反馈用户的意见和建议。试运行将使项目组鉴别出原来设计和计划的弱点和缺点,并在大规模上线运行前加以解决。这也可以提高用户对于新流程的接受程度,因为用户感到他们也参与了项目的开发部分,解决方案不是强加给他们的。
一般认为,采用阶段性实施工作流系统可使用户更快地获得效益。因为用户可以更有效地渐进学习新系统,取得立竿见影的效益。阶段性实施还给予用户更多的时间了解、评估他们进一步的需求,使得项目实施期间的修改更加容易。另外,阶段性实施项目降低了风险。
系统评估
特别注意,在每一个阶段完成后,项目组都应该基于项目开始时设定的目标,对已经完成的结果进行评估,同时分析所达到的结果,并与最初的设计目标相对照。为了确保工作流解决方案在现有的业务环境中优化出更理想的结果,项目组必须进行定期的监控、评估和沟通,以了解什么需要更改。
系统支持
为确保实施成功,更佳地使用工作流软件,组织机构必须进行服务投资,组织机构应该委派专业人员提供第一线的服务,也应负责与供应商签订合同,以获得第二级支持。
项目管理办公室的组成是第一步,也是最重要的一步。项目管理办公室的成员须经过严格谨慎挑选,他们必须在恰当的程度上广泛代表组织内的业务、运营、 IT 以及审计等部门。产品供应方的产品专家、技术支持人员和管理人员也必须参与其中,以与用户互补。通常在 PMO 中还包含变更管理顾问,有助于形成组织中人员思路的多样化。每个成员的角色和责任必须定义清楚。 PMO 从整体上确立项目的实施范围、目标、实施时间框架以及优先级等等。 PMO 也负责管理和跟踪项目进度、设定检测项目是否成功的指标,以及定期向高层汇报项目状况等。
业务分析
项目组将分析用户现有的业务流程,找出哪些流程需要优化和改进以达到上佳效果,并分析每个流程的时间线和期望的结果。他们将与关键人员进行座谈,收集和鉴别正确的信息及数据,从而决定工作流系统如何满足需求。接下来的业务分析将辨别出哪些流程可以被优化、自动化、流线型化,哪些流程甚至需要重新设计。
确定目标
确定上佳目标是建立在业务流程详细分析的基础之上的。工作流项目的目标定义应该清晰并可以进行验证,好的目标意味着项目的成功。在实施过程的每一个阶段,项目组必须确认达到的结果是他们所期望的结果。例如,如果目标是缩短开发票周期两周,则必须分析现有的时间跟踪、记账和开发票等流程。
确定实施计划
目标确立后,由用户和软件供应商组成的项目组展示工作流解决方案具备的各种模块,根据用户提出的特定需求定义他们的功能和特性,并基于业务的优先级,共同决定每个模块的上线时间。
将业务流程在工作流系统中建立模型
在实施过程中建立业务模型是一个极重要的步骤。用户应当紧密地同软件产品应用专家进行合作,以在易用性和功能需求之间达到平衡。
用户可以在部署阶段前对模型进行测试,以确保该模型符合实际要求且没有过多的开销。需要指出的是,如果这个建模步骤没有完全正确地完成,将导致错误的报表或者多余的管理工作。
实现流程和软件集成
在这个阶段,项目组将确定现有的需要与工作流系统交互的流程与系统。如果处理不当,新旧流程的集成将导致失败。流程集成的一个重要方面就是在多系统之间消除或者最小化冗余数据,并在多个系统间复制这些数据。流程必须紧密集成,数据必须能跨越不同的流程和应用,顺畅流动。
项目组也必须确保工作流系统符合用户组织机构的安全标准,这一点经常在部署阶段前被忽视。
部署工作流系统
部署工作流系统包括两部分内容。第一部分自然是技术部分,涵盖了硬件和软件的安装、备份、恢复以及网络安装等等,这与一般的 IT 应用实施相似。
第二部分是指上线试运行。试运行小组应具有真正的代表性。项目组必须与试运行小组就项目的重要性进行沟通,并确保提供足够的培训,使得试运行小组能够对试运行工作得心应手。建议项目组建立清晰的沟通渠道,保证在试运行期间可以及时反馈用户的意见和建议。试运行将使项目组鉴别出原来设计和计划的弱点和缺点,并在大规模上线运行前加以解决。这也可以提高用户对于新流程的接受程度,因为用户感到他们也参与了项目的开发部分,解决方案不是强加给他们的。
一般认为,采用阶段性实施工作流系统可使用户更快地获得效益。因为用户可以更有效地渐进学习新系统,取得立竿见影的效益。阶段性实施还给予用户更多的时间了解、评估他们进一步的需求,使得项目实施期间的修改更加容易。另外,阶段性实施项目降低了风险。
系统评估
特别注意,在每一个阶段完成后,项目组都应该基于项目开始时设定的目标,对已经完成的结果进行评估,同时分析所达到的结果,并与最初的设计目标相对照。为了确保工作流解决方案在现有的业务环境中优化出更理想的结果,项目组必须进行定期的监控、评估和沟通,以了解什么需要更改。
系统支持
为确保实施成功,更佳地使用工作流软件,组织机构必须进行服务投资,组织机构应该委派专业人员提供第一线的服务,也应负责与供应商签订合同,以获得第二级支持。