B端产品设计实战之审批流

23 评论 25363 浏览 150 收藏 10 分钟

审批流是我们经常遇到的问题,在进行审批流产品设计的时候,需要注意哪些问题?本篇文章笔者对此进行了分析说明,一起来看看吧。

无论是OA, HR,CRM,ERP 系统,审批流的是我们经常碰到的问题,比如说组织架构变动,请假,出差,报销,采购申请等等。那在面对一个审批流的时候,我们怎样来进行产品的设计呢?

我们拿一个大家在公司里面经常会碰到的休假申请审批来举例说明吧。比如说我们拿到了一些客户的需求:

  1. 公司A, 需要管理一下年假的申请,3天以内的年假只需要直接上司来进行审批,如果超过3天的年假需要二级审批,另外所有休假单子还需要管辖范围的HR的审批;
  2. 公司B,需要管理一下年假的申请,2天以内的年假只需要直接上司来进行审批,如果超过2天需要二级审批,超过5天需要三级审批;
  3. 公司C的需求比较简单,就是所有年假都只需要支持一级审批。所有超过5天的申请都需要通知一下HR人员。

…….

这种类似的需求非常正常吧,面对这样需求的时候我们怎样做出一个标准产品来满足所有的需求呢?还是说我们需要满足所有的需求吗?

这个基于不同的情况实际上最后判断的结果可能不同。

这篇文章就一般情况来进行分析说明一下,首先我们先来看看需求的内容,整体上面来说需求主要包括下面几个部分:

  1. 所有的需求来说,前面的审批基本上都是直接汇报对象来进行审批,只是基于天数可能审批的层级不一样;
  2. 针对A公司来说,需求有些不一样,一个是超过3天最后一级需要HR进行审批;
  3. 对于C公司来说,超过5天的申请需要通知HR人员。

对于需求1,笔者觉得问题不大,逻辑合理通用。对于第二,三个需求来说,我们需要支持吗?我们可以从下面的维度来进行判断:

  1. 需求的逻辑是否合理;
  2. 需求的价值有多大。

对于第二个需求来说,需要询问HR,现在三天以上的单子的频率是怎样的?在这个频率基础上面,如果业务部门审批通过,你们拒绝的概率有多大?

对于第三个需求来说,需要继续询问为什么要通知HR人员相关的几个问题,

通知到你们了有什么后续动作吗?是可能进行干涉吗?如果进行干涉,什么样的情况下才会进行干涉,怎么样进行干涉?基于公司现在的情况,干涉的概率和量为多少?

你们发现如果深究下去,对于第二三个需求来说,事实上通知HR以及让HR参与审批意义可能没有那么大,根本没有多大的可能性在业务部门同意休假的情况下,HR再来拒绝的情况,这样处理反而让休假申请审批的流程变得低效,而且单子多了HR自己也会觉得很烦(HR因为在业务部门之外,审批休假的动力还有实时性都会很差)。

HR需要的只是一个能够方便找到多少天以上休假申请的记录而已,如果有太离谱的情况,进行一下干涉。这样的话,可能在原来就需要的HR查询休假纪录功能的记录上面支持超过一定休假天数的检索就够了。

如果不问青红皂白,就来支持这几个小功能会有什么后果呢?你会发现这个功能并不是很小的功能,一个小的功能要成为逻辑完整的产品功能都不是很容易的事情。

这里面要注意几个点:

  1. HR可能是有管辖范围的,产品上面需要支持可以配置每个HR人员的管辖数据权限范围,如果要做成通用产品功能,可能要基于组织架构。这里的产品化配置功能会相当复杂;
  2. 如果配置HR的数据管辖范围是配在HR员工身上的,主要该HR离职或者调动的情况,要重新进行配置,有可能没有人记得去修改配置;
  3. 如果一些单子,该HR还没有审批,就离职的情况,这些单子怎样进行处理的问题;
  4. 如果一些单子,HR人员自己休假了,没有审批怎么办?

……

我这里只是举例说明了一些例子,你们就知道产品的减法有多重要,一点点的增加可能带来很多的复杂度。

如果实现一些逻辑不合理,或者低价值的功能,用户不会因为你实现了而感谢你,实际上他用的可能会相当烦,天天骂娘,然后因为不好用,又提了一大堆改善的需求或者解决方案,日复一日,年复一年,这个产品会这么样?

事实上如果你透彻的理解了产品功能实现的真实效果,是经常可以说服客户的。(关于需求优先级管理这块,大家可以参考之前的一篇文章:如果定义B端产品的MVP

通过需求梳理以及确认之后,我们发现需求变成下面的样子:

  1. 公司A, 需要管理一下年假的申请,只需要支持一级审批,HR需要方便的查看3天以上的年假单子。
  2. 公司B,需要管理一下年假的申请,2天以内的年假只需要直接上司来进行审批,如果超过2天需要二级审批,超过5天需要三级审批。
  3. 公司C, 所有年假都只需要支持一级审批。HR需要方便的查看5天以上的单子。

那我们看看主要需要哪几个功能:

  1. 休假申请,用户可以方便的提交休假申请,填写休假期间,休假类型,请假原因等;
  2. 休假审批,上级可以收到休假申请的通知,可以方便进行审批通过或者拒绝,拒绝需要填写拒绝原因;
  3. 休假查询,HR,经理,个人可以进行休假纪录的查询;
  4. 如果要做成标准产品,需要一个配置功能,可以配置对应请假天数的审批层级。可以基于客户来配置请假天数范围对应的层级。

然后我们来设计一下整个实现需要的数据库结果,需要包含如下的几个表格:

  • 员工表:员工编号,员工姓名,基本信息字段,汇报对象等;
  • 休假申请表:员工编号,请假开始日期,结束日期,假期类型,请假原因等;
  • 休假审批表:员工编号,请假开始日期,请假结束日期,审批层级,审批人,审批结果,审批日期,审批备注等等(多个审批层级存放多条记录);
  • 配置表:休假类型,天数,审批层级数等。

我们再来看看大致的几个功能页面:

对于所有的需求,所有的设计都没有标准答案,无论整体还是细节的设计都要基于各种因素综合来寻求最佳答案,笔者更希望能够基于一些基于简单典型案例的梳理,帮助大家找到自己思考的方法论。

 

作者:李东林(微信公众号:SaaS产品说;微信号:jianguzhuxin),原ADP大中华区产品负责人,14年To B研发与产品设计,团队管理经验,主导过多款大型企业管理软件的设计、研发、上线,也有过2年移动互联网TO C的创业经验。

本文由@李东林 原创发布于人人都是产品经理,未经许可,禁止转载。

题图来自Unsplash, 基于CC0协议。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 我觉得这里有点问题,客户A不是要求3天内一级审批,3天以上二级审批吗,为什么会变成“只需要支持一级审批”呢?

    来自广东 回复
  2. 大神请教个问题,审批流中,订单申请提交后未审核前可进行撤销,撤销后方可删除,为什么不可直接删除。

    来自天津 回复
    1. 我前段时间也遇到了这个问题,我想的是有些情况下可能只是需要撤回修改几个内容,如果只有删除的话,审批我需要再全部填一遍

      回复
  3. 好文,不过可能事实情况是HR部门觉得他们不审批没有活干,然后不接受这个方案

    来自北京 回复
  4. 你好能请教你一个问题么?
    一个审批流,开始状态是 “草稿” 可编辑删除 , 如果审批人审批驳回后状态是定义一个“驳回”状态还是直接打回“草稿”状态,如果定义一个”驳回“ 状态 又让发起可以编辑删除?

    来自浙江 回复
    1. 定义驳回状态,驳回状态可终止,不可删除

      来自浙江 回复
  5. 欢迎大家关注我的公众号saas产品说

    回复
    1. 你好能请教你一个问题么?
      一个审批流,开始状态是 “草稿” 可编辑删除 , 如果审批人审批驳回后状态是定义一个“驳回”状态还是直接打回“草稿”状态,如果定义一个”驳回“ 状态 又让发起可以编辑删除?

      来自浙江 回复
  6. 能别copy别人的文章?

    来自浙江 回复
    1. 这是谁的文章?拜托弄清楚一点。

      来自湖北 回复
    2. 张口就来?

      来自广东 回复
  7. 我不要你觉得我们需要什么,我们要什么你就做什么。。。哈哈

    来自四川 回复
  8. 这个是大佬

    来自江苏 回复
  9. 给大佬打call

    来自广东 回复
  10. 必须叫大佬

    回复
  11. 论如何从乙方产品经理成为甲方CEO

    回复
  12. 甲方爸爸不是白叫的

    来自福建 回复
  13. 挺好,写了些workflow基础的东西,workflow对B端而言属于日常工作之一了,流程还会涉及到调整,所以也会有后台流程的调整。
    workflow基础就是表单+流程+审核角色+执行结果回收。

    来自江苏 回复
  14. 大佬。写文章浪费时间,你不要写了

    回复
  15. 我就做过这种需求,道理客户都懂,但是别人是给公司流程配功能的,不是给功能配公司流程的,你不按照公司流程做功能人家不会用的。

    来自浙江 回复
    1. 赞同

      来自广东 回复
    2. 产品化和定制化的思维方式有差别,一看咱们就都是做乙方做惯了的人 ➡

      来自吉林 回复
    3. 客户之所以不用钉钉,就是因为钉钉没办法满足他们的个性化需求,你的产品比钉钉还少东西的话,别人没理由用你的产品的。这个就是真实的市场,不是自己yy的。

      来自浙江 回复