Wednesday, March 7, 2012

人的工作切換有害無益 - from 約耳趣談軟體

人的工作切換有害無益 - from 約耳趣談軟體

"夠了,別管CPU了,來管管人吧,這有趣多了。這裡的重點在於管理「程式師」時,工作切換會需要很長很長的時間。因為程式設計這種工作必須同時在腦袋裡記很多東西。另外記住的東西愈多,寫程式時生產力愈高。用全速寫程式的程式師腦裡隨時都會記住無數的事情:變數名稱,資料結構,重要的API,寫過常要用到的輔助函數名稱,甚至存放原始碼的次目錄名稱,一切東西都要記住。如果你把程式師送到克利特島去度假三星期,他所有東西通通都會忘掉。人腦似乎會把東西移出短期RAM,改存到永遠都讀不回來的備份磁帶上。

要多久呢?嗯,我的軟體公司最近放下手頭上在做的事(開發一套代號CityDesk的軟體產品),花了三星期去幫助某個客戶處理一個緊急狀況。當我們回到辦公室時,感覺好像要另外三星期才能回復全速製作CityDesk。

就個人層次來說,你曾經注意過某件事嗎?叫某人做一個工作可以做得很好,可是如果給他兩個工作,他會把其中一個做好卻忽略另一個,不然就是兩件工作都做得很慢,慢到你覺得懶鬼都比他勤勞。這是因為程式設計的工作就是需要很長的切換時間。就我自己來說,當我需要同時完成兩個程式設計專案時,切換時間大概要六個小時。以一天八小時來看,等於說多工處理把我的生產力降到每天只剩二小時。真令人沮喪啊。

同樣的道理,如果你給某人兩件工作,應該要感謝他們只做一件工作而放棄另一件,因為這樣能做好更多的事,而且平均上也能更快完成工作。事實上這一切的重點就是絕對不要讓人同時做一件以上的事。請確定你有明白它的意思。好的經理人會認為自己的責任是消除障礙,好讓大家都能專注在一件事情並把它真的完成。遇到緊急狀況時,請先想想能不能自己處理掉,真的不行再丟給深陷在專案中的程式師吧。"

.

1 comment:

  1. 說得真好!前幾個禮拜我可是五個專案切來切去呢~現在都忘了那時候在幹麻了XD~

    ReplyDelete