敏捷的价值观
- 个体和交互 胜过 过程和工具
- 可以工作的软件 胜过 面面俱到的文档
- 客户合作 胜过 合同谈判
- 响应变化 胜过 遵循计划
敏捷开发是迭代的过程,是对传统瀑布式开发模式一种颠覆,每次迭代结果都应该是一个可以交付的产品,迭代的周期尽可能的短,迭代顺序先是重要的功能或风险大的模块,提倡研发人员和客户交流不断获取用户最新需求,随着迭代次数增加功能得到不断的细化、完善,这些特点可以增强产品对市场需求的适应能力,这难免对软件架构设计要求很高,代码需要不断的重构,而且要求一套不断完善的测试驱动程序来保证安全的重构过程。