总结:
1. 以人为核心,迭代、循序渐进的方法;
核心思路:
1. 把大项目拆分为相互联系的很多小项目,分别完成,过程中保持一直可用
常见误区:
1. 适应性 而非 预设性
2. 面向人 而非 面向过程
主要方法:
1. Scrum (角色清晰,管理方法成熟,常被滥用)
2. 极限编程 (极限拆分、精确、简单)
常用思路:
1. 测试驱动开发 —— 先写测试、再开发。使得需求明确,验收方便,减少文档滞后。
2. 持续集成
3. 小版本发布
4. 重构
5. 结队编程
6. 站会
7. 较少的文档 —— 主要靠测试
8. 以合作为中心,表现为代码共享
9. 现场客户
10. 自动化测试
11. 可调整计划
常见误解:
1. 敏捷对人的要求很高(过程和开发本身就要求开发人员的一定素质)
2. 敏捷没有文档,不做设计(太绝对)
3. 敏捷好,其他方法不好 (要灵活应对)
4. 敏捷就是XP(极限编程),就是Scrum (敏捷是思想,Scrum是方法)
5. 敏捷很好,因此我要指定标准,所有项目都要遵循这个标准 (敏捷是动态的,要灵活应用)