敏捷开发
敏捷方法
- 是一种增量开发方法。快速完成、快速交付
- 客户参与,以便获得关于需求变化的快速反馈
- 将设计和实现作为中心活动,其他活动融入其中
- 尽量减少文档化
敏捷宣言
- 个体和互动 高于 流程和工具
- 可工作的软件 高于 详尽的文档
- 客户合作 高于 合同谈判
- 响应变化 高于 遵循计划
敏捷方法的原则
- 客户参与
- 拥抱变化
- 增量交付
- 保持简洁
- 人而不是过程
敏捷开发技术
- 敏捷方法的基本思想来源于90年代的极限编程
- 极限水平:一个系统的多个版本由不同的成员在一天内开发、集成和测试
Scrum敏捷方法
被提出以提供一个组织敏捷项目的框架,在一定程度上提供项目进展状况的外部可见性
scrum术语
- 冲刺:一种开发迭代,通常2~4周
- 每日站立会议:例行会议
scrum冲刺周期
Scrum的优点
- 产品被分解成一组、可理解、利益相关者可以对应的条块
- 不稳定的需求不会影响进度
- 整个团队都对所有的一切保持可见
- 客户按时看到增量的交付,并获得及时反馈
- 客户和团队建立了 信任,每个人都期望项目成功
思考题:敏捷方法很成功,现实中仍存在的问题有哪些
大公司、复杂系统
- 非正式的特性与大公司的合同定义不相符
- 敏捷开发是应用开发而不是软件维护,大公司大部分的软件成本来自软件维护
- 敏捷方法适用于小的、同处一地的团队,现实中大系统开发团队都是遍布世界各地
维护阶段
- 缺少产品文档
- 保持客户参与
- 开发团队的延续性