RAD may be conducted in a variety of ways. Iterative development breaks the
overall project into a series ofversions that are developed sequentially. The most important and fundamental requirements are bundled into the first version of the system. This
version is developed quickly by a mini-waterfall process, and once implemented, the
users can provide valuable feedback to be incorporated into the next version of the system. (See Figure 2-5.) Iterative development gets a preliminary version of the system
to the users quickly so that business value is provided. Since users are working with the
system, important additional requirements may be identified and incorporated into subsequent versions. The chief disadvantage of iterative development is that users begin to
work with a system that is intentionally incomplete. Users must accept that only the
most critical requirements of the system will be available in the early versions and must
be patient with the repeated introduction of new system versions.