体验产品
1.工作流理论
(1)工作流的时间特性
工作流理论的核心是流程(process),本质是“时间秩序“观点。也就是说,工作流理论将业务视为一种沿时间轴线运动的要素集合,所有与工作相关的要素按照业务发展的时间逻辑被有机整合起来,形成各种功能。它的隐喻是在组织之中,其他因素都在变化,唯有时间是绝对的。这是牛顿绝对时空观念的映射。
图27是工作流的三种基本拓扑结构。
图27工作流的三种基本拓扑结构
图27中,人像代表着协同的主体,可以是单个的人,也可以是部门、岗位、群体等抽象意义的行为主体,统称为“节点”。有向线条代表“流程”,箭头的指向表明了流程的走向,即从线条无箭头端的节点指向有箭头端节点。流程走向具有时间上的先后顺序,无箭头端节点在时间上先于有箭头端节点。在串行模式中,流程分叉形成两个箭头,表明它们(在逻辑上)的时间是同步的;回行模式中,由左至右的流程,在时间上早于由右至左的流程。
工作流的时间特性并不是一种想象或大致的概念,而是需要满足精确的逻辑运算需要。否则,软件程序就无法确定时钟基准,可能会发生时间冲突,从而导致不可运行。以工作流的一种主要数学分析方法PetriNet(皮特里网)的相关定义来说明(PetriNet是对离散并行系统的数学表示,适合于描述异步的、并发的计算机系统模型。PetriNet既有严格的数学表述方式,也有直观的图形表达方式,既有丰富的系统描述手段和系统行为分析技术,又为计算机科学提供坚实的概念基础):
变迁的发生是原子的。有两个变迁都被允许的可能,但是一次只能发生一个变迁。
在PetriNet中,“变迁”(Transition)表示过程、活动或事件,对应于工作流中的流程、事件、行动等。“原子”表示离散、独立、非连续的意思。这个表述更加精确地表明,在工作流系统中,所有的行为都必须先后发生,不存在同时性。即便是对于“并发”这种流程,在逻辑上是虽然“同时”,但在代码运行的物理过程中还是有先后顺序之分的。这样才能保证软件运行中不产生资源冲突而导致死锁。
工作流的时间特性,决定了它对下述两件事情异常敏感:
1)制度的时间性。工作流要求制度具有时间性,这样才能将行为与流程相对应。如果制度不具备时间性,则流程将会出问题,甚至陷入停顿。举一个简单的例子。报销是一个最常见工作流。报销制度通常是这么规定的:
员工报销由部门主管和财务主管签字之后,报总经理审批。
这一制度如图28所示。其中,流程由员工发起,到总经理结束,这个时间性是明确的。但是在部门主管和财务主管之间却没有时间性。谁先签字?他们分别从业务和财务两方面对报销进行审查,理论上具有同等作用、权限相当。如果不明确先后顺序,则这两个角色很可能会互相推诿、不愿首先承担责任。因为谁先签字,谁要承担更大的责任;谁后签字,谁就拥有“相对更高”的权力。
图28“报销”工作流
协同软件(以工作流模式运行)怎么解决这一问题?首先,它从技术上保证报销流程同时到达这两个主管那里,不厚此薄彼。但主管们会彼此等待,谁也不先动作。这样工作流就在这个并发环节形成了“梗阻”,无法再运行。此时协同软件怎么办?它很聪明,想出一个绝招,让两个主管“双盲”审批,彼此不知道对方的行为,这样谁也不担责任,谁也占不到便宜,工作流就可顺利往下进行。但是且慢,如果两个主管决定不一致呢?工作流说:“这还不简单吗,报销申请被驳回!”处理得倒是很干脆,但两个主管之间会知道为什么不一致吗?他们之间并未有协同行为,报销审批很可能仍存在分歧。协同软件又想出一招:“让两个主管都审批完之后可得知对方的意见。”这样一来,投反对票的主管是没啥可说的,投赞成票的领导就会不舒服了。结果投反对票的主管从反对报销这件事,变成了否定另一位主管的权威,报销事件演化为办公室政治!可怜的协同软件,只好使出最后一招:“干脆这样,当两个主管全否定时,报销被驳回;只要有一个人同意,就通过!”它以为这下谁也不会得罪了,岂不知大祸就要临头,因为两位主管的矛盾都流到总经理那里去了!总经理终于忍无可忍:“什么破软件!鸡毛大点事都拿来我来解决,你们主管是干吗吃的!”此时大家就要找一个替罪羊:他们一起游说总经理把协同软件干掉了!
故事至此还没完。总经理认识到了制度的问题所在,他进一步规定道:
员工报销由部门主管先签批,再由财务主管审查,最后报总经理审批。其中任何一人否决,报销均被打回。
这是一个精确的制度。部门主管可能会发发牢骚:“谁让财务主管是总经理的小姨子的大师兄呢?忍了吧!”但组织变就这么定下来了。大家于是再次捡起协同软件,砍掉里面的并发流程,将所有流程都搞成串行的。这样一来,大家各就各位,相安无事。只有可怜的协同软件从此变成了“一根筋”!
我们的30年信息化进程中所谓的“流程再造”,看起来是把一些管理上的事情说清楚、搞定了,实际上和上面这个案例的性质是一样的。只要谈到流程,就一定要向时间妥协。但如果所有的制度都以时间为依据,管理将成为一场灾难。
2)工作流的时间起点。工作流软件既然以时间为序,就必然有一个时间起点,在此之前,事情在线下进行;在此之后,事情在工作流软件中处理。工作流的权威组织WFMC(Workf1owManagementCoa1ition,工作流管理联盟)将此特性明确定义入工作流产品的模型之中,如图29所示【23】(按WFMC原图重绘,中文为本书所加):
图29通用工作流产品结构(GenericWorkf1owProductStructure)
图29中,Bui1dTime和RunTime确定了工作流软件与现实世界之间的分界。
这条分界线有什么意义呢?让我们引用WFMC对此的阐述在这一阶段,业务流程通过使用分析、建模、系统定义等手段中的一种或多种,从现实世界被转化为一个正式的、计算机可以处理的清晰描述。(Duringthisphase,ahusinessprocessistrans1atedfromtherea1wor1dintoaforma1,computerpro-cessah1edefinitionhytheuseofoneormoreana1ysis,mode1ingandsystemdefinitiontechniques.)这种时间起点特性,决定了工作流必须有一个原始推动力,这个动力来自系统之外。就单一流程而言,首先有一个人为的触发,然后是工作流软件自动运行,最后得出一个结果。这看起来顺理成章。但如果在一个复杂工作中,有很多的工作流需要相互连接、嵌套才能达到最终目的,那么在每一个工作流的起点上,就都需要人工干预。
这种情况是相当被动的,协同活动极有可能因此而无法实现。复杂系统的理想状况是相对自封、主动推进、不由人工干预。为此,著名的工作流专家W.M.P.vanderAa1st在其著名的《Petri网应用工作流程管理》(TheApplicationofPetriNetstoWorkflowManagement)论文中以经典PetriNet理论为基础给出了WF-Net(工作流网)作为PetriNet理论应用于工作流建模语言的成果。请注意,这正是我们下一节将要阐述的“弹性工作网”的思想来源之一。
工作流的时间起点特性,使得组织管理中很多流程难以被纳入到软件功能之中。最典型的是组织的知识管理。由于对什么是“知识”难以界定,组织缺乏一个明确的行为起点(Bui1dTime),每个人都从自己的理解基点上展开行动,将信息当作知识存入系统之中,结果造成信息质量参差不齐,可用性差。
注:本文摘自由致远协同研究院出版的《协同+工作革命》一书中《中国企业组织行为绩效指标体系研究摘要》,转载请注明出处。申请试用致远协同软件,请拨打免费电话:4007003322。