Inception
Develops use cases that will drive the next increment of progress. Should be the shortest phase.

Elaboration
Identifies known risk factors. Design a system architecture that addresses those risk factors. Validates that system architecture. May use the Unified Modeling Language (UML) to create use case diagrams, preliminary class diagrams, and package diagrams.

Construction
Implements the system architecture. Produces new executable architecture baseline. Normally the longest phase.

Transition
Delivers executable architecture baseline to users, who will report bugs and request features that serve as inputs to the Inception phase of the next iteration.

For debugging: Click here to validate.