敏捷包括TDD、重构、简单设计、持续集成等。
TDD确保编码前理解需要,并保持简单设计;同时TDD自身的大量自动化测试为持续集成提供了保证;在重
构代码时保证代码质量,达到简单设计。
敏捷思想提倡以人为本,持续改进,通过快速迭代实现频繁交互,保证与客户的沟通,减少对需求理解的
不一致,客户也可以及时调整需求来满足业务的变化。每一个迭代过程都是一个完整的瀑布流程,包括分
析、设计、编码、测试、部署等。
项目风险分为需求变更和沟通问题。敏捷实践就是在解决这些问题, 通过每个迭代的交付品, 客户可能发
现了新的需求或者发现已有需求并没有带来真正的价值; 开发人员与客户可以对需求达成一致, 如果有了
偏差, 就及时更正; 所有的人都知道项目的最新状态, 每个人都可以问:这么做对不对, 能够给客户带来
什么好处?
如果写单元测试很困难, 可能说明当前的类职责太多, 程序结构可以改进; 如果最近失败的比较频繁, 说
明代码变得不稳定, 发布的风险变大, 如果不能在一台干净的机器上编译, 可能说明编译对机器环境有依
赖, 不同机器编译出的结果不同