how you go about building software. But the rewards, as you’ve seen, are plentiful.
The development techniques I have described are crucial in order for agile to fulfill its promise of delivering high-quality software that can rapidly adapt to changing requirements. They allow software developers to change direction and potentially make sweeping changes to the design and architecture of the software while ensuring that existing functionality doesn't break. This intrinsic flexibility and adaptability in the software coupled with agile project management techniques is what enables an agile project to turn on a dime to meet new and emerging customer needs.