为何要用敏捷?现在,项目管理的步伐愈来愈快。项目管理须要更灵活、更积极地,响应客户的需求。使用敏捷项目管理方法,项目经理能够在不影响价值、质量和商业规则的前提下实现全部目。程序员
1.1 目标数据库
主要目标:在预算和时间范围内交付符合客户须要的高质量的软件产品设计模式
其余目标:提升团队成员能力得到度量数据以改进流程和提供可预测性安全
1.2 策略架构
项目成功的关键:工具
1.2.1 需求分析 —功能单元测试
将需求转化成功能:用例( RUP),用户故事(敏捷)。测试
1.2.2 领域建模 —理解业务领域编码
如何实现领域建模:spa
1.2.3 设计与编码 —质量
如何保证代码质量:
1.2.4 TDD
测试先行、自动化构建与持续集成保证项目的可靠性。
测试先行:
工具: Concordion,JUnit, Mockito, DBUnit, Fitnesse, Selenium, jsUnit,这些工具能够帮助咱们作到测试驱动开发。
1.2.5自动化构建
自动化构建可方便切换操做系统、中间件和数据库
工具: Maven, Ant, Gradle,这些工具能够帮咱们作自动化构建。
1.2.6 持续集成
工具: Jenkins, Hudson, Continuum,这些工具能够帮咱们作到持续集成。
1.2.7 质量度量和设计评审
开发人员的七宗罪 | 设计评审 |
复杂性 | 是否实现了预期功能 |
重复 | 是否适合总体架构 |
缺少单元测试 | 是否安全、可靠、高效 |
不符合编码规范 | 是否足够简单、清晰、可读 |
注释不足或太多 | 是否易于扩展 |
潜在的Bug | 是否测试了各类边界条件 |
意大利面条式设计 | 可否提炼通用概念和逻辑 |
工具: Sonar能够帮咱们作代码评审,管理代码质量。
2.1 敏捷宣言
响应变化 赛过 遵循计划
虽然右项也有价值,但咱们认为左项更有价值。
2.2 项目的敏捷开发方法
2.3 估计故事规模
估计方法:规划扑克由开发团队估计故事规模,客户表明不干涉。
2.4 排定故事优先级
根据业务价值和风险设定用户故事优先级:
由客户表明或产品经理负责排定优先级
2.5 进度安排
2.5.1 发布规划
1.肯定满意条件 2.估计用户故事规模 3.选择迭代周期长度 4.估计速度 5.肯定用户故事优先级 6.选择用户故事和发布周期
2.5.2 迭代规划
1.调整优先级 2.肯定目标速度 3.肯定迭代目标 4.选择用户故事 5.把用户故事分解为任务 6.对任务进行估计
2.5.3 每日例会
1.天天固定的时间进行 2.限时15分钟左右 3.每一个人站立进行每一个人回答三个问题:1.昨天作了什么? 2.今天打算作什么? 3.存在什么问题?
2.6 跟踪与交流
2.6.1 看板
2.6.2 图表与度量
从下图能够看出每周实现的用户故事
2.6.3 展现成果
以上是以前培训的一些东西,整理一下分享给你们。