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