基本信息出版社:人民邮电出版社
页码:281 页
出版日期:2003年01月
ISBN:7115117861
条形码:9787115117861
版本:第1版
装帧:平装
开本:16
正文语种:中文
丛书名:敏捷软件开发系列
外文书名:Agile Software Development
内容简介 《敏捷软件开发》共6章,书中指出了软件开发中常见的问题;探讨了在软件开发过程中占据决定性作用的人的因素;论述了团队的交流与合作;阐述了作者自己的水晶系列方法论等。
作者简介 Alistair Cockburn是公认的软件项目管理方面的专家。他是Humans and Technology公司的资深顾问,负责帮助客户成功地实施面向对象项目。他在软硬件开发方面有20多年的项目管理经验,所涉及领域有保险业、零售业、电子商务公司,并曾在大的组织如挪威中心银行和IBM任职。他还著有Writing Effective Use Cases (Addison-Wesley 2001)和Surviving Object-Oriented Projects(Addison-Wesley 1998)
媒体推荐 书评
“成年对软件开发者而言意味着理解了软件是协作的结果,不是个人独自能够完成的。这本书充满了对协作开发方法的明智建议,软件开发者团队如果按照它去做,就会变得强大,能够获取胜利。”
Tom DeMarco,The Atlantic Systems Guild
软件开发模式不断变化。开发组的“团队”能力和个体开发者的影响比组织所认识到的更重要,增加过程压力和让团队成员加班的传统做法已经不再适用。敏捷方法论的倡导者质疑开发团队所使用的预想过程。他们不采用给个体开发者增加负担的方法,而是提出“我们应如何改变过程才能使团队更有生产力,同时也提高质量?”答案是从玩游戏中寻找规律。
这本书是为开发者和项目经理写的,《敏捷软件开发》将软件开发和游戏进行对比。团队成员参与游戏,他们了解最终目标是赢得胜利——不断记录他们在这个过程中学到了什么,要记住他们不会再用同样的方法玩第二次。游戏者必须对不同方法论持开放的态度,把注意力集中于短期内开发出高质量软件的目标上。
本书是10年的工作和研究,以及访谈了许多软件项目组的结果,它提出了正确的建议,指导陷入困境的团队如何在最小的压力下走向成功。本书包括以下内容:
敏捷方法论所蕴涵的主要原则;什么样的方法论适用于不同的项目——附录也有助于读者为项目选择适宜的方法论;描述方法论的新词汇表;方法论实时调整技术;管理不完善的沟通;不断发明新的方法论;敏捷软件开发宣言。
今天的软件开发者必须认识到他们有许多方法论可供选择。在这本书的指导下,他们可以打破没有生产力的习惯,超越旧方法,找到通往成功的新途径。
目录
第0章 引言——不可知和无法交流
0.1 解析经验的问题
0.1.1 不同的解析模式(Parsing Pattern)
0.1.2 检测解析模式
0.1.3 要考虑那些还没有成形的想法
0.2 充分交流的不可能性
0.2.1 内部重构
0.2.2 深入共享经验
0.2.3 管理不完美的交流
0.3 听众的三个层次
0.3.1 方法论和三个层次的读者
0.3.2 本书和三个层次的读者
0.3.3 SHU-HA-RI
0.4 那么,明天我该做什么
第1章 创造与交流的协作游戏
1.1 软件和诗歌
1.2 软件和游戏
1.2.1 游戏的种类
1.2.2 软件和攀岩
1.2.3 一个创造与交流的游戏
1.2.4 软件和工程
1.2.5 软件和建模
1.3 再论协作游戏
1.3.1 程序员如同交流专家
1.3.2 加快游戏速度
1.3.3 标记(Marker)和道具(Prop)
1.3.4 回报减少
1.3.5 主要目标所需的充分度(sufficiency)
1.3.6 沉淀的充分度
1.3.7 游戏中的游戏
1.3.8 开放源码开发
1.4 这对我意味着什么
第2章 人
2.1 人是难以预料的
2.1.1 探寻人的性格特征
2.1.2 不可预测的元素
2.1.3 不可避免的多样性
2.1.4 技术的作用
2.1.5 矛盾的普遍性
2.2 克服缺点
2.2.1 会犯错误
2.2.2 墨守成规、缺乏冒险精神
2.2.3 只想创新,不愿调查已有方案
2.2.4 积习难改和变化无常
2.2.5 用纪律(discipline)和宽容(tolerance)来应对
2.3 用更好的方法工作
2.3.1 具体(concrete)
2.3.2 实物(tangible)
2.3.3 可供修改的例子
2.3.4 看和听
2.3.5 支持集中和交流
2.3.6 工作安排与个性相匹配
2.3.7 天赋(talent)
2.3.8 保持乐趣的奖励
2.3.9 综合性奖励
2.3.10 反馈(feedback)
2.4 利用优点
2.4.1 善于寻找
2.4.2 人能够学习
2.4.3 可塑性(malleable)
2.4.4 贡献和采取主动
2.4.5 结合优点
2.4.6 英雄也是普通的人
2.5 明天我该做什么
第3章 团队交流、合作
3.1 信息对流
3.1.1 拖延和丧失机会的代价(lost-opportunity costs)
3.1.2 Erg-seconds(尔格/秒)
3.1.3 渗透交流
3.1.4 垃圾信息—raft)
3.1.5 信息辐射源
3.1.6 应用热空气理论
3.2 跨越交流沟壑
3.2.1 交流形式
3.2.2 缺少交流形式的后果
3.2.3 利用形式
3.2.4 固化信息和跨越空白
3.3 团队是个集体
3.3.1 友好和冲突
3.3.2 工作时间内的公民感
3.3.3 敌对的XP和友好的XP
3.3.4 通过成功来组建团队
3.3.5 团队文化和亚文化
3.4 团队就像生态系统
3.5 明天我该做什么
第4章 方法论
4.1 创造软件的生态系统
4.2 方法论中的概念
4.2.1 结构术语
4.2.2 范围
4.2.3 概念术语
4.2.4 发布方法论
4.3 方法论设计原则
4.3.1 常见的设计错误
4.3.2 方法论运用成功的项目
4.3.3 作者的偏好
4.3.4 七条原则
4.4 近距离观察XP
4.4.1 XP简介
4.4.2 剖析XP
4.4.3 调整XP
4.5 到底为什么需要方法论
4.5.1 方法论的目的
4.5.2 如何评估一套方法论
4.6 明天我该做什么
第5章 敏捷和自适应
5.1 轻但够用
5.1.1 刚刚够用
5.1.2 对文档的建议
5.2 敏捷
5.2.1 最佳条件(Sweet spots)
5.2.2 虚拟团队(virtual teams)问题
5.3 变为自适应
5.3.1 花时间进行反思
5.3.2 一项方法论改进技术
5.3.3 反思研讨会技术
5.4 我明天该做什么
第6章 水晶系列方法论
6.1 形成水晶家族
6.1.1 核心的水晶元素
6.2 透明水晶
6.2.1 关于透明水晶的简要描述
6.2.2 透明水晶的反思
6.3 橙色水晶
6.3.1 关于橙色水晶的简要描述
6.3.2 橙色水晶的反思
6.4 橙色水晶网(Crystal Orange Web)
6.4.1 对橙色水晶网的简要描述
6.4.2 橙色水晶网的反思
6.5 明天我该做什么
附录A 敏捷软件开发宣言
附录B Naur, Ehn, Musashi
参考文献
索引
……