-
内容大纲
丛斌著的《知行合一实现价值驱动的敏捷和精益开发》是作者几十年从事软件工程教学、咨询和研究的一个总结,它从软件产品开发的“软”“易变”“非线性增长复杂度”“创新”等特点入手,系统讨论了软件工程自身的特殊性,清楚揭示了我们遵循几十年的借鉴传统行业开发模式的方法不能高效匹配软件开发,导致软件工程成为低效工程领域的原因。本书系统探讨了从瀑布模式到敏捷模式转型的成功实践,在特定企业环境下让敏捷在组织、团队、项目中落地,并使其价值最大化,摆脱常见的“形似神不似”的敏捷实施。本书关于CMMI和敏捷开发模式结合的内容对国内众多的CMMI企业有很好的现实意义,二者的互补性使其结合弥补了各自的不足,使企业能更好地提升其开发过程的能力。如何将新一代精益开发的原则、实践移植到软件开发中的内容是本书另一个亮点。
各类软件组织的管理人员、技术人员、质量控制人员和过程改进人员都可以从《知行合一实现价值驱动的敏捷和精益开发》中获得所需的知识,《知行合一实现价值驱动的敏捷和精益开发》也可以作为高校软件工程相关课程的教材。 -
作者介绍
丛斌博士,早年毕业于南京大学,1984年公派留学去了美国,分别在杜克大学和德州大学获得硕士和博士学位。目前是美国加州州立大学软件工程终身教授,领导建立了全美排名前列的软件工程硕士学位课程。发表过100多篇论文,解决过一些经典的算法问题。作为国际知名的计算机和算法专家,丛斌博士也是CMMI研究院第一批高成熟度主任评估师、讲师之一。在产品开发体系建设及改进、敏捷和精益开发、质量控制及CMMI模型驱动改进等方面有丰富的理论知识及实战经验,曾为国内外许多知名企业,如雷神、华为等提供过软件开发方面的咨询、培训和评估。曾入选1997年国际IT名人录,也是加州州立大学富勒顿分校工学院2011年度杰出教授。 -
目录
第一部分 神形兼备的敏捷开发模式
第1章 从“先知后行”到“知行合一”——从传统开发模式到敏捷开发模式
1.1 重新审视项目成功的标准
1.1.1 传统的三要素不一定能客观度量项目的成功与否
1.1.2 新的项目管理铁三角
1.1.3 敏捷让我们实现价值驱动管理
1.2 重新审视瀑布模式为代表的传统开发方法
1.2.1 来自制造业的接力式开发模式
1.2.2 瀑布开发模式的不合理之处
1.3 复杂软件项目的共性:需求的不确定及技术的不确定
1.3.1 客户对自己真正需要的产品需要一个认识的过程
1.3.2 实现每个客户需求都有代价,但不是每个需求都有价值
1.3.3 技术平台的不确定性
1.3.4 团队一开始不了解自己的效率
1.3.5 传统方法不能高效解决这些不确定性带来的问题
1.4 从“先知后行”到“知行合一”
1.4.1 知行合一是自然的结论
1.4.2 敏捷就是在开发中学习、成长、调整和完善
1.4.3 敏捷是实现价值驱动管理的好方法
两个团队的故事
第2章 敏捷开发方法——摸着石头过河的智慧
2.1 经常被错误解读的敏捷宣言及敏捷原则
2.1.1 敏捷宣言是价值宣言
2.1.2 敏捷的12原则背后的故事
2.2 敏捷开发架构与Scrum:调整中增量开发
2.2.1 敏捷开发架构
2.2.2 用一分钟来解释一下Scrum以及Scrum中的3个角色、3个文档和5个会议
2.2.3 敏捷框架下?
2.2.4 Scrum和极限编程的结合使用
2.3 Scrum是一个实现敏捷价值及原则的开发管理架构
2.3.1 Scrum让敏捷价值的实现变得自然
2.3.2 Scrum是敏捷原则的具体体现
一个团队的两个故事
第3章 形神兼具——实现敏捷的核心价值
3.1 形似神不似的Scrum实施
3.1.1 Scrum不能保证解决问题,但能保证暴露问题
3.1.2 没有本地化的适配,敏捷过程很难落地生根
3.1.3 不要因为错误的原因引入Scrum,要明确引入敏捷的目的
3.2 使用Scrum的艺术
3.2.1 Scrum中的自我管理及实现方式
3.2.2 管理者从监控型到服务型的转变
3.2.3 追求问题的解决而不是最佳解决方案
3.2.4 对工程人员能力提升及自律的要求
3.2.5 Scrum实践的互补,完整的Scrum才最有价值
3.3 极限编程是Scrum最好的伙伴
3.3.1 技术债务:Scrum的杀手
3.3.2 极限编程的4个核心价值
3.3.3 极限编程的原则
3.3.4 极限编程的4个核心工程活动
3.3.5 极限编程的12条实践
3.3.6 极限编程+Scrum?
3.4 引入Scrum等敏捷方法是一场需要勇气的变革
3.4.1 精益组织与敏捷团队
3.4.2 管理者的勇气:做有远见的智慧型领导者
3.4.3 工程人员的勇气:合奏与独奏
3.4.4 过程改进人员的勇气:找到你的定位
3.5 变革之路:从瀑布模式到敏捷模式的转化
3.5.1 瀑布模式到敏捷模式中人和组织的转化
3.5.2 瀑布模式到敏捷模式中企业文化及习惯的转化
3.5.3 瀑布模式到敏捷模式的转化过程
两个团队的故事
第二部分 建立以Scrum为框架的软件开发管理体系
第4章 布好自己的局——确定Scrum中的角色、文档和活动
4.1 敏捷转型的布局规划
4.2 建立自己的敏捷过程
4.2.1 建立一个端到端的敏捷过程
4.2.2 进入Scrum迭代的准备过程
4.2.3 敏捷迭代过程及验证过程
4.2.4 敏捷的改进过程
4.2.5 选择敏捷实践
4.3 确定Scrum的角色
4.3.1 猪和鸡合作创业的对话
4.3.2 选择Scrum产品经理
4.3.3 选择Scrum过程经理
4.3.4 选择Scrum团队成员
4.3.5 架构师在Scrum团队中的定位
4.3.6 Scrum of Scrum (大敏捷项目的管理)的安排
4.3.7 Scrum中的共享团队资源
4.4 敏捷过程对文档的要求
4.4.1 文档的价值及应用
4.4.2 敏捷文档制作指南
4.4.3 敏捷过程的需求文档
4.4.4 敏捷环境下的工程文档
4.4.5 必要的维护文档
4.4.6 敏捷(Scrum)的管理文档
4.5 建立一个成熟的Scrum过程
4.5.1 什么是成熟的敏捷过程
4.5.2 保证敏捷过程的执行力
4.5.3 保证敏捷过程的改进力
4.6 敏捷工具
两个敏捷角色的故事
第5章 迭代管理亦有道——执行Scrum项目管理
5.1 应对变化的敏捷计划:波浪式的版本规划
5.1.1 掌握你的团队速率
5.1.2 允许项目需求范围有一定的灵活性
5.1.3 遵循“最小有市场价值”原则制订产品版本计划
5.1.4 制订第一个版本计划
5.2 Scrum迭代中的管理:频繁反馈,及时调整
5.2.1 细化版本需求列表中的用户故事:准备好下一轮迭代的工作
5.2.2 计划下一轮迭代
5.2.3 开好每日站立会议
5.2.4 展示团队的迭代成果:开好迭代评审会议
5.2.5 不断完善Scrum过程:开好迭代回顾会议
5.3 建立、维护你的敏捷岛
5.3.1 迭代任务状态板块
5.3.2 其他信息板块
5.3.3 白板是最有效的沟通方式
5.4 Scrum中的风险管理
5.4.1 软件项目的5大风险来源
5.4.2 把握你的进度风险
5.4.3 把握好需求使之自然完善而不是遍地蔓生
5.4.4 建立一个T字型能力团队缓解团队不稳定风险
5.4.5 建立维护好产品规格
5.4.6 克服低效率风险的几个法宝
两个团队的故事
第6章 把握好敏捷的度——敏捷工程及质量控制实践
6.1 再议技术债务
6.1.1 技术债务的来源
6.1.2 管理技术债务
6.1.3 减少技术债务的实践
6.1.4 减少技术债务的具体步骤
6.1.5 技术债务的度量
6.2 敏捷中的需求开发及管理
6.2.1 敏捷四级产品计划
6.2.2 用户类型的识别过程
6.2.3 建立维护典型用户档案
6.2.4 从用例到用户故事
6.2.5 贯穿整个开发过程中的需求澄清:串讲及反串讲
6.3 敏捷中的设计和开发
6.3.1 简明设计原则
6.3.2 设计决策的时机
6.3.3 再议程序开发中的代码重构
6.3.4 敏捷中的评审
6.4 敏捷中的测试
6.4.1 测试驱动开发的价值及方法
6.4.2 持续集成:提高开发效率的重要保证
6.4.3 敏捷测试策略及方法
6.4.4 让发现的缺陷的价值最大化
6.5 健康迭代比速度更重要
两个团队的故事
第三部分 CMMI框架下的敏捷实施
第7章 盲人摸象——关于敏捷和CMMI的错误偏见
7.1 来自两个阵营的偏见
7.2 CMMI的核心和价值
7.3 CMMI+敏捷:解决软件开发问题之匙
7.4 来自敏捷宣言起草者及CMMI作者的最新声音
敏捷和CMMI的故事
第8章 建立敏捷的保护网——CMMI架构下的敏捷实施
8.1 从使用角度看
8.1.1 一个产品开发最佳实践的集合
8.1.2 CMMI的4条主线
8.1.3 正确解读CMMI评估
8.1.4 CMMI对工作产品(文档)的要求
8.2 完善Scrum实现CMMI项目管理的要求
8.2.1 需求管理和“Scrum+极限编程”
8.2.2 项目计划和“Scrum+极限编程”
8.2.3 项目监督与控制和“Scrum+极限编程”
8.2.4 供方协议管理和“Scrum+极限编程”
8.2.5 集成项目管理和“Scrum+极限编程”
8.2.6 风险管理和“Scrum+极限编程”
8.3 用敏捷实践实现CMMI工程活动的要求
8.3.1 需求开发和“Scrum+极限编程”
8.3.2 技术解决方案和“Scrum+极限编程”
8.3.3 产品集成和“Scrum+极限编程”
8.3.4 验证和“Scrum+极限编程”
8.3.5 确认和“Scrum+极限编程”
8.4 用敏捷手段实现CMMI支持活动的要求
8.4.1 敏捷环境下的过程与产品质量保证
8.4.2 敏捷环境下的配置管理
8.4.3 敏捷环境下的度量与分析
8.4.4 敏捷环境下的决策分析与解决
8.5 敏捷环境下实现CMMI过程管理的要求
8.5.1 敏捷环境下的组织级过程关注
8.5.2 敏捷环境下的组织级过程定义
8.5.3 Scrum环境下的组织级培训
8.6 敏捷环境下实现CMMI高成熟度的要求
8.6.1 敏捷下的量化管理:QPPO、基线及模型(OPP和QPM)
8.6.2 敏捷环境下过程优化管理:CAR和
8.7 敏捷环境下的CMMI评估应关注的两个问题
8.7.1 实施选择还是模型要求
8.7.2 理解模型的目的
敏捷环境下的两个CMMI实施和评估故事
第四部分 新一代精益软件工程
第9章 敏捷不是解决软件开发问题的银弹
9.1 再议软件过程的特殊性
9.1.1 软件过程公理
9.1.2 软件过程体系应追求的价值
9.2 敏捷的局限及挑战
9.2.1 如何尽早获取有价值的用户反馈
9.2.2 如何设计软件架构支持快速迭代开发
9.2.3 缺乏具体有效方法实现敏捷原则
9.2.4 忽略了开发中的等待队列
9.2.5 忽略了开发过程中的变异管理
9.3 有效软件开发借鉴之源及应具备的特点
9.3.1 软件开发借鉴之源
9.3.2 有效软件开发模式应具备的特点
第10章 软件开发的新模式——新一代精益软件工程
10.1 初级软件精益开发模式:看板方法
10.2 精益软件开发框架
10.3 用经济指标指导软件开发
10.4 用基本队列理论、统计方法管理软件开发过程
10.4.1 管理好软件开发中的等待队列问题
10.4.2 软件开发过程中变异量的管理
10.5 两个关键关注点
10.5.1 控制好软件批量开发规模
10.5.2 控制好软件开发队列的WIP个数
10.6 精益管理控制实践
10.6.1 在充满不确定的环境下,尽可能保持流畅的软件开发通道
10.6.2 充分、及时、有效地利用开发过程中的反馈信息
10.6.3 软件开发中集中与分散协调控制机制
10.7 实践出真知
参考文献
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...