多任務讓你走得更慢

>>>  技術話題—商業文明的嶄新時代  >>> 簡體     傳統

 英文原文:Multitasking Gets You There Later

  作者:Roger Brown 譯者:鮑央舟 發布于2010年8月31日

  現代商務依靠多任務來完成工作。評價員工也基于的他們多任務能力。IT業人員會被例行指派到多個項目中去。我們是經常在這樣做嗎?多任務起作用嗎?多任務的真正影響是什么?有別的選擇嗎?

  這里老詞重提一下“單任務”,它代表了我們在多任務之前所習慣的軟件工作方式。在這里的“多任務”,指的是“工作在很多項目上”。現代商務把它稱作“多任務”,認為它是一種更有效提高工作輸出的策略。其實,不止工作,我們在日常生活中也會小規模地多任務。這兩者在做法和后果上都有相似性。

  一個不同的角度

  當我們向新人介紹敏捷(或Scrum)時,最大的絆腳石是讓他們理解團隊成員在全職專注于團隊工作時,工作效率要高得多得多。這并不是新聞。多年來,我們通常召集“飛虎隊”和“特警隊”,在危機的時候解決特殊問題。然而,我們的組織更喜歡把“技能筒倉”中的人同時指派到多個項目中去。現在,這是同時處理大量事情的真實解決方法。人們認為這是最有效的“稀缺資源”使用方式。也就是人數不夠,但都有專長。

  敏捷模式與之完全不同。我們組建團隊,在同一時間專注在一小組事情上。我們并不是先創建工作然后轉移人手到不同的工作中,而是先創建團隊然后轉移工作到不同的團隊中。我們是拉動而不是推動。

  改變是困難的。用另一種不同的方式做事需要一個清晰的目的、對獲益的遠見以及勇氣。所以抵抗是自然的,人們在周圍事物開始改變時感到不安全。如果我們可以轉換到精益思想,就可以借用“尊重他人”和“持續改善系統”來定義目的,期待收益,并走出改進的第一步。很多人聽說過“精益”,也想過如何改進我們正在做的事情。其實,精益也告訴我們,如果停止做一些低價值的事情,可以消除更多浪費。

  多任務的成本

  工作在多個項目的人,在每次切換任務時都需要額外成本。主要的成本是切換上下文所需要的時間。我們知道像接電話這樣的小中斷也需要15分鐘的時間來恢復。任務越復雜,切換所需要的時間越多。

  如果你工作在超過兩個項目上時,成本會更高。可能你上次工作在某個項目已經是很久以前的事了,那就需要費更大的勁來回憶起離開的那一點。而如果你頻繁切換,那轉換環境的時間就會占掉你大部分的工作時間。

  有研究顯示人們對切換小任務很在行。在短時間范圍內的切換,似乎和我們的兩個大腦半球有關。在一定程度上,我們可以并行處理兩個獨立任務。對大的切換,我們應該考慮切換成本。Jerry Weinberg展示了逐步上升的上下文切換成本。這個模型假設每次切換會有10%的損失,事實上成本常常比這個更高。

圖 1

  當一個人屬于一個團隊時,無論是松散連接的傳統項目團隊,或者是有重點的敏捷團隊,都會有復雜的切換成本。當一個團隊成員離開去做和團隊工作無關的工作時,團隊都會遭受那名成員缺席的困擾。當那名成員回歸時,團隊需要花時間來幫助他趕上他缺席時的開發任務。

  敏捷也多任務?

  你可能會說:“但是……等一等……”敏捷團隊是跨職能的,團隊成員每天都忙于各種活動中。這包括詳細描述需求、分析、設計、測試、編碼。那不是多任務嗎?要回答這個問題,必須考慮上下文的范圍。在問題和技術間的大范圍跳躍需要更多的切換時間。大腦在一點一點切換活動時不會有問題。作為一個有聚焦重點的團隊,所有的每日活動都以一小部分功能和技術為目標,在一個時間只工作在少數的故事上。即使活動的范圍多樣,上下文的變化也是有限的。另外,敏捷有一些實踐來保持聚焦:協作、任務板、自動化測試、回顧。上下文的大跳步才會產生問題:比如轉至其他項目、其他合作人、其他干系人。

  多任務神經學

  人類大腦對內部多任務很在行。其實它每天都在這樣做。甚至晚上也一樣。很多大腦部件一直在交互或單獨工作。不然,我們就不能應對復雜的環境。大部分多任務是下意識的:過濾掉感覺輸入、綜合相關信息、把短期數據轉化為長期記憶、保持心肺運轉等等。

  而且我們也在對外多任務:開車時聽著交通報告想著行車路線,做晚飯時講電話,為花園除草時計劃假期。 一些類似疊衣服、走路等任務是機械性的,不需要切換成本。其他任務像敲擊鍵盤瀏覽文檔、重命名一個方法,經過一段時間也會變成機械性的。但是軟件開發工作不是那么簡單的。雖然很多自動性多任務運作良好,它也會有限制。

  現代的多項目任務分配造成的上下文切換,產生了潛在的重復精神勞動。人腦有兩種記憶:短期(工作記憶)和長期。雖然,有機制使信息在兩者之中轉換,但是不能保證所有東西都被轉移了,也不能保證進去的信息和以后出來的信息是一樣的。我們每次重播記憶的時候,都在不斷編輯它們。而新信息必須在短期記憶中存儲一段時間才能被轉移到長期記憶。比如說,考試前的填鴨式復習可能會給你更好的成績,但是兩周以后你幾乎不會記得那些材料。與此相似,你可能不會記得上下文切換前你做的最后一件事情。而這應該會是你回到項目后最想要知道的。

  研究顯示很多多任務的方式是低效的,甚至有害的。考慮以下信息:

  • 有證據顯示多任務事實上會使短期記憶退化。這不只是因為多任務的主題,而可能是大腦區域受到影響。多任務會造成壓力,壓力會調用大腦中關于個人安全的原始區域,進而從高級思維區域中獲取能量。壓力也會損壞新記憶所需要的細胞。
  • 我們多任務的時候更傾向于犯錯,所以我們的工作質量會下降。這當然會增加項目的成本,因為這些錯誤需要被糾正。
  • 大腦的一些部件是順序處理器,每次只能接受一個輸入。
  • 前額葉皮層是大腦進行復雜認知和做決定時使用最頻繁的部分,也是大腦中最消耗能量的部分。多任務產生的附加壓力會導致認知能力的快速損耗和更頻繁的修復需求。

  敏捷團隊的單任務

  在敏捷環境下,如何減少個人的多任務量呢?我們之前提到了一些方法。更多肢體運動的環境可以使大腦中更多的部分參與其中,致使更快速更完整的信息綜合。更專注的工作使上下文范圍狹窄。人際交互,以及ScrumMaster推動的一些交互可以幫助保持這種專注。

  一些現代的技術實踐能幫助增強專注力:

  • 測試驅動開發幫助短時內專注在小范圍的技術工作中
  • 持續集成在構建和測試失敗后立即給予關注,以此來增加專注力
  • 結對編程幫助兩個人專注在一小部分的代碼上

  組織中的單任務

  反對多任務的意見已經存在很久了,然而現代企業文化已經習慣于這種形式的“負載平衡”,以獲得對人力“資源”的最有效使用。我們從一些松散的技能團體中召集一個團隊,每個人在一個時間在幾件事情上兼職。你能構建一個高效的兼職人員團隊嗎?或者,是不是我們已經認為讓每個人都很忙才是更重要的?

  學習中最難的部分之一是忘卻當前的行為。這一點對組織和個人都成立。跳出我們現在所做的行為,思考哪些行為可以讓我們工作得更好,這一步精神飛躍,是很難做出的。這里有一個簡單的論點也許可以幫助引導改變,不止使人的改變更容易,而且也有重要的經濟意義。

  圖2中顯示了4個人工作在3個短期項目中的簡單場景。更多的人或者更大的項目,也是同樣的動態。在第一個場景中,人們在4個項目上多任務。

圖 2: 多任務的個人

  圖3中顯示了第二個場景,一個團隊中同樣的人順序完成所有的項目。這個場景保守地假設了成立團隊沒有生產率的提高,減少上下文切換的數量也沒有生產率的提高。注意到所有3個項目都在同一時間完成,但是這個場景中2個項目更早地完成。想象一下由此產生的經濟利益。

圖 3: 成立一個團隊順序做項目

  考慮上下文切換的減少,以及由于團隊協作而獲得10%的生產率提高,我們可以期待所有3個項目都能提前完成,如圖4所示。

圖 4: 由于單任務和團隊協作而縮短的時間表

  Johanna Rothman在“管理你的項目組成”中具體介紹了這個話題。

  多樣性是生活的調味品

  所以,很清楚,多任務是有害的,我們永遠不應該這樣做,是嗎?那我們如何調和“多樣性是生活的調味品”這一思想?腦部研究顯示,新奇性是有吸引力的。它會產生多巴胺,這是一種神經傳遞素,會使我們想要更多。對此的解答與專注力和范圍有關。如果上下文的切換很大,多任務會對個人和他們的合作者造成代價。如果切換比較小,可以順應思路,那就會工作得比較好。在敏捷團隊中,我們可以通過彼此學習來得到足夠的新奇性,也會從完成項目和成功中得到其他好感覺的神經傳遞素。

  總結

  項目間的上下文切換需要時間,這對組織來說是成本。涉及項目越多,或者項目越復雜,那成本也會越高。如果在一個時刻專注在一件事,堅持一段時間,工作效率就會提高。通過組建團隊來順序處理項目,我們可以減少上下文切換成本,也可以從團隊協作中獲得更多收益。


InfoQ 2012-06-12 01:57:25

[新一篇] 李善友:為什么外企里的人不敢創業?

[舊一篇] 李喆:程序員到底怎么了
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表