For example, requirements management begins during the early phases but becomes even more important in the later phases. A mature process encourages multiple builds, each representing a subset of the system. Few requirements are clearly understood or agreed to at the outset. So you start with what is clearly understood and tease feedback out of the end users. As design and development proceeds, attention turns to analysis and definition of those less clear requirements all before hard coding.
End users can ensure that the completed application meets expectations.
Iterative builds let users see and share in the progress. Each iteration reveals problems. The sooner in the cycle this occurs, the less cost and rework will be required. When the last build is completed, you are ready to test the system as an integrated whole. The operation and installation plans require training and testing people in use and maintenance of the application.