“考勤打卡”這個產品,你一點都不簡單

44 評論 22644 瀏覽 122 收藏 10 分鐘

上班打卡是大多數上班狗每天都會做的事情,打卡的方式多種多樣,很多廠商也有很完善的解決方案。這樣一個大家每天習以為常的動作,是不是讓我們都忽略了一件事——考勤打卡實際上是一個to B類型的產品,并且,其背后邏輯一點也不簡單。

一、打卡也要考慮戰略層

做產品的其實都知道,在設計一款產品時,我們首先要考慮的是,公司戰略是如何定位的?我這款產品在公司戰略中處于什么樣的位置?我的產品可以給用戶帶來什么價值?

對于打卡這個看似很簡單的產品,其實也要經歷以上思考。

首先我們來看公司層面,一個產品經理需要知道公司處在什么階段,公司內部的文化是怎么樣的,然后再決定自己的打卡產品的設計方向。

比如:一個公司處在高速增長階段,企業內部文化極具包容性,對員工的管制少,那打卡產品可以嘗試更多新奇的方向,讓大家要不能從打卡找到樂趣,要不就是在打卡/補卡這種操作上少浪費時間。反之,如果一個公司非常強調對員工的管控,那在打卡上也容不得馬虎,可能需要對打卡范圍和時間嚴格限制,甚至界面也要走嚴肅風。

其次我們要考慮用戶需求,打卡這個東西,是制度催生的需求,而不是員工自己的內在需要。所以,對于員工來說,打卡還是越簡單越好。比如考勤機排隊打卡就沒有用手機軟件打卡舒服,而用手機軟件打卡肯定沒有不打卡讓人心情愉悅。

做為一個產品經理,還是要在用戶需求和公司戰略中找到一種平衡,要在公司認可的情況下做到用戶體驗最好,說起來很簡單,但做起來非常困難,還容易出現兩頭都得罪的情況,需要產品經理好好把握。

二、不止打卡頁面

考勤打卡實際上應該是一整套系統,打卡只是其中的一個部分,可以看做是系統中的數據錄入的頁面,只有與其他系統結合,打卡這個頁面才是具有意義的。而這一整套系統的組成,大致有以下幾個部分組成。

為什么我會說,“考勤打卡”是一個復雜的產品

考勤系統的組成部分

首先是硬件設施,硬件設施的作用是對打卡數據的校驗。比如WiFi設備,只有連接上公司WiFi的手機才可以打卡成功,有的公司還有藍牙設備,只有進入到藍牙范圍內才可以打卡,這里就不一一列舉,所有這些都只有一個目的——讓員工的打卡數據更加真實。

其次是中臺系統,包括管理后臺、考勤狀態計算系統、薪資系統等。管理后臺提供員工行為的查詢、考勤規則配置等功能,是監督員工考勤狀態的重要產品。考勤狀態計算系統,名字有點拗口,說白了就是計算員工是否正常上班的系統,輸入的是員工的打卡數據,輸出的是員工的考勤狀態,如:遲到、曠工等,這個在下一節會詳細講到,里面的計算邏輯很復雜。

還有就是薪資系統,是通過考勤數據來算工資的,在不同公司不一樣,有的直接算到考勤系統中,有的是讀取考勤系統的數據,有的壓根就沒有這個系統。

最后就是跟用戶接觸的前臺頁面,有必備的打卡頁面,提供查詢功能的查詢頁面,還有為彌補忘記打卡而設置的補卡頁面,這三樣是不可或缺的。

所有的這些(可能有些公司接入系統更多),才是一套完整的考勤系統,是不是比你認知中的要復雜?

三、打卡場景其實很復雜

我的朋友琪總曾經就質疑過我:打卡這么簡單的事情,為什么你們老是說算不準呢?這可能也是很多人的疑問,這個答案其實很簡單,就是打卡場景過于復雜。

打卡的情況分為很多種,對于小公司來說,可能很簡單,但對于大公司來說,一個產品覆蓋所有打卡場景似乎是不可能的。就考勤的類型來說,大公司的考勤類型可能分為嚴格考勤、彈性考勤、開放考勤要打卡、開放考勤只打一次卡、開放考勤不打卡、內勤外勤等,而上班時間可能還要分為白班、夜班,更有甚者有一個公司的上班時間可能有五六種。

另外還有一個問題需要考慮的就是——加班。比如:一個朝九晚五的同學加班到凌晨,那他走的時候打的卡是算第一天的下班卡,還是算第二天的下班卡呢?

那你可能會說,我把下班卡的判定時間設晚一點,設定到凌晨五點前打卡都算是前一天的下班卡。很好,問題又來了,那如果一個人第一天下班忘打卡,第二天又來得特別早怎么算?

即使上面問題解決了,也還有一個同步時間問題,我系統不可能實時去算這些,因為全公司數據都跑一邊可能就要半小時甚至更長,在沒有更多資源投入到打卡上面時,只能選擇分時同步,但是這樣會造成信息同步及時的情況,所以這個同步的時間間隔需要設置的很巧妙。

對于這么復雜的場景,現在產品是如何解決的呢?答案是無法解決,打卡產品無法覆蓋到每一個場景,只能保證覆蓋到盡量多的場景。那些概率極小的場景,就隨他去吧,不必做過多糾結。

四、“防御式”產品設計

我們在做開發的時候會提到一個名詞——防御式編程,防御式編程是一種編程習慣,是指預見在什么地方可能會出現問題,然后創建一個環境來測試錯誤,當預見的問題出現的時候通知你,并執行一個你指定的損害控制動作,如停止程序執行,將用戶重指向到一個備份的服務器等。

我們在做考勤產品設計時,也應充分吸收“防御式”思想,對可能出現的問題做預見,并給出相應的對策,在考勤產品設計中,可預見的風險有以下幾種:

1)考勤制度突然變動

這種情況雖然不常見,但是我確實是遇到過,當時是通宵加班,才趕在考勤制度發布前上線。在這以后,我把考勤產品中的所有內容都做成了后臺可配置項,甚至連錯誤提示語都做了可配置,這樣在下一次這種情況到來時,五分鐘就可以完成所有修改。

2)員工使用不正當方式打卡

這里涉及到員工偽造打卡環境,代打卡等不正當行為,在產品設計之初,應與開發充分溝通,對此種情況能規避就規避,不能規避就在行為發生時告警,同時,打卡日志也要盡可能多的保留信息。

3)員工沒有考勤記錄卻宣稱打卡成功

這個是我經常遇到的情況,明明沒有打卡,卻非要說自己打了。對于此類事件,我們需要在將用戶的所有操作都記錄在日志里,比如我們的產品在用戶訪問到打卡頁面時,不管有沒有成功,都會做一次記錄,如果沒記錄,說明連頁面都沒訪問到,明顯是來扯皮的。

其實,防御式產品設計是為自己和用戶負責,而不是不愿意背鍋的無奈之舉,這一點需要大家認清楚。

說了這么多,總結一下,就是考勤產品其實比大家想象中的要復雜,而且沒有完美的解決方案,只能盡量做到更接近完美。

大家有什么問題或者想法或者質疑,歡迎評論區留言。

 

本文由 @王撼宇 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 最近剛剛接了個考勤的需求,簡單了解下邏輯,不是很懂這方面

    來自湖北 回復
  2. 還有博主說了考勤類型,考勤方式、不同角色部門打卡規則不同的的問題,其實是考勤類型(彈性打卡:滿足指定時長即可、嚴格打卡:固定打卡時間、)、考勤方式(人臉、定位)、關聯在一起;
    例如:創建考勤規則,包括但不限于:選擇考勤類型、考勤方式、適用用戶(按部門或角色關聯)
    這種方案設計具備很高的容錯率

    來自湖北 回復
  3. 我最近在做考勤:
    1、考勤的時間范圍不一定為00:00:00-23:59:59,例如研發經常加班,一天的工作時間可以為今天的凌晨4點到明天的凌晨4點
    2、在符合考勤時間范圍的第一條打卡應該為上班時間,最后一條打卡記錄則為下班時間,核心就是上班卡取最早的打卡,下班卡取最晚的打卡,舉個例子:A公司的一天的考勤時間范圍為第一天的00:04:00到第二天的03:59:59,那么在這個時間段的第一條打卡記錄為上班卡,最后一條打卡記錄為下班卡(這句話好像可以解決下面用戶的問題),如果在當前時間范圍之前的打卡則為前一天的卡,在時間范圍之后打的卡則為后一天的卡
    3、不同部門的考勤時間范圍不一樣,可以通過考勤時間關聯部門/角色,例如:研發部/研發人員為第一天的00:04:00到第二天的03:59:59,商務部/商務人員00:00:00-23:59:59
    4、考勤打卡的邏輯一般復雜,還需要考慮代打卡的場景出現,例如用戶A登錄用戶B的賬號去打卡,可以用黑白名單,常用設備綁定解決這個問題

    來自湖北 回復
  4. 手機打卡還好點,就算是半夜打卡,可以彈出提示是今天下班卡還是第二天上班卡,或者直接打兩次,但是我最近做的無感打卡,人臉識別的,人員每次進出就相當于打一次卡,半夜進出又不能讓員工設置是上下班,特別是保安部喜歡進出瞎逛,已經把我逼瘋了

    來自廣東 回復
    1. 哈哈哈哈,保安部喜歡進出瞎逛,笑了

      來自北京 回復
  5. 正在著手做考勤系統 感覺好多坑啊 求賜教

    來自山東 回復
    1. 那最后做得怎么樣喃,我最近也在盤這個

      來自湖南 回復
  6. 這個在下一節會詳細講到,里面的計算邏輯很復雜?這個有嗎

    來自廣東 回復
    1. 暫時還沒,最近太忙了,沒怎么更新了

      來自重慶 回復
    2. 可以關注公號交流

      來自重慶 回復
    3. 關注啦~期待下一節呀 正在做考勤 很頭疼 ??

      來自山東 回復
    4. 關注后,點擊菜單可以聯系到我

      來自重慶 回復
  7. 個人感覺過了下班點到凌晨12點前的卡就算下班卡,過了凌晨的就按照上班卡算,如果是加班到了12后第二天可提示補一個卡,在程序上盡量的避免這種打卡的沖突。

    來自北京 回復
  8. 王老師 能加個維新好友嗎 有問題想跟你請教一下

    來自湖北 回復
  9. 哈哈 所以之前我一直在想,凌晨12點之后的卡,要算上班卡還是下班卡。很遺憾,并沒有這個時候打過。

    來自重慶 回復
  10. 你的好朋友琪總為他的無知向你認錯 ??

    來自重慶 回復
    1. 本尊現身。。。。

      來自重慶 回復
  11. 我也做過,現在被釘釘,云之家他們給干死了···

    來自四川 回復
    1. 兄弟做得是商業化的產品哈?

      來自重慶 回復
    2. 對,不是自己用的

      來自四川 回復
    3. 哈哈,被巨頭干死,也是英雄

      來自重慶 回復
    4. 其實是管理有問題

      來自四川 回復
    5. 小白剛剛接觸B端就要做考勤 可以請教嘛 ??

      來自山東 回復
  12. 發現一件事情,打賞最低金額從5毛升到1塊后,就再也沒人打賞了

    來自重慶 回復
  13. 去年做了個考勤項目,就是因為場景考慮不全,客戶很不滿意。文章分析的比較全面,也指出了不可能覆蓋所有場景,只能從實際使用中不斷完善。

    回復
    1. 是的,我也是第一次做考勤項目,踩了很多坑

      來自重慶 回復
  14. 全面而有深度

    來自廣東 回復
    1. 過獎,經驗尚淺,還有很多上升空間

      來自重慶 回復
  15. 厲害 ??

    回復
    1. 周老師過獎

      回復
  16. 兄臺,不錯,正需要這個!

    回復
    1. 哈哈,最近在做打卡么?

      回復
    2. 是的,正在寫需求分析!

      回復
    3. 可以多交流交流

      回復
  17. 怎么可以避免忘記打卡呢?

    回復
    1. 1.避免忘記打卡:設置打卡提醒,打卡前以某種表現形式提醒用戶打卡;
      2.忘記打卡補救:設置補卡流程

      來自天津 回復
    2. 樓上說得不錯,但是避免忘打卡不太可能,除非做無感知打卡

      回復
    3. 無感知打卡,也就是自動打卡!但是存在可能app未打開,定位未打開等情況!

      回復
  18. 我個人覺得考勤打卡難做有兩點:一是用戶場景太復雜,考慮到的需求也就更多,比如這個部門可能工作日八點上五點下,周末可能九點上,四點下,而且上下班的打卡地點也有可能變化;或者部門領導不需要和普通員工走同一個考勤等等……考勤場景的復雜也讓需求要盡可能完善。第二點,市場大環境不景氣,釘釘和企業微信依靠平臺和能力占有了90%+的市場,真正想從這里分一杯羹,還是需要一些閃光點。

    來自天津 回復
    1. 是的,打卡這個其實很復雜的

      回復
  19. 另外還有一個問題需要考慮的就是——加班。比如:一個朝九晚五的同學加班到凌晨,那他走的時候打的卡是算第一天的下班卡,還是算第二天的下班卡呢?

    這里的后半句是第二天的上班卡吧?

    來自廣東 回復
    1. 對的,感謝指正

      回復
  20. 分析很到位,想的很全面

    來自河北 回復
    1. 到處踩坑啊

      回復