我常簡單的把人的腦袋與 CPU 做類比,每個人只有一個腦袋瓜,你可能以為你同時間只能做一件事,也許你很訝異為什麼有人可以同時做很多事情,或是對於日理萬機的大老闆感到好奇。有的人神經緊張,工作時沒有辦法聽音樂,也不能容忍旁邊同事一直再講電話;有的人你跑去找他問事情,他正在寫電子郵件,他請你繼續講,你邊講時他邊一直在打字,但你發現你講完他居然可以立即回應你,怎麼他可以一心多用?
一心多用是個好比喻,對於單核心時代的 CPU 其實他也只是一個核心可以多用。但是如果把時間放大到每一秒,甚至是每 0.5 秒、每 0.1 秒、每 1 毫秒....你將會發現事實上在那麼小的單位時間裡,CPU只能處理一個運算單元,而能一心多用的人其實也只是在思考一件事情。在打字的那位同事,仔細觀察一下,發現在跟他講話之前他的打字速度大概是每分鐘 60 字,當你在講話時,他打字速度些微減慢了,變成每分鐘 40 字,其實他是切割出來一些時間聽你講話,再切割出來一些時間思考你講的是情。
換個比喻,假設你是飲料店的資深員工,店裡所有的飲料你都熟知如何製作,有的商品很耗時,例如咖啡要比預先泡好的綠茶耗時,而現炸西瓜汁看似時間短,步驟卻比咖啡更複雜些。
一早開店後來了個客人點了綠茶,從茶壺裡倒出來然後上蓋拿給他只要 10 秒鐘。接著的客人點了杯咖啡,按下咖啡機的暖機加壓鍵,將咖啡粉倒進濾杯然後壓實,旋進咖啡機裡,到這裡花了15秒,等候咖啡機暖機完成壓力到位,又等了20秒,按下沖煮鍵,等咖啡沖煮完畢,加水稀釋、加糖、加奶、上蓋,拿給客人,客人前前後後等了 60 秒。下一位客人點了西瓜汁,真是難得,有人一早就喝西瓜汁,西瓜先前已經每顆切四份然後上保鮮膜已保新鮮,要榨前要再略微切小塊些,切西瓜花了 10 秒,丟進榨汁機,加些許水,開啟榨汁鍵,等候 5 秒,關機,倒出榨好的西瓜汁,但要過濾過粗的渣,這比較花時間,等待過濾需要約 10 秒,過濾完畢,上蓋,交給客人,總共 30 秒。
於是,三種主要飲料花費的時間為:
種類 | 總製作時間 | 分段時間 | 總閒置時間 |
綠茶 | 10 秒 | 10 秒 | 0 秒 |
咖啡 | 60 秒 | 15 秒 + 20 秒 + 25 秒 | 20 秒 |
西瓜汁 | 35 秒 | 10 秒 + 5 秒 + 10 秒 + 10秒 | 15 秒 |
如果說接著來的四位客人依序點了咖啡、綠茶、咖啡、西瓜汁,照 FIFO (First In, First Out) 的方式依序製作這些飲料的話,那麼共需費時60 + 10 + 60 + 35 = 165 秒。但更聰明的方式可以只花費 120 秒,其步驟如下:
也許還能有更短的時間,但是讓先點餐的客人等待太久也是不太好。
在現實的辦公場合理,其實也常常遇到類似狀況,原本在處理的一個大案子,總的得花四小時才能處理完畢,但中間其實有些等待時間,有些狀況是必須連貫的處理四小時。然而,臨時主管來了個小任務,有新案子要評估,需要你確認一下該案子的類型與預期的工時,這大概會花你 30 分鐘,你是要讓主管等 4 + 0.5 小時後你才給他報告,還是你在前面的任務裡稍微中斷一下挪出 30 分鐘完成分析報告,於是主管只需等待 2.5 小時?
類似上面綠茶的例子,綠茶明明只需要 10 秒鐘就可以完成,甚至可能更快,如果先前的作業有閒置時間,那麼其實可以先做綠茶,就算先前的作業完全沒有閒置時間,但若是時間相當常,假設客人點了個需要花 2 分鐘才能完成的飲品,在這 120 秒鐘打斷個 10 秒鐘先做綠茶會不會比較好?也許有些人會認為讓先到的客人額外多等 10 秒鐘是不道德的,這就另外在討論了。
工作場合上,有時前項任務的截止時間其實還早,例如下班前要完成,那麼在下班前四小時就交付,與下班前三小時交付,其實某種角度來說意義是一樣的,也就是說有些狀況之下,某些任務會變得較不緊急(略低的優先度),即使他的重要性很高;有些重要度高並且也緊急的自然應該先處理。
有更多時候實際狀況更加複雜,同時好幾項任務在進行中,並且都在不同階段。某項任務是專案的前期分析,因此所有的疑點與問題必須儘早發現並提出討論與確認;某項任務是專案的執行階段,雖近似於例行姓事務,但必須確保交期;某項任務則是在發包階段,下游廠商正等著發包。
輕重緩急,對應著簡單 / 複雜;短時間可處理 / 需較長時間完成;尚有相當多餘裕 / 必須儘早完成。要說是二維的思考也好、三維的思考也好,總之很多時候其實可以將時間稍加切割,可以更加靈活的運用時間,而不必拘泥於 FIFO 的刻板思惟。
0 Comments:
張貼留言