2007年6月3日 星期日

A05 做事的方法(2)──Standard Operation Procedure

反應事件的程式經過測試後,可以保證事件發生時都會有同樣的處理。同一個人在同樣的情況下都不見得會有同樣的處理方式了,更何況換不同的人來處理呢?為了保證不管是誰,都能在指定的事件發生時有同樣的處理,因此產生SOP。

簡單地舉個範例,幼稚園老師面對一群還不會上大號的小孩一定不會一個一個教他們,而會公開宣布首先要脫褲子,再來坐上馬桶,然後排便,擦屁股,最後穿回褲子並洗手。可是不管講了幾遍,一定會有小朋友忘記或是把順序弄反了(譬如先坐上馬桶,排便,才脫褲子);最後老師把正確的動作順序寫成海報貼在廁所,要小朋友們依海報內容做事,這樣教的人不用一直講,使用的人也不會做錯,大家就跟著輕鬆囉。

可是有一天,小朋友回來哭訴說家裡沒有馬桶,沒法執行坐上馬桶的動作。這時老師就發現在這個動作時可能有一些例外情況,因此就加上例外流程:馬桶要用坐的,蹲式的要蹲下來,在野外的草叢要找隱密點的地方蹲等等。這些相關的程序也應該全部收集到SOP的文件裡。

一個有完整制度的公司,會先設想好所有的事情先行擬好SOP,所有的人員只要照章行事即可。那麼一個設計良好的系統,是不是也應該先依據所有的功能與事件,思考出對應的方式呢?當然,想出的方式如果直接變為可讀性差的程式,會使得除了你之外的所有人要再花時間回溯你的想法。

這些因應功能與事件流程的產出可以用文字檔記錄或是畫成UML裡的Activity Diagram收集起來作系統的正式文件。

沒有留言:

張貼留言