第1章 欢迎学习快速开发 3
什么是快速开发 3
实现快速开发 4
第2章 快速开发策略 7
快速开发的总体策略 10
开发速度的四维 11
人员 12
过程 14
产品 16
技术 17
协同 17
快速开发的一般分类 17
有效开发 18
侧重于最佳进度的有效开发 19
全面快速开发 19
哪一维更重要 20
快速开发的权衡策略 21
深入阅读 25
第3章 典型错误 27
典型错误案例研究 27
错误对开发进度的影响 33
典型错误一览 34
人员 35
过程 39
产品 41
技术 42
逃离格里甘岛 44
深入阅读 44
第4章 软件开发的基本原则 45
管理原则 48
项目估算和进程安排 48
计划编制 49
跟踪 49
度量 50
技术的基本原则 52
需求管理 53
设计 54
构建 55
软件配置管理 56
质量保证的基本原则 58
易错模块 61
测试 61
技术回顾 61
按照指导来做 64
深入阅读 65
第5章 风险管理 67
风险管理要素 69
风险评估 70
风险控制 70
风险识别 70
最常见的进度计划风险 71
进度计划风险的完整列表 71
风险分析 75
风险暴露量 75
估计损失的大小 76
评估损失发生的概率 76
整个项目的延期和缓冲 76
风险优先级 77
风险控制 78
风险管理计划 78
风险化解 79
风险监控 81
风险、高风险和冒险 83
深入阅读 85
第6章 快速开发中的核心问题 89
一个标准是否适合所有情况 89
你需要什么样的开发方法 90
进度计划有严格限制的产品 91
表面上的快速开发 92
你真正需要的是否是全力以赴地开发 94
按时完成的可能性 94
感知与现实 97
不切实际的用户期望 98
克服慢速开发的感觉 98
时间花到哪里去了 99
典型的观点 99
可以改善的问题 100
开发速度的平衡 102
进度、费用和产品的平衡 102
质量的权衡 103
个人效率的权衡 103
典型的进度改进模式 103
向快速开发前进 105
深入阅读 106
第7章 生命期计划 107
纯瀑布模型 109
编码修正模型 112
螺旋模型 113
经过修改的瀑布模型 115
生鱼片模型 115
具有子项目的瀑布模型 116
能够降低风险的瀑布模型 117
渐进原型 117
阶段交付 118
面向进度的设计 119
渐进交付 120
面向开发工具的设计 121
商品软件 122
为你的项目选择最快速的生命期 123
深入阅读 128
第8章 估算 129
软件估算的故事 130
软件和建筑 131
软件开发是一个改进的过程 132
可能细化的数量 132
估算与控制 134
合作 135
估算实例概要 136
估算步骤概述 137
规模估算 137
功能点估算 138
估算技巧 140
估算的表达方式 142
工作量估算 144
进度估算 144
基于承诺的进度安排 145
Jones的一阶估算实践 145
大致的进度估算 146
背景 146
可能的最短进度 148
有效进度 152
普通进度 153
对大致的进度首先应怎么办 155
估算修正 155
深入阅读 159
第9章 进度计划 161
过分乐观的进度计划 162
一个关于过分乐观的进度计划的实例 163
产生过分乐观的进度计划的根源 164
过分乐观的进度计划产生的不良后果 165
超负荷的进度压力 168
底线 171
战胜进度压力 172
原则谈判法 173
将人和问题分开 174
关注共同利益,不要过分坚持立场 175
提出对双方均有利的备选方案 176
坚持客观标准 177
深入阅读 180
第10章 面向客户开发 183
客户对于快速开发的重要性 185
提高效率 186
减少返工 186
降低风险 186
消除矛盾 187
面向客户的开发方法 187
规划 187
需求分析 188
设计 190
实现 190
合理控制客户的期望值 191
深入阅读 193
第11章 激励机制 195
开发人员的典型激励 196
最重要的5个激励因素 199
成就感 199
发展机遇 201
工作乐趣 202
个人生活 203
成为技术主管的机会 204
利用其他激励因素 204
奖赏和鼓励 204
试验性项目 205
对业绩的评价 206
士气杀手 207
保健因素 207
其他士气杀手 208
深入阅读 212
第12章 团队合作 215
团队合作中软件的使用 217
团队合作对于快速开发的重要性 217
团队生产率的变化 218
凝聚力和业绩 218
创建高绩效团队 219
共同的、可提升的愿景或目标 220
团队成员的认同感 221
结果驱动的结构 222
胜任的团队成员 222
对团队的承诺 224
相互信任 224
团队成员间相互依赖 225
有效的沟通 225
自主意识 226
授权意识 226
团队规模较小 226
高层次的乐趣 227
如何管理高绩效团队 227
团队为什么会失败 228
长期的团队建设 230
团队合作指导方针总结 232
深入阅读 233
第13章 团队结构 235
团队结构应考虑的因素 237
团队的种类 237
其他团队设计特征 239
何种类型的团队最适用于快速开发 239
团队模式 240
业务团队 241
主程序员团队 241
科研项目团队 242
特征团队 243
搜索救援团队 243
SWAT团队 244
专业运动员团队 244
戏剧团队 245
大型团队 246
管理者和技术领导 247
深入阅读 250
第14章 功能限定 251
项目早期:功能的简化 252
规格说明最小化 253
需求筛选 259
版本化开发 260
项目中期:功能蔓延的控制 260
变更的根源 260
变更的影响 263
完全停止变更的智慧 264
变更控制的方法 265
项目后期:功能剪切 268
深入阅读 270
第15章 生产率工具 271
快速开发中生产率工具的作用 273
特定应用领域 275
生产率工具的局限性 275
快速开发项目中生产率工具的终极作用 276
生产率工具的战略 277
生产率工具的获取 278
获取计划 278
遴选标准 279
承诺 282
生产率工具的使用 282
何时使用 282
培训的重要性 283
进度缩减的期望值 283
银弹综合症 286
识别银弹 287
忍辱负重 289
深入阅读 291
第16章 项目修复 293
一般的修复方案 295
修复计划 296
第一步 297
人员 298
过程 300
产品 303
找准时机 305
深入阅读 307
第17章 变更委员会 321
第18章 日创建和冒烟测试 323
使用日创建和冒烟测试 325
管理日创建和冒烟测试中的风险 329
日创建和冒烟测试的附带效果 330
日创建和冒烟测试与其他实践的相互关系 330
日创建和冒烟测试的底线 330
成功使用日创建和冒烟测试的关键 331
深入阅读 331
第19章 变更设计 333
使用面向变更的设计 334
识别可能发生变更的区域 334
采用隐藏信息的方法 335
制定变更计划 336
定义程序族 337
采用面向对象的设计方法 338
管理变更设计带来的风险 338
变更设计的附带效果 339
变更设计与其他实践的相互关系 339
变更设计的底线 339
成功使用变更设计的关键 339
深入阅读 339
第20章 渐进交付 341
使用渐进交付 342
版本顺序 344
何时使用渐进交付 344
管理渐进交付中的风险 345
渐进交付的附带效果 345
渐进交付与其他实践的相互关系 346
渐进交付的底线 346
成功使用渐进交付的关键 346
深入阅读 347
第21章 渐进原型 349
使用渐进原型 350
管理渐进原型中的风险 351
渐进原型的附带效果 355
渐进原型与其他实践的相互关系 355
渐进原型的底线 355
成功使用渐进原型的关键 356
深入阅读 356
第22章 目标设定 357
第23章 检查 359
第24章 联合应用程序开发 361
使用JAD 362
JAD规划 363
JAD设计 367
管理JAD中的风险 369
JAD的附带效果 370
JAD与其他实践的相互关系 370
JAD方法的底线 371
成功使用JAD的关键 371
深入阅读 372
第25章 生命期模型的选择 373
第26章 度量 375
使用度量 376
目标、问题、度量标准 376
度量小组 377
度量对象 377
应用收集到的数据 380
局限性 382
管理度量中的风险 383
度量的附带效果 384
度量与其他实践的相互关系 384
度量的底线 384
成功使用度量的关键 384
深入阅读 385
第27章 小型里程碑 387
使用小型里程碑 390
管理小型里程碑中的风险 392
小型里程碑的附带效果 392
小型里程碑与其他实践的相互关系 393
小型里程碑的底线 393
成功使用小型里程碑的关键 394
深入阅读 394
第28章 外包 395
使用外包 396
合同种类 398
境外外包 399
承包商评估 400
合同方面的考虑 401
管理外包中的风险 402
外包的附带效果 403
外包与其他实践的相互关系 403
外包的底线 403
成功使用外包的关键 404
深入阅读 404
第29章 原则谈判法 405
第30章 高效开发环境 407
使用高效开发环境 409
管理高效开发环境中的风险 411
高效开发环境的附带效果 412
高效开发环境与其他实践的相互关系 412
高效开发环境的底线 412
成功使用高效开发环境的关键 413
深入阅读 413
第31章 快速开发语言 415
使用快速开发语言 418
管理快速开发语言中的风险 418
快速开发语言的附带效果 420
快速开发语言与其他实践的相互关系 420
快速开发语言的底线 421
成功使用快速开发语言的关键 421
深入阅读 422
第32章 需求提炼 423
第33章 重用 425
使用重用 426
应用随机重用 426
有计划的重用 429
管理重用中的风险 432
重用的附带效果 433
重用与其他实践的相互关系 434
重用的底线 434
成功使用重用的关键 434
深入阅读 435
第34章 签约 437
使用签约 438
管理签约中的风险 440
签约的附带效果 442
签约与其他实践的相互关系 442
签约的底线 442
成功使用签约的关键 443
深入阅读 443
第35章 螺旋型生命期模型 445
第36章 阶段性交付 447
使用阶段性交付 450
技术相关性 451
开发者的关注点 451
版本主题 451
项目的种类 452
管理阶段性交付中的风险 452
阶段性交付的附带效果 453
阶段性交付与其他实践的相互关系 454
阶段性交付的底线 455
成功使用阶段性交付的关键 455
深入阅读 455
第37章 W理论管理 457
使用W理论管理 459
让所有人都成为获胜者 459
步骤1:确定共同获胜的前提 460
步骤2:建立一个共同获胜的软件开发过程 462
步骤3:构建一种共同获胜的软件产品 463
可以运用W理论的项目种类 463
管理者的角色 463
管理W理论管理中的风险 464
W理论管理的附带效果 464
W理论管理与其他实践的相互关系 464
W理论管理的底线 465
成功使用W理论管理的关键 465
深入阅读 465
第38章 舍弃型原型法 467
使用舍弃型原型法 468
管理舍弃型原型法中的风险 469
舍弃型原型法的附带效果 470
舍弃型原型法与其他实践的相互关系 470
舍弃型原型法的底线 470
成功使用舍弃型原型法的关键 470
第39章 限时开发 471
使用限时开发 473
使用限时开发的最低要求 474
限时开发小组 475
限时开发的变种 475
管理限时开发中的风险 476
限时开发的附带效果 476
限时开发与其他实践的相互关系 477
限时开发的底线 477
成功使用限时开发的关键 477
深入阅读 478
第40章 工具组 479
第41章 前十大风险清单 481
第42章 构建用户接口原型 483
使用用户接口原型 485
舍弃还是逐渐展开 485
选择原型语言 486
漂亮外观 486
最终用户的反馈和参与 487
最终产品 488
管理用户接口原型中的风险 488
用户接口原型的附带效果 488
用户接口原型与其他实践的相互关系 489
用户接口原型的底线 489
成功使用用户接口原型的关键 489
深入阅读 490
第43章 自愿加班 491
使用自愿加班 492
管理自愿加班中的风险 496
自愿加班的附带效果 497
自愿加班与其他实践的相互关系 497
自愿加班的底线 497
成功使用自愿加班的关键 498
深入阅读 498
参考文献 499