前面这么多场景,很多时候产品人员选择不断堆砌功能。如果观察到了考勤的本质,就不会一直在救火。
竞品分析
在知道有考勤模块的时候,就应该进行同业竞品分析,收集更全的诉求。以今目标为例,其考勤规则覆盖了上面讲的大部分:
- 考勤规则分为两类,按周循环排班和无规律排班,还可以根据国家法定节假日自动调整。也支持定点考勤(设置考勤范围)。支持考勤机设备,通过人脸或指纹认证(IOT);
- 表表齐全,打卡明细报表,按天的汇总报表,按月的统计报表;
- 兼容请假、消缺卡等情况。
根据上诉的信息,我认为考勤的本质诉求就是确认人在。用各种特性,辅助确认是本人在岗。因为只有人在岗,才能有可能开展工作。即便此时没有业务办理,对外也是企业的形象。前台人一直是空的,相信各位都觉得很奇怪。在此基础上,兼容各种异常情况(请假、调休等),进行灵活的审批处理。一般来说,考勤会影响到工资的发放。所以需要有统计类报表支撑月末回顾,快速定位问题。
所以,考勤模块应该具备以下几类能力:
是否本人
是否在岗
是否准时
是否持续作业
异常处理
报表统计
要从这些个维度出发,去进行功能的设计。以是否本人为例,首先账号密码也是一种隐藏的判定。假如加入虹膜打卡的诉求、乃至采血DNA验证的诉求,都在范畴内。这些判定策略应该是可以自由组合,而不是单一判定的。
打卡规划
以打卡功能为例出发,讲讲规划思路。
首先,要有触点,能让用户进行打卡。这个触点没有严格要求,APP、小程序、Web都行。打开页面的时候,需要将帐号信息给到规则解释器。解释器根据帐号信息,找到对应的考勤规则进行计算。计算得到的打卡规则给到考勤打卡页面,进行UI渲染、检测特征和约束。打卡和服务器有个交互,打卡成功后服务器应该返回打卡时间和状态。