方法名称 | 最明显的特点 | 适用场景 |
---|---|---|
XP (极限编程) | 1. 对开发制度要求严格 2. 强调程序员的密切合作 3. 适用于对费用控制严格的公司 | 1. 开发团队规模较小 2. 需求变化频繁 3. 对开发过程有严格要求 |
Cockburn的水晶系列方法 | 1. 以人为中心,注重人的因素 2. 相比XP,纪律性要求较低 3. 在产出效率与易于运作间取得平衡 | 1. 项目规模和复杂度不同 2. 注重人的因素和团队协作 3. 需要在效率和易于运作间平衡 |
开放式源码 | 1. 开发人员地域分布广泛 2. 高度并行的错误修复(debug) 3. 任何人都可提交代码修正 | 1. 开源软件项目 2. 开发人员分布在不同地域 3. 鼓励社区参与和贡献 |
SCRUM | 1. 适用于明确定义、可重复的环境和问题 2. 强调可重复的开发过程 | 1. 项目需求和环境相对稳定 2. 注重过程的可重复性和可预测性 |
Coad的功用驱动开发方法(FDD) | 1. 迭代周期通常为两周 2. 区分首席程序员和类程序员两种角色 3. 首席程序员负责设计和指导,类程序员负责编码 | 1. 项目规模较大,需要角色分工 2. 注重快速迭代和可见功能 3. 有经验丰富的首席程序员领导 |
ASD方法 | 1. 三个非线性、重叠的开发阶段:猜测、合作与学习 2. 强调在开发过程中不断学习和调整 | 1. 项目需求不明确,需要探索和学习 2. 团队成员之间需要密切合作和沟通 3. 鼓励在开发过程中不断反馈和改进 |
通过这个表格,您可以根据各种敏捷开发方法最明显的特点和适用场景,在实际项目中判断采用哪种方法更合适。例如:
- 如果您的项目开发团队规模较小,需求变化频繁,对开发过程有严格要求,那么XP可能是一个合适的选择。
- 如果您的项目注重人的因素和团队协作,需要在效率和易于运作之间取得平衡,那么Cockburn的水晶系列方法可能更适合。
- 如果您的项目是一个开源软件项目,开发人员分布在不同的地域,鼓励社区参与和贡献,那么开放式源码的方法可能是很好的选择。