Business people are collaborated with and provided results throughout the project lifecycle, not just at the end of the project as with traditional software development.
Working software is delivered early (within the first several weeks) and often to shorten the feedback loop and provide business value as quickly as possible. A continuous integration build server will be set up to recompile the application, run the automated tests, and deploy the application whenever changes are made.
Iterative-software development lends itself to making changes on the fly as business people review and suggest improvements to working software.
Automated tests are written while the application is being built ensuring features work as expected and added features do not break existing functionality.
Because of the aforementioned items, the risk is significantly mitigated as business people are included in every step of the process, change is expected, and appropriate tests are in place to ensure changes in direction don’t break existing functionality.