敏捷开发
概述
敏捷建模(Agile Modeling)一种轻量级软件开发过程的家族名称。
AM不是一个完整的方法论,而是对已有的生命周期模型的补充。
目标
- 总体目标是通过尽早地,持续地对有价值软件的交付,使得客户满意。
- 强调软件开发应该能够对未来可能出现的变化和不确定性作出全面反应。
- 主要用于在需求模糊和快速变化的前提下,支持小型开发团队的软件开发活动。
管理原则
- 以人为核心,迭代,循序渐进的开发过程指导思想。
- 项目的构建被分为多个子项目分别实现。之间相互联系,独立运行。
12条原则
- 最优先原则:通过尽早,持续交付有价值的软件来使客户满意。
- 即使在开发的后期,用户的需求变更也是允许的。
- 经常交付可工作软件。
- 在整个项目开发期间,业务人员和开发人员最好在一起工作。
- 强化激励机制,为受激励的个人单独构建项目。
- 在团队内部,最富有效果和效率的信息传递方法是面对面交谈。
- 可工作软件是进度的首要度量标准。
- 敏捷过程提倡可持续的开发速度。
- 不断地关注优秀的技能和好的设计,增强敏捷能力。
- 简化原则:尽量简化所要做的工作。
- 好的架构,需求和设计出自于组织团队本身。
- 团队定期反省如何更有效地工作,并相应地调整自己的行为。
敏捷开发方法分类
- XP(极限编程)
- SCRUM(迭代增量过程)
- Crystal Methods(水晶方法系列)
- FDD(特性驱动开发)
- ASD(自适应软件开发)
- DSDM(动态系统开发方法)
- RUP