课程介绍:
敏捷过程同样适用于大项目
敏捷过程不是开发者的游戏,而是工作者的指南
本课程有具有丰富软件工程实践经验的专家(熟悉传统过程,CMMI,RUP,敏捷),从客观而专业的角度带领您实践敏捷—而不是观赏敏捷。课程从分析常见问题入手,揭示各种软件工程方法的利弊,秉承"以人为本"的敏捷开发原则,关注敏捷开发的主要过程和公共实践。 首先让您了解都有哪些敏捷过程,这些过程有什么角色、执行什么工作、产生哪些产品。然后结合实际项目案例,教给您如何结合项目背景选择有效的敏捷实践,带领你体验完整的敏捷开发过程,在这个过程中来自不同企业的实践者一起学习并思考:如何让开发团队快速工作、及时的响应变化,按时交付用户满意的产品。最后,结合讲师的丰富经验和您一起探讨“适合您的敏捷过程”。
培训对象:
系统架构师、分析人员、设计人员、开发人员和测试人员
培训目标:
敏捷开发概述
大型复杂项目的敏捷开发扩展
敏捷项目规划与度量
敏捷--极限编程实践
敏捷--Scrum方法
基于敏捷软件开发的实践—工欲善其事,必先利其器
敏捷开发管理
敏捷建模
敏捷开发过程
敏捷测试
基于敏捷方法实践项目实战
课程大纲:
1、软件开发面临的问题
如何在资源和时间受限的条件下快速、连续的交付软件?
如何交付高质量的软件?
如何平衡成本、时间、质量和范围?
2、敏捷过程与其他过程
常见的过程框架:CMMI,RUP,结构化过程
都有哪些敏捷过程:SCRUM,XP,OpenUP
敏捷过程宣言
敏捷开发原则
3、大型复杂项目的敏捷开发扩展
大型项目多个敏捷团队的合作
多维度扩展处理方法的特点
敏捷过程与CMMI的融合
4、敏捷项目规划与度量
敏捷开发中需求的特点
规划的不同层次与思路
敏捷项目规模度量与估计
基于主题的优先级的度量
基于用分析矩阵确定优先级的度量
基于确定经济优先级的度量
5、敏捷开发实践 (XP方法实践)
计划游戏
现场客户
小版本,持续集成
测试驱动开发
简单设计,重构,系统Metaphor
结对编程,集体代码所有权
代码标准
6、敏捷--Scrum方法
什么是Scrum
自我管理团队
Scrum的角色分配
Scrum的流程
Scrum的人工因素
Sprint计划和Sprint backlog
每日Scrum
评审
7、基于敏捷软件开发的实践—工欲善其事,必先利其器
版本控制系统的搭建和实践
Bug管理系统的搭建和实践
Build系统的搭建和实践
测试驱动开发—XUnit实践
项目管理工具实践
8、敏捷开发管理
编写项目开发计划
组建开发团队,定义团队成员角色
制定开发进度表并将其发布至项目进度网页中
将产生的文档和代码签入至版本控制系统中
文档与项目实际开发进度保持同步
9、敏捷建模
编写需求文档:定义系统范围和需求
利用UML用例图捕获需求,并编写用例文档
根据用例图和用例文档进行系统概要设计
进行UML类图设计
进行UML顺序图设计
构建软件的原型系统
根据需求的变化迭代以上过程
10、敏捷开发过程
编写详细设计书,定义开发标准文档
组织团队成对编程
重构产生的代码
将产生的文档和代码签入至版本控制系统中
使用Build系统生成软件可运行版本
根据设计的变化反复迭代以上过程
11、敏捷测试
对代码进行实施单元测试
进行可接受测试
将测试中发现的Bug发布到Bug管理系统
根据开发的进度反复迭代以上过程
12、案例实战: 基于敏捷方法项目完全实践
工作路线图
产品列表和工作订单
发布计划
迭代计划
变更列表
角色分配,自我管理团队
简单设计
团队开发规范
个人开发规范
迎接变更
不断测试推动工作计划
持续集成
不断发布