管理團隊環(huán)境
每天,我都不止一次地意識到,我外在和內(nèi)在的生活是如何建立在他人勞動的基礎之上,他們有的還活著,有的已經(jīng)不在這個世界上了;我也意識到我必須一心一意地努力,以回報我所接受的一切恩澤。當我想到我借用了別人太多的成果時,我的內(nèi)心就會因為這種痛苦而不再平靜。---------阿爾伯特.愛因斯坦
這是一個小測試。這段話和你對天才愛因斯坦的想像相符嗎?你能想到愛因斯坦對別人勞動的感激之情如此強烈嗎?
管理者一個非常重要的任務,就是創(chuàng)建并培養(yǎng)一個有適應能力的團隊。沒有這樣的團隊,任何一個軟件組織都無法建立駕馭自如型文化,或者超越未雨綢繆文化。
第18章 為什么是團隊?
當一組人共同執(zhí)行某個設計時,他們和一個管弦樂隊很相似,但絕不是團隊。對一個真正的團隊來說,要么有一個帶著鞭子的驅(qū)策者,要么有一個對立的團隊存在。在管弦樂隊中,每個演奏員-----(工人)都在詮釋-----(工作)----同一個樂譜------(設計)-----并且演奏各自的樂器----(應用專門技術)------作為專家在需要他們的舞臺上表演。
---------------------大衛(wèi).派
Ø 趨于完美的團隊
最容易看到團隊影響質(zhì)量的地方之一就是偵錯團隊。他們的任務是負責找到發(fā)生錯誤的位置,防止錯誤報告中的問題不斷循環(huán)地出現(xiàn)并且找人解決它們。這些沒完沒了的問題最常在反復無常型組織中出現(xiàn),在這些組織中,管理者經(jīng)常以建立更有效的偵錯團隊來達到立竿見影的效果。
1) 各種各樣的眼睛
要建立一個有效的偵錯團隊,你首先要做的是選擇多樣化的成員。多樣化對偵錯團隊來說異常關鍵------多樣的經(jīng)驗、組織中的關系,特別是多樣的思維模式。
2) 責任之旅
l 有了多樣化的團隊后,管理者的下一個任務就是把所有的成員召集到一個房間里,尋找一段獨立部分中的錯誤。
l 在面臨危機時,成立偵錯團隊是一個非常有效的管理手段。
l 把人們集中在一個房間內(nèi)處理問題,能激發(fā)希望和興奮感,另外,這種情感可以感染整個組織。
3) 平行和“比較”
l 有時,減少偵錯時間是非常重要的。
l “看誰先找到”這樣一種適度而友好的競爭被證明具有一定的激勵作用,只要它不失控。我把這個方法稱之為“競合”,意思是“競爭的合作”。
l 很容易就能指出各種秉性的人對待“競合”的態(tài)度。團隊建立者們會抵制該做法,因為他們害怕團隊一旦失敗會很尷尬。組織者會擔心兩個團隊致力于同一個問題所導致的效率問題。展望者有時會認為應該讓最好的團隊獨自去解決問題??墒?,到了麻煩解決者這兒,他們會非常喜歡這個辦法,因為這在工作之外還帶來一種做游戲的感覺。
Ø 技術評審團隊
糾錯過程的一個部分就是選擇一個方案。另一個部分就是對每一個提出的方案進行評審,以防止方案實施時出現(xiàn)大的副作用。
1)錯誤預防
在糾錯過程中,最大的失敗往往來自解決方案的副作用,或者解決其他問題時造成的新錯誤。
2)過程改進
l 評審通過直接發(fā)現(xiàn)錯誤來實現(xiàn)。測試則通過跟蹤運行失敗后面的錯誤來實現(xiàn)。兩者都用于改進產(chǎn)品,但評審還用于改進過程。
l 評審的過程本身也是個學習的過程。管理者還可以利用評審來改進評審之外的過程。
l 一旦感受到技術評審的好處,評審時間的安排就變得很重要了。較遲的評審會讓你有更多的機會找到目前為止發(fā)生的錯誤,也能找到更多的從前評審中的錯誤。另一方面,較遲的評審使找到錯誤的根源變得困難。而早期的評審能夠提高這種識別能力,這也正是評審的真正利益所在。因此,管理者可以通過盡早舉行的評審會來影響產(chǎn)品和流程的質(zhì)量。
l 有的管理者通過指責評審團隊來為繼續(xù)這個明顯缺陷的產(chǎn)品找理由。這是個很嚴重的錯誤。評審團隊的成員們是管理者而不僅僅是消息的來源。管理者的職責是要聽到信息而不是殺死報信的人。
3) 減少不確定性
l 技術評審最引人注目的效能(當與精心設計的機器測試一起應用時)就是它減少不確定性的方式。
l 對管理能力來說更重要的是,評審能夠減少質(zhì)量的不確定性和因此需要的測試時間。
l 評審是測試的一種形式。評審和其他測試一前一后地應用,能夠產(chǎn)生缺陷的系統(tǒng),并且在項目結(jié)束的時候減少機器測試的時間。
l 更微妙的變化是,當代碼評審的質(zhì)量提高時,產(chǎn)品的不確定性降低了。測試時間不確定性的降低意味著項目的測試階段更容易管理了。帶到系統(tǒng)測試中的錯誤數(shù)量的減少意味著測試時間變得更容易預測了,這又表明了更好的可管理性。
第19章 成長的團隊
1)可重復使用的工作單位
一旦我們設計了可用、可靠、并且可重復使用的模型集合時,我們就能夠降低成本,提升品質(zhì),并且提高軟件研發(fā)的可預測性。
2)維護團隊
l 關于可重復使用團隊的最強烈的觀點之一,就是它們已經(jīng)以維護團隊的形式遍布于組織之中了。不幸的是,許多管理者并沒有注意到表現(xiàn)好的維護團隊,他們恰恰就是最能被重復使用的團隊。
l 通過使用維護團隊,組織能確保重要系統(tǒng)不會因為某個人的離去而變得抵抗力下降。
3)通過改進團隊流程進行管理
l 通過改進團隊流程,個人的進步過程能被拓展至管理中。這個辦法是建立在多維共同創(chuàng)造的思想上的:
l 建立團隊并培訓他們互相吸取優(yōu)點的技巧。
l 分析表現(xiàn)最好的團隊和個人,弄清楚表現(xiàn)好的原因。
l 發(fā)展培訓和技術評審系統(tǒng),傳播這些優(yōu)秀的過程。
第21章 團隊的啟動和終止
直至面臨災難之前,沒人能真正了解自己;只有在危機時刻,我們才會知道自己真正的身份;許多人一生都認為自己很強,但實際上,他只是很安全罷了。---西德尼.哈里斯
l 管理者在團隊方面的任務是在需要的時候建立團隊,它能有效運行時就放手讓它發(fā)展,否則,終止該團隊。
l 在危機時刻成立團隊不是件普通的任務。當整個組織一片沮喪時,你可能需要一個有經(jīng)驗的推動者參加團隊的第一次會議。組建團隊時必須確保團隊每一分子有一些其獨特的作用。
l 對于一個長期團隊來說,在研發(fā)和維護過程中自然形成團隊比在危機時刻組建團隊要好。管理研發(fā)團隊的竅門不是項目一結(jié)束就解散它們。
l 現(xiàn)有的團隊也能成為變革的障礙。他們認為成立新的任務解決團隊會破壞他們現(xiàn)有的擠在一起的狀態(tài),或者害怕別人指責他們的工作沒有做好。
l 如果管理者放手讓團隊去發(fā)揮,運轉(zhuǎn)良好的團隊就會成為他最有價值的資產(chǎn)。真正的團隊比一般的管理者要強壯得多,不太可能被高層管理人員嚇倒。團隊的觀點更有分量。
l 項目落后的時候,真正的團隊不會慌亂。那些自己亂了陣腳,但卻不愿意看到團隊保持鎮(zhèn)靜的管理者們經(jīng)常要把他的慌亂傳染給團隊。然而,一個經(jīng)驗豐富的團隊通常會同化這位經(jīng)理的不協(xié)調(diào),鎮(zhèn)定地工作。
l 一個突然插入團隊日程的外部任務,會干擾團隊的其他工作。團隊可以通過任命專員的方式來解決這個問題,比如專門為客戶和高層做演示說明的人。總之,團隊在設計和實現(xiàn)任務優(yōu)先級別時表現(xiàn)很好。
l 團隊不可能自行解決每個問題。有時候某成員不能與他人合作因而必須離開。作為管理者的工作是進行干涉并且改變團隊的組成。
l 團隊成功的最大障礙來自某位個體的態(tài)度:“因為這是我的,我不容別人染指,甚至看都不能看一眼。”或者“這不是我的主意,所以不可能是最好的主意。”這種封閉的態(tài)度對軟件工程來說簡直就是災難。因此,堅決不能允許。如果你決心改變這種態(tài)度,典型的方法是換人。不是每個人都適合軟件組織的。
l 有時團隊因為無法識別的原因,或某幾個人的原因而喪失功能。這時,你應當介入并在警告無效后解散該團隊。
l 一旦管理者成立了一個團隊,他們就會自我生存,并可能在需要變革的時候很難被解散。因此,避免成立一個當沒有作用時你很難解散的團隊。當你創(chuàng)建了臨時團隊時,給他們一定的時限,時限結(jié)束后讓他們自己證明繼續(xù)存在的理由。
l 看起來失去功能的團隊也許會有你料想不到的其他功能。在解散他們之前,考慮他們其他的用處。