程式設計師的生產效率:中斷、會議和遠端工作

jobbole發表於2013-09-03

  在上一篇《程式設計師追求的是什麼?》裡,我把在家工作放在了最後,有些人給在家工作的排名很高,網友 K 發了 Jason Fried 在 TED 的演講《為什麼不在工作辦公時工作?》,講述了我們為什麼很難在上班時間搞定所有工作。(編注:沒看過這個視訊的朋友,建議先看看;)

<embed>

  Jason 用他自己的觀察開始,說程式設計師需要一個很長的不被打擾的時間來搞定工作,然後推薦我們避免會議,通過聊天工具和email減少被打擾,而不是直接交流。雖然我同意他會議那部分的說法,但關於打擾我們可以考慮更多,而且我覺得面對面交流也比較重要。

  辦公室裡的相互交流

  Jason描述的辦公室工作畫面不禁讓我們會問:為什麼要在辦公室工作?老闆、同事、會議不停地打擾,讓我們的工作煩很難取得實質性的進展。為什麼不讓大家遠端工作呢?就我來說,主要的原因是軟體開發需要大量的協作。頭腦風暴、討論和提煉想法這些方式得到的方案往往會比自己一個人想到方案要好。而且,有白板的時候,我們可以畫一些東西來討論,這些交流在面對面的時候效率更高。雖然遠端的寫作儘量模擬面對面交流的場景,但是跟同一個房間裡和一些人討論的場景還是有區別的。

  Jason建議我們用被動交流(郵件或者即時通訊工具聊天)來替代主動交流(當面或者打電話)來避免打擾別人。這是一個避免打擾別人的很好的建議。但是在初始階段之後,面對面交談越快越好。文字的交流對於簡單的問題來說效果很好。但是如果問題有些不確定,談話的效率會高一個數量級。舉個例子,別人給我發個郵件,問“你是不是支援XXX功能?”,大部分時候回答肯定不是簡單的是或者不是。也許取決於已經有的功能,或者我們可以開發一個更好的YYY功能來替代。寫下這些會花掉很多時間和工作量。談話(面對面或者電話)讓我們可以即時互動而不用來回寫一些文字。

  好的打擾

  雖然我完全同意Jason說法,程式設計師需要一個相對來說比較長的不被打擾的時間來提高生產效率,但是有些情況還是可以接受的。如果有人遇到一個問題,而我恰好不假思索就可以知道答案,這樣被打擾我沒問題。當然我的效率會受影響,但是我們可以優化整個公司的生產效率。如果公司裡有幾個人被問題卡住了,最好是來問我,而不是從程式碼或者文件裡找答案。

  當有故障報告的時候,這也是一個可以被打擾的例子。在我的團隊裡,我們基本上沒有積壓的故障報告。我們盡力儘快搞定這些故障。快速回復客戶有幾個好處:客戶們還記得是什麼問題,這樣就很容易得到我們需要的額外的資訊,而且客戶也會覺得我們在乎他們。快速的反應,意味著不會積壓還沒有處理的故障,故障少的話,我們就很容易掌握尚未處理的故障的狀態。

  開會——低效使用時間

  說道開會,我同意Jason的說法:越少越好。會議一般會很低效的使用時間。以前我在愛立信工作的時候,整個研發部門每個週二十點有個站立會議。那個時間你肯定不會想做什麼新的東西,因為你知道馬上就會被打擾。知道接下來你馬上會參加一個會議,你做的工作會少於平時。沒有計劃的打擾會好點,至少你事先不知道。會議的另外一個問題是大部分的資訊其實可以輕鬆用郵件發給所有人。

  會議低效的另外一個原因,是有些人不用參加整個會議,所以一部分時間就浪費了。在Symsoft的時候,我幾乎沒有幾個會,我會走過去跟相關的人討論問題。沒有會議,只有直接相關的人被打擾了。這種方式比會議的開銷要少。

  沒有那麼難

  Jason說的那個地方真是相當的不爽,但是我們不一定要那樣。從來沒有經理很頻繁地跑過來問我現在的工作狀態,也許因為他們曾經也是程式設計師,知道盡量別打擾開發人員。我在Symsoft幾乎沒有會議,在Tilgin的時候也是一樣的。

  給軟體開發人員創造一個好的環境並不是很困難,我也會被打擾,但是那都是有理由的。我一個人的效率降低了,但是團隊的效率提高了。除了這些有理由的打擾,其他時間我都可以安靜地不被打擾地開發新的功能,或者修改bug。你呢?

  原文連結: Henrik Warne   翻譯: 伯樂線上 - 姚Justin

  譯文連結: http://blog.jobbole.com/46593/

相關文章