工作流项目实施经验总结(二)-- 系统基本功能讨论

工作流系统基本功能

         由于工作流审批系统设计企业管理的细节,并且企业流程都有其自身的特点及复杂性,因此,流程定义与执行,是工作流系统最基本的功能。以下详细讨论各个部分的功能,本人在今后在进行工作流选型时也会着重考虑,因为他关系着系统的生死,系统也可以给大家做一个参考。

流程定义

         作为完善的工作流系统,系统交付后,全部应交由甲方公司管理,那么经常变更的部分当属流程的定义部分。该功能应该可以满足一切管理人员在工作中遇到的流程相关的问题。在实际的使用中,个人认为最重要的功能点如下:

l  可视化

软件发展到今天,可视化是必须必的。但就像很多软件一样,在基本功能实现的前提下,用户体验的好坏决定了软件的成败。因为流程图也是在系统中用户可见部分之一,因此,流程图中,必须要有丰富的图形,来形象的表示不同功能的节点。但是很遗憾,本人使用的软件设计图作出的都是节点都是方块,并且除了文字以外,没有任何区别。

第二点就是流程跳转条件一目了然,由于系统中大部分节点都是根据流程图中定义的条件自动跳转,而有一些条件需要用户在提交或审批时手动选择的,那么,对系统中已经有的条件,需要明确的显示在流程图中,否则用户使用时,不清楚流程的流转方式,很容易造成迷惑。

在涉及到金额的表单中,大家看这样两个场景:

1)         总金额小于10万只需要经理审核,而大于10万需要CFO审核,大于20万时,还需要CEO审核。

2)         分录的金额小于1,000仅需要经理审核,分录金额大于1,000需要CFO审核,分录金额大于5,000需要CEO审核。

这样两个场景,在用户填写时,很难了解系统到底是判断分录还是判断总金额,稍不注意,可能填写的内容就要审批到CFO甚至是CEO,导致用户抱怨。我认为,在流程定义时,需要有适当的提示,对哪个字段进行了条件判断。同时在用户提交时,一定要提示用户下一个处理人是谁,为什么跳转到该节点,这样才是好的用户体验。

l  模块耦合校验

审批流程简单说就是各个级别的审批,这些级别定义在系统组织机构功能中。在流程设计时,不可避免的需要给节点指定特定的岗位或人员,比如CEO。但由于组织机构维护可能由HR来处理,而流程制作由系统管理人员(大部分是IT部门人员)负责,这就可能出现HR删除流程中已经指定的关键岗位。这个是系统完整性问题,在系统中一个模块引用了另一个模块数据时,应该有校验功能,并且在用户操作出现冲突时,系统给予明确的提示,否则系统会出现数据不一致的严重问题。

l  可进行版本控制

流程经常会表单,好的管理方式是对流程进行版本控制。这样有问题的时候可以回退或分析问题。做到这一点,比较简单的方式是将流程信息导出为xml文件进行管理。

l  流程设计与展示分离

由于流程经常变更或增加流程,那么在仅设计流程的问题上,不修改任何用户填写界面和展示界面的代码,尤为重要。否则,离开了开发人员,系统将无法维护。有几个比较典型的例子:

1)         对页面字段设置流程跳转条件时。

2)         增加签字人员时,表单中之前未设置相关人员的签字位置。

这两点系统都应该留出相应的接口和方法,而不是经常的去修改用户界面的代码。

流程执行

         流程执行是系统中最核心也是较复杂的部分,较简单的流程控制和政策性较强的约束,会让系统相当难以使用。本人公司使用的系统一期正向的有提交和审批,逆向的仅有退回和一键驳回。退回仅可以一步步的退,一键驳回相当于直接由审批人作废了表单,强制结束。由于真的过于简单,使用时非常麻烦,经常需要开发人员后台调整数据。其实实际使用中,逆向的功能往往是成败的关键。因此又有了二期的功能,增加了一些功能,改进了一些功能,才使系统可用性有了较大的改善,那么下面讨论二期之后的功能。

l  正向功能

ü  暂存

用户使用时,为了老板尽量少的审批表单,有些表单往往是希望一个月提交一次,因此需要每次的表单暂存,待一个月份结束后提交。在系统中统计后也得到这样的结果,大概70%以上的表单都是暂存后提交的。如果缺失该功能,那么用户可能需要用excel记录一大堆要提交的内容,非常不便。

ü  提交

提交是最基本的功能,那么也有一些细节是要非常注意的:

1)         正如上文所说,需要提示用户,系统自动的跳转条件及下一审批人的姓名等信息。

2)         当下一处理人有多个人时,需要提示用户,在什么情况需要选择哪一个节点和哪个人。该问题出现的场景往往是因为分公司较多,不同的人员负责不同区域的公司,那么理想的情况是系统可以设置人员与负责公司的对应关系,系统自动判断。但有些情况较复杂,那么应该将公司的政策性文本在界面中展示给用户,以便用户判断,否则用户还需要查找公司的规范,不方便使用。

ü  复制表单

由于一些表单填写内容较多,但每次变更的内容较少,因此系统需要提供复制已经提交过表单的功能。

ü  抄送

有些表单,比如休假申请,领导审批后,用户可能需要通知部门其他同事等相关人员,那么让表单在系统中传播,非常重要。

ü  加签

该功能为用户根据需要,在流程提交时,增加审批的节点。该功能本人觉得非常的重要和实用,可以解决很多子公司流程与集团公司流程不同的问题。

ü  减签

该功能为用户可以取消系统中已经定义的审批节点。本人觉得需要慎重使用,一般不建议系统提供,否则造成审批节点缺失,业务部门发飙,可不是闹着玩的。但是一些公司有些领导身兼数职,有些节点都是同一个人,这时,系统提供自动签批的功能就非常有用,一个可参考的规则就是:以该用户在审批流程中的最高职位为准,如果前面该用户需要签批,那么自动跳过。

l  逆向功能

ü  退回

该操作由审批人使用,目的是将表单退回给上一个用户。

ü  一键驳回

该功能与退回类似,区别为审批人将表单直接退回给申请人,由申请人决定是修改后继续提交还是结束重新提交。本人公司的系统,退回的表单修改后提交,还需要重新走一遍流程,这其实有点太过于绝对。个人认为,系统应判断表单中修改的内容是否为关键信息,如果关键信息被修改,则需要重新走流程,如果非关键信息修改,可以直接提交给退回的审批者。如果是仅仅修改几个错字就重新走所有的审批流程,工作效率比较低。

ü  撤销

该操作的功能为将已经提交但还未结束的表单撤回到自己的手中,申请人和审批人都可以执行该操作。人孰无过,知错能改,善莫大焉。

ü  作废

该操作由申请人执行。比如出差申请审批通过后,由于某种原因取消了,那么可使用该操作进行取消。

猜你喜欢

转载自congjl2002.iteye.com/blog/1692009