So what happens, exactly, within an iteration? In
almost every iteration, developers perform the following activities.
So they identify which pieces of functionality this
iteration will develop, will implement. After doing that, they
will create a design, for the considered use
cases, and they will do that guided by the
chosen architecture. So the set of use cases
plus the architectural guidelines will result in a design
for the selected use cases. Once the design is defined,
then the developers will implement the design, which will result
in a set of software components. They will then verify
the components against the use cases to make sure that the
components satisfy the use cases, they suitably realize the use
cases. And they will do that through testing or some
other verification and validation activity. Finally, after verifying that the
code actually implements the use cases, they will release a product,
which also represent the end of the iteration. And notice that
what I put here is an icon for the world,
in double quotes. Because in many cases the release will be
just an internal release or maybe a release that will just
go to some of the stakeholders so that they can provide
feedback on that. Okay. So it doesn't have to be an
external release. It doesn't have to be a release to the
world. But it is, nevertheless, a release of a software product. .