程序員的生產效率:中斷、會議和遠程工作

jopen 11年前發布 | 5K 次閱讀 程序員

  英文原文:Programmer Productivity – Interruptions, Meetings and Working Remotely

  譯文鏈接

  在上一篇《程序員追求的是什么?》里,我把在家工作放在了最后,有些人給在家工作的排名很高,網友 K 發了 Jason Fried 在 TED 的演講《為什么不在工作辦公時工作?》,講述了我們為什么很難在上班時間搞定所有工作。

</p>

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

  辦公室里的相互交流

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

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

  好的打擾

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

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

  開會——低效使用時間

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

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

  沒有那么難

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

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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!