软件开发面临的问题 |
- 如何在资源和时间受限的条件下快速、连续的交付软件?
- 如何交付高质量的软件?
- 如何平衡成本、时间、质量和范围?
|
敏捷过程与其他过程 |
- 常见的过程框架:CMMI,RUP,结构化过程
- 都有哪些敏捷过程:SCRUM,XP,OpenUP
- 敏捷过程宣言
- 敏捷开发原则
|
大型复杂项目的敏捷开发扩展 |
- 大型项目多个敏捷团队的合作
- 多维度扩展处理方法的特点
- 敏捷过程与CMMI的融合
|
敏捷项目规划与度量 |
- 敏捷开发中需求的特点
- 规划的不同层次与思路
- 敏捷项目规模度量与估计
- 基于主题的优先级的度量
- 基于用分析矩阵确定优先级的度量
- 基于确定经济优先级的度量
|
敏捷开发最佳实践 (XP方法实践) |
- 计划游戏
- 现场客户
- 小版本,持续集成
- 测试驱动开发
- 简单设计,重构,系统Metaphor
- 结对编程,集体代码所有权
- 代码标准
|
敏捷--Scrum方法 |
- 什么是Scrum
- 自我管理团队
- Scrum的角色分配
- Scrum的流程
- Scrum的人工因素
- Sprint计划和Sprint backlog
- 每日Scrum
- 评审
|
基于敏捷软件开发的实践—工欲善其事,必先利其器 |
- 版本控制系统的搭建和最佳实践
- Bug管理系统的搭建和最佳实践
- Build系统的搭建和最佳实践
- 测试驱动开发—XUnit最佳实践
- 项目管理工具的最佳实践
|
敏捷项目管理 |
- 编写项目开发计划
- 组建开发团队,定义团队成员角色
- 制定开发进度表并将其发布至项目进度网页中
- 将产生的文档和代码签入至版本控制系统中
- 文档与项目实际开发进度保持同步
|
敏捷建模 |
- 编写需求文档:定义系统范围和需求
- 利用UML用例图捕获需求,并编写用例文档
- 根据用例图和用例文档进行系统概要设计
- 进行UML类图设计
- 进行UML顺序图设计
- 构建软件的原型系统
- 根据需求的变化迭代以上过程
|
敏捷开发过程 |
- 编写详细设计书,定义开发标准文档
- 组织团队成对编程
- 重构产生的代码
- 将产生的文档和代码签入至版本控制系统中
- 使用Build系统生成软件可运行版本
- 根据设计的变化反复迭代以上过程
|
敏捷测试 |
- 对代码进行实施单元测试
- 进行可接受测试
- 将测试中发现的Bug发布到Bug管理系统
- 根据开发的进度反复迭代以上过程
|
案例实战: 基于敏捷方法项目完全实践 |
- 工作路线图
- 产品列表和工作订单
- 发布计划
- 迭代计划
- 变更列表
- 角色分配,自我管理团队
- 简单设计
- 团队开发规范
- 个人开发规范
- 迎接变更
- 不断测试推动工作计划
- 持续集成
- 不断发布
|