为什么要用敏捷?如今,项目管理的步伐越来越快。项目管理需要更灵活、更积极地,响应客户的需求。使用敏捷项目管理方法,项目经理可以在不影响价值、质量和商业规则的前提下实现所有目。
1.1 目标
主要目标:在预算和时间范围内交付符合客户需要的高质量的软件产品
其他目标:提高团队成员能力获得度量数据以改进流程和提供可预测性
1.2 策略
项目成功的关键:
1.2.1 需求分析 —功能
将需求转化成功能:用例( RUP),用户故事(敏捷)。
1.2.2 领域建模 —理解业务领域
如何实现领域建模:
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 展示成果
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) | Powered by Discuz! X3.2 |