书籍详情

快速开发(纪念版)

快速开发(纪念版)

作者:(美),史蒂夫·麦康奈尔

出版社:清华大学出版社

出版时间:2020-09-01

ISBN:9787302557104

定价:¥128.00

购买这本书可以去
内容简介
  进度失控,几乎是每一个软件开发项目挥之不去的噩梦。如何从容赶急,如何通过正确的开发策略和原则,避免典型错误,有效地进行风险管理,从多个方面贯彻执行快速软件开发,都可以从本书中找到答案。《快速开发(纪念版)》借助于实际案例和数据,阐述了快速软件开发方法的要领和精髓。 《快速开发(纪念版)》前两部分描述快速开发的策略和理念,其中的案例讨论有助于读者清楚地领略到策略和理念在实践中的作用。第Ⅲ部分则由27个快速开发实践构成,对于技术领导、程序员和项目经理具有重要的参考和指导意义。
作者简介
  史蒂夫·麦康奈尔(Steve McConnell)与比尔·盖茨和Linux之父林纳斯·托瓦兹齐名《软件开发》杂志两届技术类图书震撼大奖得主《软件开发》杂志两届生产力效率大奖得主华盛顿西雅图大学校友会专业成就奖 IEEE计算机学会金牌核心奖章得主《普吉特商业杂志》杰出青年人物奖 硅谷工程领导力峰会常年演讲嘉宾
目录
第I 部分 有效开发
第1 章 欢迎学习快速开发         3
1.1 什么是快速开发      3
1.2 实现快速开发        4
第2 章 快速开发策略        7
2.1 快速开发的总体策略       10
2.2 开发速度的四个维度       13
2.2.1  人员       14
2.2.2 过程        16
2.2.3 产品        18
2.2.4 技术        19
2.2.5 协同        20
2.3 快速开发的一般分类       20
2.3.1 有效开发      20
2.3.2 侧重于进度的有效开发    22
2.3.3 全面快速开发       22
2.4 哪一个维度更重要         23
2.5 快速开发的权衡策略       24
深入阅读        29
第3 章 典型错误         31
3.1 典型错误案例研究         31
3.2 错误对开发进度的影响        38
3.3 典型错误一览        40
3.3.1 人员        41
3.3.2 过程        45
3.3.3 产品        48
3.3.4 技术        49
3.4 逃离吉利根岛        50
第4 章 软件开发的基本原则        52
4.1 管理原则          56
4.1.1 项目估算和进程安排        56
4.1.2 计划编制      56
4.1.3 跟踪        57
4.1.4 度量        58
深入阅读        59
4.2 技术的基本原则         60
4.2.1 需求管理      62
4.2.2 设计        63
4.2.3 构建        64
4.2.4 软件配置管理       65
深入阅读        66
4.3 质量保证的基本原则       68
4.3.1 易错模块      71
4.3.2 测试        72
4.3.3 技术审查      72
深入阅读        74
4.4 按照指导来做        76
深入阅读        77
第5 章 风险管理         78
5.1 风险管理要素        81
5.1.1 风险评估     82
5.1.2 风险控制      82
5.2 风险识别          82
5.2.1 常见的进度计划风险      83
5.2.2 进度计划风险的完整列表      83
5.3 风险分析          87
5.3.1 风险暴露量       87
5.3.2 估计损失的大小     88
5.3.3 评估损失发生的概率        89
5.3.4 整个项目的延期和缓冲      89
5.4 风险优先级          90
5.5 风险控制          91
5.5.1 风险管理计划       92
5.5.2 风险化解      92
5.5.3 风险监控      95
5.6 风险、高风险和冒险       97
深入阅读      100
第Ⅱ部分 快速开发
第6 章 快速开发中的核心问题    103
6.1 一个标准是否适合所有情况      103
6.2 你需要什么样的开发方法        105
6.2.1 进度计划有严格限制的产品       105
6.2.2 表面上的快速开发      106
6.2.3 你是否真正需要全力开发      109
6.3 按时完成的可能性       110
6.4 感知与现实        113
6.4.1 不切实际的用户期望        114
6.4.2 克服慢速开发的感觉        115
6.5 时间都去哪儿了       115
6.5.1 典型的观点         115
6.5.2 可以改进的问题        116
6.6 开发速度的平衡       119
6.6.1 进度、费用和产品的平衡      119
6.6.2 质量的权衡         120
6.6.3 个人效率的权衡        121
6.7 典型的进度改进模式     121
6.8 向快速开发前进       123
深入阅读      124
第7 章 生命周期计划      125
7.1 纯瀑布模型        128
7.2 编码修正模型      131
7.3 螺旋模型        132
7.4 经过修改的瀑布模型     134
7.4.1 生鱼片模型         135
7.4.2 具有子项目的瀑布模型        136
7.4.3 能够降低风险的瀑布模型      137
7.5 渐进原型        138
7.6 阶段性交付        139
7.7 面向进度的设计       140
7.8 渐进交付        141
7.9 面向开发工具的设计     142
7.10 商品软件          144
7.11 为项目选择快速的生命周期      144
深入阅读      150
第8 章 估算        152
8.1 软件估算的故事       154
8.1.1 软件和建筑         154
8.1.2 软件开发是一个改进的过程        155
8.1.3 可能细化的数量        156
8.1.4 估算与控制         158
8.1.5 合作          159
8.1.6 估算实例概要       161
8.2 估算步骤概述      162
8.3 规模估算        162
8.3.1 功能点估算         163
8.3.2 估算技巧         165
8.3.3 估算的表达方式        167
8.4 工作量估算        170
8.5 进度估算        170
8.5.1 基于承诺的进度安排        171
8.5.2 一阶估算实践       172
8.6 大致的进度估算       173
8.6.1 背景          173
8.6.2 可能的短进度        175
8.6.3 有效进度         180
8.6.4 普通进度         182
8.6.5 对大致的进度首先应怎么办       184
8.7 估算修正        184
深入阅读      189
第9 章 进度计划       191
9.1 过分乐观的进度计划     192
9.1.1 一个关于过分乐观的进度计划的实例     193
9.1.2 产生过分乐观的进度计划的根源       195
9.1.3 过分乐观的进度计划产生的不良后果     196
9.1.4 超负荷的进度压力      200
9.1.5 底线          203
9.2 战胜进度压力      205
9.2.1 原则谈判法         206
9.2.2 将人和问题分开        207
9.2.3 关注于共同利益,不要过分坚持立场     208
9.2.4 提出对双方均有利的备选方案     209
9.2.5 坚持客观标准       211
深入阅读      215
第10 章 面向客户的开发       217
10.1 客户对于快速开发的重要性      220
10.1.1 提高效率       220
10.1.2 减少返工       221
10.1.3 降低风险       221
10.1.4 消除矛盾       221
10.2 面向客户的开发方法     222
10.2.1 规划        222
10.2.2 需求分析       223
10.2.3 设计        225
10.2.4 实现        226
10.3 合理控制客户的期望值        226
深入阅读      230
第11 章 激励机制          231
11.1 开发人员的典型激励     233
11.2 重要的5 个激励因素        236
11.2.1 成就感       236
11.2.2 发展机遇        238
11.2.3 工作乐趣        239
11.2.4 个人生活        241
11.2.5 成为技术主管的机会       241
11.3 利用其他激励因素       242
11.3.1 奖赏和鼓励        242
11.3.2 试验性项目        244
11.3.3 对业绩的评价      245
11.4 士气杀手        245
11.4.1 保健因素        246
11.4.2 其他士气杀手      247
深入阅读      252
第12 章 团队合作          254
12.1 软件项目中的团队合作        256
12.2 团队合作对快速开发的重要性      257
12.2.1 团队生产率的变化        257
12.2.2 凝聚力和业绩     258
12.3 创建高绩效团队       259
12.3.1 共同的、可提升的愿景或目标       260
12.3.2 团队成员的认同感        261
12.3.3 结果驱动的结构        262
12.3.4 胜任的团队成员        263
12.3.5 对团队的承诺     265
12.3.6 相互信任       265
12.3.7 团队成员间相互依赖      266
12.3.8 有效的沟通       266
12.3.9 自主意识          267
12.3.10 授权意识         267
12.3.11 团队规模较小         268
12.3.12 高层次的乐趣        268
12.3.13 如何管理高绩效团队        268
12.4 团队为什么会失败       269
12.5 长期的团队建设       273
12.6 团队合作指导方针总结        274
深入阅读      275
第13 章 团队结构          277
13.1 团队结构应该考虑的因素        279
13.1.1 团队的种类       280
13.1.2 其他团队设计特征        281
13.1.3 何种类型的团队适用于快速开发     282
13.2 团队模式        283
13.2.1 业务团队       284
13.2.2 主程序员团队     284
13.2.3 科研项目团队         286
13.2.4 特征团队       286
13.2.5 搜索救援团队     287
13.2.6 SWAT 团队        287
13.2.7 专业运动员团队       288
13.2.8 戏剧团队       289
13.2.9 大型团队       291
13.3 管理者和技术主管       292
深入阅读      295
第14 章 功能限定          297
14.1 项目早期:功能的简化        299
14.1.1 规格说明小化        299
14.1.2 需求筛选       306
14.1.3 版本化开发       307
14.2 项目中期:功能蔓延的控制      308
14.2.1 变更的根源       308
14.2.2 变更的影响       312
14.2.3 完全停止变更的智慧      313
14.2.4 变更控制的方法        314
14.3 项目后期:功能剪切     318
深入阅读      320
第15 章 生产率工具        321
15.1 快速开发中生产率工具的作用      324
15.1.1 特定应用领域     325
15.1.2 生产率工具的局限性      326
15.1.3 快速开发项目中生产率工具的终极作用        327
15.2 生产率工具的战略       328
15.3 生产率工具的获取       329
15.3.1 获取计划       330
15.3.2 遴选标准       331
15.3.3 承诺        334
15.4 生产率工具的使用       334
15.4.1 何时使用       334
15.4.2 培训的重要性     335
15.4.3 进度缩减的期望值        336
15.5 银弹综合征       339
15.5.1 识别银弹       341
15.5.2 忍辱负重       343
深入阅读      345
第16 章 项目修复          347
16.1 一般的修复方案       349
16.2 修复计划        351
16.2.1 步      351
16.2.2 人员        352
16.2.3 过程        355
16.2.4 产品        358
16.2.5 找准时机       361
深入阅读      364
第Ⅲ部分 实践
第17 章 变更委员会        380
第18 章 每日构建和冒烟测试      381
18.1 使用每日构建和冒烟测试        383
18.2 管理每日构建和冒烟测试中的风险       388
18.3 每日构建和冒烟测试的附带效果    389
18.4 每日构建和冒烟测试与其他实践的相互关系   389
18.5 每日构建和冒烟测试的底线      390
18.6 成功使用每日构建和冒烟测试的关键       390
深入阅读      390
第19 章  变更设计         391
19.1 使用面向变更的设计     392
19.2 管理变更设计带来的风险        397
19.3 变更设计的附带效果     398
19.4 变更设计与其他实践的相互关系    398
19.5 变更设计的底线       398
19.6 成功使用变更设计的关键        398
深入阅读      399
第20 章 渐进交付          400
20.1 使用渐进交付      402
20.2 管理渐进交付中的风险        404
20.3 渐进交付的附带效果     405
20.4 渐进交付与其他实践的相互关系    406
20.5 渐进交付的底线       406
20.6 成功使用渐进交付的关键        406
深入阅读      407
第21 章 渐进原型          408
21.1 使用渐进原型      409
21.2 管理渐进原型中的风险        410
21.3 渐进原型的附带效果     415
21.4 渐进原型与其他实践的相互关系    415
21.5 渐进原型的底线       416
21.6 成功使用渐进原型的关键        416
深入阅读      417
第22 章 目标设定          418
第23 章 检查          419
第24 章 联合应用程序开发       420
24.1 使用JAD        421
24.2 管理JAD 中的风险        430
24.3 JAD 的附带效果       431
24.4 JAD 与其他实践的相互关系      431
24.5 JAD 方法的底线       432
24.6 成功使用JAD 的关键         432
深入阅读      433
第25 章 生命周期模型的选择      434
第26 章 度量          435
26.1 使用度量        436
26.2 管理度量中的风险       444
26.3 度量的附带效果       445
26.4 度量与其他实践的相互关系      445
26.5 度量的底线        445
26.6 成功使用度量的关键     446
深入阅读      446
第27 章 小型里程碑        448
27.1 使用小型里程碑       451
27.2 管理小型里程碑中的风险        454
27.3 小型里程碑的附带效果        454
27.4 小型里程碑与其他实践的相互关系       455
27.5 小型里程碑的底线       455
27.6 成功使用小型里程碑的关键      456
深入阅读      456
第28 章 外包          457
28.1 使用外包        458
28.2 管理外包中的风险       464
28.3 外包的附带效果       466
28.4 外包与其他实践的相互关系      466
28.5 外包的底线        466
28.6 成功使用外包的关键     467
深入阅读      467
第29 章 原则谈判法        468
第30 章 高效开发环境        469
30.1 使用高效开发环境       471
30.2 管理高效开发环境中的风险      473
30.3 高效开发环境的附带效果        474
30.4 高效开发环境与其他实践的相互关系       475
30.5 高效开发环境的底线     475
30.6 成功使用高效开发环境的关键      476
深入阅读      476
第31 章 快速开发语言        477
31.1 使用快速开发语言       481
31.2 管理快速开发语言中的风险      481
31.3 快速开发语言的附带效果        483
31.4 快速开发语言与其他实践的相互关系       483
31.5 快速开发语言的底线     484
31.6 成功使用快速开发语言的关键      484
深入阅读      485
第32 章 需求提炼          486
第33 章 重用          487
33.1 使用重用        488
33.2 管理重用中的风险       495
33.3 重用的附带效果       496
33.4 重用与其他实践的相互关系      497
33.5 重用的底线        497
33.6 成功使用重用的关键     498
深入阅读      498
第34 章 签约          499
34.1 使用签约        500
34.2 管理签约中的风险       503
34.3 签约的附带效果       505
34.4 签约与其他实践的相互关系      505
34.5 签约的底线        505
34.6 成功使用签约的关键     505
深入阅读      506
第35 章 螺旋型生命周期模型      507
第36 章 阶段性交付        508
36.1 使用阶段性交付       511
36.2 管理阶段性交付中的风险        514
36.3 阶段性交付的附带效果        515
36.4 阶段性交付与其他实践的相互关系       516
36.5 阶段性交付的底线       517
36.6 成功使用阶段性交付的关键      517
深入阅读      517
第37 章 W 理论管理       518
37.1 使用W 理论管理         520
37.2 管理W 理论管理中的风险        525
37.3 W 理论管理的附带效果       526
37.4 W 理论管理与其他实践的相互关系      526
37.5 W 理论管理的底线        527
37.6 成功使用W 理论管理的关键        527
深入阅读      527
第38 章 舍弃型原型法        528
38.1 使用舍弃型原型法       529
38.2 管理舍弃型原型法中的风险      530
38.3 舍弃型原型法的附带效果        531
38.4 舍弃型原型法与其他实践的相互关系       531
38.5 舍弃型原型法的底线     531
38.6 成功使用舍弃型原型法的关键      532
深入阅读      532
第39 章  限时开发         533
39.1 使用限时开发      535
39.2 管理限时开发中的风险        538
39.3 限时开发的附带效果     539
39.4 限时开发与其他实践的相互关系    539
39.5 限时开发的底线       540
39.6 成功使用限时开发的关键        540
深入阅读      540
第40 章 工具组        541
第41 章 前十大风险清单       542
第42 章 构建用户界面原型       543
42.1 使用用户界面原型       545
42.2 管理用户界面原型中的风险      548
42.3 用户界面原型的附带效果        549
42.4 用户界面原型与其他实践的相互关系       549
42.5 用户界面原型的底线     550
42.6 成功使用用户界面原型的关键      550
深入阅读      550
第43 章 自愿加班          551
43.1 使用自愿加班      552
43.2 管理自愿加班中的风险        557
43.3 自愿加班的附带效果     558
43.4 自愿加班与其他实践的相互关系    558
43.5 自愿加班的底线       558
43.6 成功使用自愿加班的关键        559
深入阅读      559
参考文献        561
猜您喜欢

读书导航