标题：领导软件开发团队
图书信息
作者： 美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人）的人。但从某种程度上说，它也可用于只有一个人的项目的领导，或者用于较大团队的领导以及复合型团队的领导。 
本书对实习工程师来说也很有用。本书并不只是要教授管理理论，也并非介绍各个领域的最新思想。本书只是推广那些在实际工作中已经证明有效的实践经验。 
如何做一名软件开发团队的领导 
一个真正好的软件开发团体领导需要有很强的技术能力，同时也要非常善于发挥其他人的能力。团队领导是一个独一无二的位置，它既需要精细的软件知识和技能，又需要超越细节，并具有更宏观的视野。 
领导团队的方式对软件项目的成败有着决定性的影响。团队领导决定着软件的质量、技术决策的合理性、团队精神以及团队成员喜爱的激励方式。 
成为一名团队领导迫使您从不同的角度看待软件开发。作为一名开发人员，您工作的好坏是根据您所做的设计和编码的质量来评判的。但是作为一名领导，则有两种不同的评判方法： 
* 由您的老板进行评判。根据项目的完成速度、费用的高低、客户或最终用户的满意程度来评判。 
* 由您的团队进行评判。根据您的决策合理与否、您与他人共同工作的方式来评判。 
本书的目的是为了帮助您更好地完成以上的这些事情，从而使您从老板和其他团队成员那里获得更多的赏识和尊重。 
领导软件开发团队是一项充满压力的工作，这项工作也存在风险。虽然它的压力或风险可能不如带领一个足球队那么大，但是它也有同样的紧张和压力，您要设法满足很多渴望获得成功的人们，而且一旦做错了就没有重新再来的机会了。 
并不奇怪，这不是一件人人都能做好的工作。但当您做好了这项工作时，您也就得到了更多的回报。一旦您成功地领导了一个项目，您就希望继续做下去并一直保持成功。我希望这本书能帮助您获取和保持成功。 
本书是如何组织的 
.　　本书是围绕着领导在每天工作中所面临的现实问题进行组织的，例如，“我该如何起草项目计划？”以及“我该如何赢得团队的尊重？”。许多现实问题既有关于人员方面的问题，也有关于技术方面的问题，本书把这两个方面结合起来，作为某个特定情景下的不同方面加以考虑，而不是当做完全分离的问题。 
正如您从目录中所看到的，本书的结构按照一些主要方面的问题集合起来。所以，必要的话，您可以从某个特定方面的问题开始阅读。 
各部分内容都是完整独立的，并且当提及与其他部分和参考书目有关的内容时会加以指明，因此可以按照任何顺序进行阅读。 
关于本书中的职位名称，如“团队领导”和“项目经理” 
软件行业没有一套被广泛认可的职位名称。不同的公司中的职位名称各不相同。本书中，我使用的是以下的职位名称： 
* 开发人员：那些做软件开发工作的人。他们做出具体的技术决策，从事设计、编码、测试、文档编写等工作。他们对自己所从事的开发领域负责，但不必对整个项目负责。 
* 团队领导：那些做出关于软件项目的结构、设计、编码等技术决策的人。主要负责整个项目的技术上的成功，指导和检查其他团队成员的工作，负责软件产品的质量；有广泛的、先进的开发经验，或许要亲自进行软件开发工作；在一个小型项目中，可能也充当项目经理的角色。 
* 项目经理：负责计划、预算、与管理层联系、与客户谈判。可能受过技术培训，但是不做开发工作；在一个大型项目或跨领域项目里，可能要指导好几个团队领导开展工作；主要负责项目按时、在预算之内交付。 
* 软件经理：开发人员的直接主管。负责招聘、解雇、培训和发展员工；同时也负责工作程序和工作规范；为组织设定策略性的技术方向；是管理团队中的一部分。 
如果您的工作内容（或者您的部分工作内容）涵盖了前面所定义的团队领导工作，那么这本书就是为您写的。不论您是被正式地授予领导职责，还是仅仅负有部分领导职责，这些都不是很重要。您的职位名称也无关紧要。 
这些职位的区别不是很明显。大多数的团队领导也做开发的工作。每个团队领导都必须做一些计划以及其他项目管理工作。本书中，我没有按照由谁来做这些工作任务而进行区分，我只是想尽我所能给那些需要的人提供最好的帮助。