今天來寫人資年中績效流程真的跑起來之後發生的事。
先說基本上整個流程還算順利,但有幾個地方讓我很清楚感受到 我設計的是一條預設「大家都會照規則走」的流程,但人通常不會。
公平起見,也有一些例外是我事先就擋下來的:
這兩個處理起來相對單純,因為 它們都發生在系統看得到的地方。
接下來那三個,就不是了。
第一階段是請主管為每位下屬選定今年的評分項目。
結果截止的時候,有不少主管還沒選。
好在這裡我當初做了一個容錯:第二階段在產生評核表的時候,會先去讀「本期的項目」,如果某位員工不在裡面,就退回去讀員工總表裡「去年的項目」。如果連去年的都沒有,才請人資出面確認。
有趣的是,員工總表裡那幾欄「去年的項目」,就是我前一篇說的那個「不覆蓋原始資料」的決定。當初保留它,是為了讓主管在選的時候有東西可以參考;沒想到最後它變成了遲交時的備案。
一個為了 A 理由做的小決定,最後救了 B 情境。
但老實說,這比較像是運氣好,第一階段本身並沒有處理遲交這件事,主管沒選,系統只會在索引上標一個「截止未提交」,然後就沒有然後了。
跑到一半,數字對不起來:系統裡的員工比實際多一個。
回頭一個一個對照才發現,名單裡還有一位已經離職的同事。
這件事讓我很有感的地方是:系統完全沒有錯。 它拿到一份名單,就認認真真地為名單上的每一個人建表單、寄信、等回覆、發提醒。它不會知道那個人已經不在了,也不會覺得哪裡怪怪的。
系統會正確的出錯。
手動的時候,人資在準備表單的時候看到那個名字,大概自己就會跳過,但自動化之後,那個「看到名字、想一下」的瞬間不見了。
這件事我其實有預想到。
所以每個階段截止的時候,系統都會拍一次快照,並在那張表的最上面寫一行:「已於某時快照,之後修改不列入官方紀錄」。
結果還是有主管在交出之後,又偷偷回去改了。
問題有兩層。
第一層是技術上的:我設計的系統是 線性的 ,它在截止時間收一次、拍一次快照,然後就往下一個階段走了,不會回頭檢查已經收過的東西有沒有被動過。所以快照之後的修改,系統看不到,表面上一切正常,但下游用的資料,跟那位主管以為他交出去的,已經不是同一份了。
第二層比較重要:我以為寫了警語,就等於處理了。
但警語只是告知,不是阻止,看到「之後修改不列入紀錄」的人還是會改,又也許他沒注意到那一行,也許他注意到了但覺得自己的修改很重要,也許他以為改了總會有人發現。
所以這件事比「沒預想到」還更糟一點:我預想到了,但沒有想清楚。
我處理的是「讓大家知道」,而這個問題需要的,是「讓系統知道」。
寫到這裡我發現,這三個問題有一個共同點:
它們以前都是人資在「順手」處理的。
這些事情從來沒有出現在流程圖上,因為它們不是步驟,它們是人資在每一棒交接之間,順手做的那個「看一眼」。