在B端产品中我们经常会接触到工作流这个概念,接下来本文会和大家重点介绍一下工作流相关的一些概念和使用场景。本文会涉及以下几个概念:
状态机、工作流、动态表单、低代码平台
状态机
定义
状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。
这里举一个简单的例子,你汽车油箱要么是满的要么是不满的,不存在第三种状态。状态机模型就是用来抽象描述这个具体例子的。
要素
状态机可归纳为4个要素,分别是现态、条件、动作、次态。其中现态和条件是因,动作和次态是果。
(1)现态:是指当前所处的状态。
(2)条件:又称为“事件”,当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移。
(3)动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。
(4)次态:条件满足后要迁往的新状态。次态是相对于现态而言的,次态一旦被激活,就转变成新的现态了。
百科上针对状态机举了一个简单的例子:人有三个状态健康,感冒,康复中。触发的条件有淋雨(t1),吃药(t2),打针(t3),休息(t4)。所以状态机就是健康->(t4)->健康;健康->(t1)->感冒;感冒->(t3)->健康;感冒->(t2)->康复中;康复中->(t4)->健康,等等。
状态机和流程图
这里说明一下状态机和流程图这两个概念的区别。状态机用来描述一个特定对象的所有可能状态,以及由于各种事件的发生而引起的状态之间的转移。而流程图则用于表示完成某件事情中的各个活动过程,关键的是每一个步骤。
动态表单
动态表单
某种程度上来说,绝大多数信息化系统可以归结为表单+流程的集合。为了让开发人员把注意力集中在业务流程上来,也可以让系统操作人员参与到表单的管理,就出现了动态表单技术。
一个表单可以抽象为字段、数据和表现形式这三个元素。我们可以通过工具把需要的字段从字段库里拖出来,摆在合适的位置,选择交互的数据源,这样生成的表单就可以用来录入数据了。以上是动态表单的大概原理,实际应用中则非常复杂,比如表单布局需要考虑栅格,根据表单生成json数据等等。
可视化表单设计器
可视化表单设计器可以赋能企业实现低代码开发模式。可以随意拖拽来组成表单,表单样式可实时预览,自动生成代码。市面上相关的产品很多,有开源的也有付费版本的,感兴趣的读者可以自己研究一下。
工作流
定义
工作流是的定义是业务过程的部分或整体在计算机应用环境下的自动化,用通俗是话说就是一系列相互衔接、自动进行的业务活动或任务,也就是工作任务的流转,是对业务的流程化抽象。
工作流是一种思维方式,是我们描述客观世界的工具,具体的业务还是需要靠编程人员来实现。
优缺点
工作流的优点非常明显,包括提高企业经营的效率、提高企业资源的利用率,提高企业运作的灵活性和适应性、提高工作效率,关注核心业务,跟踪业务处理流程,量化业务处理效率,减少浪费,增加利润,充分利用现有计算机网络资源。
工作流的缺点是它的局限性,工作流可以很好地适应审批、报名这些比较固定的场景。而针对更为复杂或者个性化的业务场景,工作流就捉襟见肘了。
工作流类型
顺序工作流是指出按照规定步骤进行流动的工作流,它在完成一个活动之后会去执行到下一个活动。比如多米诺骨牌就可以看做顺序工作流,前面的牌倒了会砸向后面的牌,后面的牌也会跟着倒下来。
状态机工作流提供了一系列的状态。工作流从初始状态开始,到终止状态结束。两个状态之间定义行为进行过渡。通常情况下,状态机工作流对事件作出反应,事件的发生将会使状态发生改变。这里以员工报销为例,普通员工报销费用不超过1000元,则由部门主管审批;如果费用超过1000元,则需要由部门经理来审批。
工作流产品如何设计
工作流的设计比较复杂,本人应用的案例相对比较简单,下面以审批为例给大家介绍的一下核心的概念。
1.参与对象
最核心的是审批发起人和审批人,审批人可能有多个;发起人比较关心流程进度,审批人则希望审批操作尽可能简单。有时候可能还会有抄送对象的概念,和邮件中的抄送类似。
2.业务场景
比如请病假、加班申请、出差报销这些都属于业务场景。
3.审批节点
每个节点都表示一个参与对象,审批节点可能会有一个,也可能会有多个。
4.层级
审批层级是用来表示业务复杂度的,比如说员工入职审批,中间需要行政部门分配物品,信息部门开通相关账号。这些步骤是并行的,可以设置为一个层级,最终才汇总到行政部门归档,才算是整个流程结束。
5.表单
审批表单根据不同的业务场景需要填写不同的内容,比如事假审批选择的是未来的时间,而加班审批选择的是过去的时间。
6.通知
审批的流转需要使用通知来提醒参与对象获知进度,进行下一步操作。
7.审批操作
审批常见的操作主要有以下几种:发起审批、撤回审批(当审批发起人发现自己提交的数据有问题时,可以主动将审批撤回,修改后重提审批)、催办审批、通过审批、驳回审批、重提审批。
8.审批状态
审批状态主要包括待办审批、已办审批、已办结审批、我请求的审批、抄送我的审批。
工作流引擎
工作流引擎是指工作流作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。
工作流引擎包括流程的节点管理、流向管理、流程样例管理等重要功能。
JPBM、Activiti都是比较出名的工作流引擎。
低代码平台
定义
低代码开发平台是无需编码或通过少量代码就可以快速生成应用程序的开发平台。它允许终端用户使用易于理解的可视化工具开发自己的应用程序,而不是传统的编写代码方式。
低代码平台会用到前面提到的诸多技术,比如状态机,工作流引擎,可视化表单等等。市面上的低代码平台非常多,比如钉钉宜搭,简道云,伙伴云等等。
优缺点
低代码平台具备上手快、开发快、允许快和运维快等优点。但它的缺点也很明显,比如某些场景下效率比较低;只能在比较通用的场景中使用,比如OA审批,内容协作、报名表单等比较固定的场景。
在B端产品中,工作流是比较经典的业务,只有弄明白这些相关的基础概念,才能更好的使用并进行产品设计。除了查阅相关资料了解基础原理,更多的是体验竞品,梳理提炼核心业务场景。这些操作都有一定的门槛,背后隐藏的细节比看到的要多得多,如果能坚持下来一定能成为优秀的B端产品经理。