团队制胜——掌握软件项目成功主动权
分類: 图书,计算机/网络,软件工程/开发项目管理,
作者: (美)而鲁斯欧 著,聂雪军 等译
出 版 社: 机械工业出版社
出版时间: 2009-1-1字数:版次: 1页数: 275印刷时间: 2009/01/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787111255055包装: 平装编辑推荐
优化软件开发中的人力因素
基于真实数据和经验的解决方案
如果希望在软件团队中推动一些行之有效的变更或者施以更大的影响力,那么有两种选择:一种选择是自行对各种技术进行实验,在黑暗中摸索几年:另一种选择就是购买本书,阅读并且应用书中所给出的技术。当然,究竟如何选择,决定权在于你自己。
——Matthew Heusser
Jim Brosseau对于IT工作环境中各种驱动因素的真知灼见在本书中得到了充分的体现。对于提供盯解决方案的开发人员和管理人员来说,他在书中给出的见解不仅能促进项目朝着更好的方向发展,而且能使工作本身也变得更为轻松。
——Bruce AStewart,Accendor Research公司CEO
本书是一本令人信服的、全面创新的以及切实可行的指导著作,它能够有效地改善在构建优秀软件中的一个重要方面——人力因素。 通过与众多团队的多年合作,作者在书中阐述了如何通过小规模的、立竿见影的变更,来逐步推动大型的改进工作。这些变更针对团队整体来设计,充分考虑现有的组织文化。此外,作者还提供了每个人都可以立即付诸实施的方案,而无需等待管理层来推动。
无论采用何种方法,技术或者组织结构,通过阅读本书,你都能够掌握如何将各种解决方案应用于实际的开发环境中,这些实际问题往往涉及错综复杂的利益相关者。作者还与读者共同分享了在面对项目管理软件方面的问题时,人们的态度、动机和人际关系方面重要的新观点。
本书是一本启示录——对于每个项目团队成员、领导者以及利益相关者来说,它是您工作中的一份宝贵的参考资源。
内容简介
本书介绍在软件开发过程中团队之间如何实现高效的合作。本书从个人、团队和利益相关者等三个方面进行组织,讨论主题包括个人、质量、责任、主动性、可持续性、沟通、动机与期望、合作、一致性、组织、协调、指导、客户、目标设定、规范、优先级、变更等,基本上涵盖了构建高效团队合作的各个方面。
本书适合软件开发人员与管理人员参考。
作者简介
Jim Brosseau,自1980年以来一直在软件行业中工作,从事过测试、开发,担任过项目经理以及讲师。他在嵌入式电子设备、ATC系统和商业软件包等领域有着丰富的开发经验和管理经验。Jim是Clarrus Consulting Group公司的负责人,自1998年以来,为世界各地的众多组织提供咨询服务,帮助他们改进交付软件的方法。他在Cutter IT Journal杂志上发表了多篇文章并且担当顾问,出席过许多重要的会议并参与地方行业协会。Jim与他的妻子和两个孩子生活在温哥华。
目录
译者序
图标说明
前言
第一部分问题空间
第1章我们面临的巨大挑战
1.1困难
1.2缺乏远见的解决方案
1.3人力因素的脆弱性
1.4最优方法的真相
1.5小结
第2章做正确的事
2.1正确地做事与做正确的事
2.2做事的方式
2.3我们需要掌控成功
2.4解决方案框架
2.5小结
第二部分个人
第3章个人的正确态度
3.1牛仔和无名英雄
3.2合理的自我批评
3.3情绪
3.4加快进度
3.5我们都是领导者
3.6小结
第4章以质量为中心
4.1质量是一种责任
4.2输出质量理念
4.3按照人员、过程、产品的顺序
4.4小结
第5章面对挑战
5.1感受痛苦
5.2应对痛苦
5.3否定
5.4忽视
5.5毅力
5.6思维定式
5.7小结
第6章主动性成效
6.1认识你自己
6.2赌徒与冒险家
6.3设计我们的环境
6.4并行工作
6.5决策
6.6坚持到底
6.7小结
第7章可持续性
7.1什么才是重要的
7.2充电
7.3闻一闻玫瑰的花香
7.4将内省作为一种商业策略
7.5生活质量
7.6小结
第三部分群体
第8章沟通
8.1表达自己的意见
8.2舒适的沟通
8.3全面公开
8.4信任
8.5客户满意度
8.6明确性和共同的理解
8.7沟通的消极面
8.8小结
第9章动机与期望
9.1动机驱动行为
9.2成为一个激励者
9.3公开我们的动机
9.4反思阿喀琉斯之踵
9.5期望
9.6管理我们的期望
9.7没有消息其实就是最坏的消息
9.8小结
第10章合作愉快
10.1技术赎金
10.2游戏
10.3工作保障
10.4谣言和暗讽
10.5尽量减少干扰
10.6质量圈族谱
10.7就像在家里一样
10.8小结
第四部分团队
第11章一致性
11.1团队保持一致
11.2团队规模的增长
11.3与团队保持步调一致
11.4制订规则
11.5有意识的团队契约
11.6包容各种观点
11.7按比例缩放
11.8小结
第12章组织
12.1各得其所
12.2已定义方法,还是科幻小说
12.3过程架构
12.4阅读组合方法说明中的小字内容
12.5这是一个过程项目吗
12.6通过优化提升速度
12.7培训
12.8当问题出现时
12.9但是我们不在乎
12.10有条理的讨论
12.11小结
第13章协调
13.1清理路障,还是阻塞道路
13.2开诚布公的管理
13.3只是一名雇员吗
13.4检出,检人
13.5对文档化工作的态度
13.6不要轻易地将一切都外包
13.7有人情味的平衡
13.8保留上下文
13.9小结
第14章指导
14.1胡萝卜和大棒
14.2可控的多样性
14.3是懒惰还是创造力
14.4捷径
14.5过程工效学
14.6规模并不重要
14.7持续的一致性
14.8小结
第五部分利益相关者
第15章客户
15.1谁是我们的客户
15.2终端客户的代表
15.3真实可靠
15.4掌控期望
15.5小结
第16章设定目标
16.1目标和任务
16.2定义成功
16.3根据产品的优势调整优先次序
16.4是否真正重视产品质量
16.5滑坡
16.6全局观
16.7小结
第17章规范
17.1意外的规范
17.2规范的锥体特性
17.3保持领先一步
17.4到什么程度才是足够的
17.5小结
第18章优先级
18.1正确的开端
18.2在确定优先级之前首先制定计划
18.3优先级排序
18.4衡量和确定项目范围的优先级
18.5拖延带来的成本
18.6小结
第19章变更
19.1变动性要求多样性
19.2偏离预计路线
19.3通过配置管理来了解我们当时的思考
19.4只需再多一点
19.5小结
第20章进展
20.1三个关键角色
20.2一种有条理的方法
20.3解决难题
20.4有风险的业务
20.5关键路径
20.6文档签字的含义
20.7知道何时退出
20.8完成
20.9小结
第六部分理清思路
第21章挑选目标
21.1正确的过程
21.2规则
21.3解耦项目
21.4亡羊补牢
21.5小结
第22章灵活性和严格性
22.1指导与规定
22.2检查列表与签字
22.3真正的设计问题:多样化和趋同
22.4文档化和公共知识
22.5避免发展过程中的复杂性
22.6张贴出来
22.7小结
第23章回顾进展
23.1将量化作为一项必要工作
23.2战术度量和战略度量
23.3隐性消耗
23.4不能太大,也不能太小
23.5小结
第24章回顾变更
24.1为变更制定计划
24.2去掉旧方法
24.3对未来的工作分类
24.4机会
24.5采取小的、可量化的步骤
24.6提高认识
24.7小结
第25章始终保持警惕
25.1眼罩
25.2有哪些伤害
25.3倒退
25.4小结
第七部分附录
核心工具
书摘插图
第1章我们面临的巨大挑战
在软件开发中,我们从不缺乏各种各样的推荐方法,并且许多新方法也在不断地涌现,然而人们最终却会放弃这些方法。大多数改进措施的结果都是令人失望的,有时候整个组织甚至都不能朝着共同的目标努力。
尽管有充分的证据表明,在软件开发中肯定存在着一些更好的方法,但这些方法并没有得到广泛的应用。
在这一章中,我们将介绍如何通过一些工程上的方法来解决软件开发中的难题。然后,讨论一些阻碍开发进程的人力因素。最后,分析为什么最优方法固然重要,但却还不足以成为一个完整的解决方案。
1.1困难
为什么软件开发是项困难的工作?
当前,我们几乎每时每刻都需要构建新的东西,例如,为原来的程序增加新功能或打补丁,或用新的框架和语言重新实现原有功能。这是因为在实际工作中代码重用(Reuse)没有达到预期目的。我们很少能够有效地重用代码,以至于还不如重新编写代码。
在制造业中,解决重用问题首先要进行严格地分析和设计,然后重复生产同一产品。虽然我们也希望在软件开发中实现这种流水线的功能,但始终无法做到。软件开发中的一些制造工序,例如,刻录光盘或者电子设备部署等,相对来说都是不太重要的(假定我们非常了解产品开发过程)。而且,我们通常不会重视分析阶段和设计阶段。然而,事实证明,如果前期没有投入足够的努力,那么仅通过测试并不足以保证产品质量。
长久以来,人们一直认为软件是无形的,缺乏实体内容而很难控制。这种看法在某种程度上是正确的,这种抽象的理解不仅可以使我们少关心一些细节问题,还可以使我们逐渐远离软件的二进制形式。
在大多数软件项目中,真正缺乏的仍然是对产品的明确并且一致的理解,以及在项目的整个生命周期中对这种理解的管理。
……