訂一間會議室,照理講應該是幾秒鐘的事。實際上常見的情況是:先想清楚要訂幾點到幾點,再打開訂房系統查哪個時段哪間房還空著,查到空的之後還要填好幾個欄位——公司名稱、人數、用途,每次都要重新打一遍。單看一次大概兩三分鐘,但一週要訂個幾次會議室,零零散散加起來,其實比想像中花時間。
這件事恰好完全不需要判斷——不用評估、不用挑選、純粹是手續,而純粹是手續的事,就最適合交給自動化去做。
這個系統的介面是電子郵件。寄一封信給自己,主旨寫「幫我訂明天早上九點到十一點的三樓會議室」,系統每小時掃一次信箱,用中文語意解析出時間跟地點,接著用瀏覽器自動化工具進到訂房系統完成預約,最後回一封信告知結果。
這裡用了一招:不透過點擊畫面上的按鈕,直接呼叫訂房系統背後真正在處理預約的服務,讀取目前所有預約、計算有沒有衝突、送出新增。比每次都模擬點擊按鈕穩定得多——點擊按鈕這種做法,畫面改版、載入慢個半秒,都可能讓程式點空,直接呼叫背後的服務就沒有這個問題。
業務規則直接寫進程式裡:會議室有固定的優先順序,如果所有偏好的會議室都滿了,系統不會自作主張換到別棟樓,而是回信詢問,讓人自己決定。這件小事能不能自動化、該自動化到哪個程度,答案就在這裡——訂房這個手續可以全自動,但「偏好的房間都滿了,要不要將就」這個判斷,還是留給人。
踩過一個很實際的坑:某台機器上的工作排程器沒辦法直接啟動這個常駐程式,後來改成讓程式在登入時自動跑一個常駐迴圈,放進開機啟動的資料夾裡才解決。
也有一個功能缺口要老實講:這支程式沒有做「取消預約」的功能,測試訂下去的會議室沒辦法自己取消,所以每次測試都要挑不會影響到別人的安全時段。
用電子郵件當作操作介面,是被低估的一種設計。同事不用學新系統、不用另外裝一個 App,在手機上就能直接用平常在用的信箱完成一件事。公司裡類似「訂會議室」這種小事還有不少——單次花的時間不多,但次數一多、累積起來就是實實在在的工時,而且這類事通常不需要什麼判斷,正好是最值得先動手自動化的那一塊。