This is the fundamental concept behind UP. The idea is
fairly simple: divide a big project into smaller easier to manage sub projects.
This is sort of like Legos, the toy building blocks. A single block alone is
nothing but a rectangular piece of plastic, but put together, you can make
large, complex structures. Likewise, in UP these small, easy to complete,
sub-projects are put together to form the whole project. Each of these
subprojects is an iteration.
Each iteration contains the elements of any normal software
project: planning, analysis, development, testing and deployment. Each
iteration forms the basis for the next iteration and constitutes a partially
complete aspect of the system. What you add in the next iteration of your
project to the existing basis is called an increment.
The UP distinguishes between two types of concepts:
workflows and phases. As we will see later, work flows can span phases; let us
first tackle the two concepts and how they relate.