什么是敏捷开发?
敏捷开发以用户的需求变化为核心,采用迭代、循序渐进的方法进行软件开发。
敏捷开发模式的分类
- XP极限编程(eXtreme Programming)
- SCRUM
- 水晶方法
- 动态系统开发方法
- 精益开发
其中XP和SCRUM最为流行。
极限编程
极限编程是一种轻量,高效,弹性的软件开发方式。
四大核心价值观
- 沟通:
完善的流程和详细的文档用于团队协作虽然能够保证一致性,但效率往往不高。
极限编程提倡通过高效的口头沟通来保证整个团队的高效协作。(并不是舍弃流程和文档,只是更加侧重口头上的沟通)
- 简单:
==今天够用就行。
那么系统的扩展性怎么实现?
极限编程提倡重构。(对开发人员要求较高)
重构建立在软件开发中无法避免出现BUG的前提下,与其最后修改整体的BUG,不如在一次次的重构迭代中反复扩展优化。
- 反馈
通过提前编写测试代码,经常性的反馈代码的问题和进展。
在开发过程中,通过持续集成,使得每一次的发布都可以成为可执行版本。
- 勇气
应用极限编程,每时每刻都在应对变化。这要求开发者时刻面对快速开发,重新开发。
变化在软件开发中是不可避免的,极限编程的思想就是将变化扼杀在摇篮中,避免最后形成一个无法重构的庞大工程。
13个最佳实践