| 维度 | 极限编程(XP) | 特征驱动开发(FDD) | Scrum | 看板方法(Kanban) |
|---|---|---|---|---|
| 核心价值 | 简单、反馈、勇气、沟通、尊重 | 以特征为中心、质量、开发可见性、结果、团队协作 | 承诺、专注、开放、尊重、勇气 | 可视化、限制在制品(WIP)、管理流程、明确政策、持续改进 |
| 迭代长度 | 1-2周 | 2周 | 1-4周(通常为2-4周) | 根据需要持续优化 |
| 角色 | 程序员、客户、测试员、跟踪员、教练 | 项目经理、首席架构师、开发经理、特征团队 | 产品负责人、开发团队、Scrum主管 | 无特定角色,整个团队协作 |
| 工件 | 用户故事、验收测试、代码、度量数据 | 特征列表、设计包、跟踪表 | 产品待办列表、Sprint待办列表、燃尽图 | 看板板、累积流程图、挣值图 |
| 适用场景 | 需求不明确、团队规模小、技术难度高的项目 | 需求相对稳定、团队规模中等、业务逻辑复杂的项目 | 需求经常变化、团队规模中等、注重快速交付的项目 | 需求连续到达、注重流程优化、追求快速迭代的项目 |
| 优势 | 强调技术实践、适应变化、开发人员主导 | 特征驱动、设计和代码质量高、适合较大项目 | 易于管理、适应变化、团队自组织 | 可视化管理、限制在制品、持续改进、适应变化 |
| 缺点 | 对开发人员要求高、缺乏正式文档、不适合大型项目 | 前期设计工作量大、需要有经验的架构师、不够敏捷 | 对Scrum主管要求高、缺乏技术实践指导、每日会议可能流于形式 | 缺乏明确的迭代、对长期计划支持不够、需要团队高度自律 |