圖書信息
作者: 美Whitehead,R
譯者: 吳志明譯叢書名: 軟體項目管理系列叢書
出版社:電子工業出版社
ISBN:7505375237
出版日期:2002 年5月
內容簡介
本書從一個軟體開發團隊的領導藝術的視角,圍繞著在軟體開發進程中團隊領導將面臨的種種現實問題,分別就團隊的建設和領導、人際關係處理、壓力和衝突管理、項目計畫和決策制定等方面,以問答形式給予了切中要害的解答和切實可行的建議。所有這些建議均來源於作者作為譯名開發技術人員、軟體團隊領導的多年實踐和豐富經驗,伴隨著這些反傳統的、創新的深邃而睿智的觀點,很快你就能成為一名有效的領導者,就像你曾經是一名優秀的開發人員那樣。
目錄
叢書總序
譯 者 序
序 言
前 言
第1章新任領導
第1節 我剛當上了一個新項目團隊的領導
我剛當上了一個新項目團隊的領導,我該從哪兒入手呢?
第2節 我接管了一個正在進行的項目
我接管了一個正在進行的項目,我該從哪裡入手?
第3節 我是團隊中最有經驗的工程師
我是團隊中最有經驗的工程師,如果讓其他人設計和編程,他們都不如我做得好;如果期望我用所有的時間來寫文檔和計畫的話,我哪裡有時間做那些重要的設計和編程工作呢?
第4節 如何檢查別人的工作
我應該在什麼時候檢查其他人的工作?如何檢查?
第5節 我該如何主持會議
我該在什麼時候召集會議?我該如何主持會議?
第6節 我該如何進行面試
我要面試一個求職者,我該如何進行面試?
第7節 如何做演講
如何做演講?
第8節 我怎樣才能獲得團隊成員的尊重
第3章 人員領導
第15節 建設一個好的團隊需要做哪些事情
什麼是“團隊建設”?建設一個好的團隊需要做哪些事情?
第16節 我怎樣才能找到正確的領導風格呢
有時候我覺得自己是一個好好先生,對別人聽之任之;而在另外一些時候,我卻覺得人們因為我的干涉而怨恨我,我怎樣才能找到正確的領導風格呢?
第17節 面對專家型團隊成員我該怎么辦
我的團隊里某個成員是項目中某個重要方面的專家,而我在這方面知之甚少,我就像一個門外漢似的領導著這件事情,我該怎么辦?
第18節 團隊成員不願做設計或文檔編寫工作時我該怎么辦
我的團隊成員不願做設計或文檔編寫工作,他們只想編寫程式,我該怎么辦?
第19節 什麼時候我應該讓團隊成員按照自己的方式工作
什麼時候我應該讓團隊成員按照自己的方式工作?什麼時候我又應該讓整個團隊按照我的方式工作?
第20節 我和我的團隊應該每天工作幾個小時
我和我的團隊應該每天工作幾個小時?
第21節 我該如何獎勵出色的工作
我很想在人們幹得出色時表揚他們,但是這樣做感覺比較屈尊俯就,我該如何獎勵出色的工作?
第22節 我該如何處理團隊中的“問題成員”
團隊里有的成員確實是個麻煩人物,我該怎么處理?
第23節 怎樣留住優秀的成員
我知道有人打算離開,我怎樣才能留住他們?
第24節 如何處理團隊成員偷懶的現象
團隊中某個人花費過多時間聊天和上網,我應該怎么做?
第39節 採用單元測試還是最終測試
如果目的是要在最短的時間內發現最多的錯誤,我是應該集中精力於項目的單元測試還是最終測試呢?
第40節 怎樣保證產品的順利發布
我們即將向客戶發布產品,我怎樣才能確保這一切會順利地進行呢?
第41節 結論
參考書目
附錄 1 面向對象的概念介紹
附錄 2 uml的簡要介紹
附錄 3 幾種有用的面向對象技術
譯者序
從20世紀80年代以來,團隊及團隊建設一直是國際管理學界最流行的兩個術語之一。一方面,許多學者總結了自19世紀40年代以來的一些有關團隊的研究成果,提出了一些有關團隊成員角色理論及構建有效團隊的途徑和方法;另外一方面,從19世紀60年代以來,一些大企業順應外部環境的迅速變化,在企業內部採用團隊管理的模式獲得了巨大成功。這些因素導致了團隊及團隊管理模式的流行。
團隊是應組織外部環境及組織結構發生的變化而產生的。隨著組織結構的扁平化和柔性化的發展趨勢,為了適應不斷發展變化的外部環境、迅速對客戶的需求做出反應,組織中的很多工作需要以項目的形式來解決,需要組建臨時性的項目團隊。這樣每個人都可能會有充當項目團隊領導的機會。今天您是一個團隊中的成員,明天您就可能成為另外一個團隊的領導,因此是否能夠成為合格的甚至是優秀的團隊領導將成為許多人職業生涯中的新的挑戰。
初次涉足這個領域的專業人士頭腦中一定會有很多問號,在實際工作中也會遇到很多困惑:團隊領導往往不像傳統上的直線領導那樣具有組織系統所賦予的權力和權威,那么團隊領導該怎樣發揮自己的影響力呢?我過去是一個技術專家,而現在要面臨很多技術之外的事情,我該怎樣取得技術與管理工作的平衡?我的下屬很多人在技術方面比我更在行,我怎么才能領導得了他們呢?我該怎樣協調項目組成員、公司管理層、公司中的其他部門、外部的客戶等方方面面的需求和利益呢?……這許許多多的問題將會在《領導軟體開發團隊》一書中找到答案。
本書的作者在傳統及等諸多行業中,而且在從新興的高科技企業到大型跨國企業等不同規模和文化的企業中有廣博的經驗,近年來領導了許多軟體開發項目團隊,在團隊領導方面具有豐富的經驗。
通觀本書,有這樣幾個特色:
一是體系完整、觀點新穎。本書較為完整地向讀者展現了團隊管理中所涉及的工作內容,包括團隊的領導如何著手工作、如何進行項目的計畫和過程監控、如何建設項目團隊、如何獲取客戶的需求、如何解決項目進程中出現的問題並進行決策,等等;特別是關於團隊領導如何準確定位自己的角色、發揮領導應有的作用方面的內容,對那些新任團隊領導或者出身於技術專家、專業人士的團隊領導尤其具有參考價值。這些內容將啟發他們完成從專家到領導的角色轉換。全書中貫穿了以客戶為導向進行項目管理的思想,同時在項目團隊的管理中特彆強調了對人的管理,這些都是與當今世界管理髮展的大趨勢相吻合的,因此在實踐中具有重要的指導意義。
二是操作性強。作者本人具有極強的實踐背景,全書的組織是以一個新上任的團隊領導的團隊管理工作過程為脈絡的,涉及了大量的實際工作中的問題。書中的團隊領導所面臨的問題也是現實中的團隊領導所面臨的最普遍的問題。讀者在與書中的團隊領導共同思考和解決這些問題的過程中,必將提升實際的管理技能。書中還將一些重要的知識和技能以“信息欄”和“技能百寶箱”的形式呈現,令人一目了然。
三是行文簡潔流暢。本書不是學院派的理論著作,所採用的語言生動活潑,讀起來比較輕鬆愉快,讓您感覺是一個長者在對您進行悉心的指教。
本書雖然是以軟體開發團隊的管理作為實例,但其中很少涉及純技術內容,管理和解決問題的思路和方法具有跨領域、跨行業套用的可能性,因此本書不僅適合套用於軟體開發團隊的管理,對於其他行業的團隊管理也比較適用。尤其適用於以項目管理方式運作的項目團隊的領導。需要指出的是,本書不僅適用於在團隊管理一線的管理者,也適合學術研究工作者參考。
本書的翻譯得到了許多人的支持和幫助。在初稿的翻譯中,鄧園、郭久龍、王瑤平、李曉娟等翻譯了部分章節;其餘大部分章節由我本人翻譯;全書的譯稿由我統一修改審訂。此外,本書的翻譯工作還得到了武欣、常瑋、李華等人的熱情幫助。由於水平所限,難免會有錯誤和不當之處,懇請讀者批評指正。
吳志明
前言
2002年3月於清華園為什麼寫這本書
隨著軟體工程作為一個行業逐漸成熟起來,越來越多的人意識到:團隊領導(負責項目技術方向以及管理團隊中其他工程師工作的人)對一個軟體開發項目的成功起著至關重要的作用。
本書給軟體開發團隊的領導們提供了所需的幫助,使他們擔負起領導項目的責任。這是一本很實用的書,包括了許多已經被嘗試和檢驗過的建議和技術,能幫助領導們戰勝常見的問題,並帶領其他成員做出正確的決定,按時、圓滿地完成項目。
這本書是為哪些人寫的
本書是為那些工作要涉及到以下兩方面內容的人寫的:
* 需要做出有關軟體產品的結構、設計或編碼方面的詳細決策,或親自從事軟體開發工作的隊員。
* 領導、管理或監督開發軟體的人員。
本書尤其是為那些第一次領導軟體開發團隊的人,或者那些覺得自己與人相處的技能不如技術技能那么好,並感到在人際溝通方面需要幫助和指導的人寫的。
本書最適合於那些領導中型團隊(4~8人)的人。但從某種程度上說,它也可用於只有一個人的項目的領導,或者用於較大團隊的領導以及複合型團隊的領導。
本書對實習工程師來說也很有用。本書並不只是要教授管理理論,也並非介紹各個領域的最新思想。本書只是推廣那些在實際工作中已經證明有效的實踐經驗。
如何做一名軟體開發團隊的領導
一個真正好的軟體開發團體領導需要有很強的技術能力,同時也要非常善於發揮其他人的能力。團隊領導是一個獨一無二的位置,它既需要精細的軟體知識和技能,又需要超越細節,並具有更巨觀的視野。
領導團隊的方式對軟體項目的成敗有著決定性的影響。團隊領導決定著軟體的質量、技術決策的合理性、團隊精神以及團隊成員喜愛的激勵方式。
成為一名團隊領導迫使您從不同的角度看待軟體開發。作為一名開發人員,您工作的好壞是根據您所做的設計和編碼的質量來評判的。但是作為一名領導,則有兩種不同的評判方法:
* 由您的老闆進行評判。根據項目的完成速度、費用的高低、客戶或最終用戶的滿意程度來評判。
* 由您的團隊進行評判。根據您的決策合理與否、您與他人共同工作的方式來評判。
本書的目的是為了幫助您更好地完成以上的這些事情,從而使您從老闆和其他團隊成員那裡獲得更多的賞識和尊重。
領導軟體開發團隊是一項充滿壓力的工作,這項工作也存在風險。雖然它的壓力或風險可能不如帶領一個足球隊那么大,但是它也有同樣的緊張和壓力,您要設法滿足很多渴望獲得成功的人們,而且一旦做錯了就沒有重新再來的機會了。
並不奇怪,這不是一件人人都能做好的工作。但當您做好了這項工作時,您也就得到了更多的回報。一旦您成功地領導了一個項目,您就希望繼續做下去並一直保持成功。我希望這本書能幫助您獲取和保持成功。
本書是如何組織的
. 本書是圍繞著領導在每天工作中所面臨的現實問題進行組織的,例如,“我該如何起草項目計畫?”以及“我該如何贏得團隊的尊重?”。許多現實問題既有關於人員方面的問題,也有關於技術方面的問題,本書把這兩個方面結合起來,作為某個特定情景下的不同方面加以考慮,而不是當做完全分離的問題。
正如您從目錄中所看到的,本書的結構按照一些主要方面的問題集合起來。所以,必要的話,您可以從某個特定方面的問題開始閱讀。
各部分內容都是完整獨立的,並且當提及與其他部分和參考書目有關的內容時會加以指明,因此可以按照任何順序進行閱讀。
關於本書中的職位名稱,如“團隊領導”和“項目經理”
軟體行業沒有一套被廣泛認可的職位名稱。不同的公司中的職位名稱各不相同。本書中,我使用的是以下的職位名稱:
* 開發人員:那些做軟體開發工作的人。他們做出具體的技術決策,從事設計、編碼、測試、文檔編寫等工作。他們對自己所從事的開發領域負責,但不必對整個項目負責。
* 團隊領導:那些做出關於軟體項目的結構、設計、編碼等技術決策的人。主要負責整個項目的技術上的成功,指導和檢查其他團隊成員的工作,負責軟體產品的質量;有廣泛的、先進的開發經驗,或許要親自進行軟體開發工作;在一個小型項目中,可能也充當項目經理的角色。
* 項目經理:負責計畫、預算、與管理層聯繫、與客戶談判。可能受過技術培訓,但是不做開發工作;在一個大型項目或跨領域項目里,可能要指導好幾個團隊領導開展工作;主要負責項目按時、在預算之內交付。
* 軟體經理:開發人員的直接主管。負責招聘、解僱、培訓和發展員工;同時也負責工作程式和工作規範;為組織設定策略性的技術方向;是管理團隊中的一部分。
如果您的工作內容(或者您的部分工作內容)涵蓋了前面所定義的團隊領導工作,那么這本書就是為您寫的。不論您是被正式地授予領導職責,還是僅僅負有部分領導職責,這些都不是很重要。您的職位名稱也無關緊要。
這些職位的區別不是很明顯。大多數的團隊領導也做開發的工作。每個團隊領導都必須做一些計畫以及其他項目管理工作。本書中,我沒有按照由誰來做這些工作任務而進行區分,我只是想盡我所能給那些需要的人提供最好的幫助。