Wednesday, March 7, 2012

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

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

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

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

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

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

.

Sunday, March 4, 2012

[進階文章] 約耳測試: 邁向高品質的12個步驟

約耳測試: 邁向高品質的12個步驟

"一套無責任的簡易方法來衡量軟體團隊的品質. "



.

邊開火邊移動 - Joel on Software

邊開火邊移動 - Joel on Software
約耳趣談軟體
約耳續談軟體

"我總會有時候什麼事都做不了.

我當然還是會去上班, 不過卻是到處閒逛, 每10秒就收一次信, 逛逛網站, 甚至做些付信用卡帳單之類不用動腦的事. 什麼都做就是沒法子進入狀況回來寫程式."

"或許這就是生產力的重點: 開始做吧."

"對我們這種小公司來說, 邊開火邊移動有兩個意義. 你必須爭取時間, 另外每天都得要前進. 你遲早會贏的. 我昨天整天只是把FogBUGZ的配色改善了一點點. 這並不要緊. 東西會愈來愈好. 我們的軟體每天每天都會變得更好, 而且客戶會愈來愈多, 這就夠了. 在我們變成Oracle這種規模的公司前都不用管什麼偉大的策略. 我們只要每天早上來公司, 想辦法要自己打開編輯器就好了."

(節錄自Joel on Software)



.

[C++] string 和 char[]互轉 (string and char[] transform)

[C++] string 和 char[]互轉 (string and char[] transform)

ps.這是師大同學逍遙文做的部落格
這部落格很用心地仔細寫下一些心得分享
歡迎去看看


.