The purpose in this phase is to complete the development of the system based upon the baselined architecture.
There are objectives for the Construction phase that help us to have
cost-efficient development of a complete product -- an operational version of
your system -- that can be deployed in the user community [KRO03]:
- Iteratively develop a complete product that is ready to transition to its
user community. Describe remaining requirements, fill in design details, complete
the implementation, and test the software. Release the first operational version
(beta) of the system and determine whether users are ready for the application
to be deployed.
- Minimize development costs and achieve some degree of parallelism. Optimize
resources and leverage development parallelism between developers or teams
of developers by, for example, assigning components that can be developed
independently of one another.
Typically, the Construction phase has more iterations (two to four) than the other phases, depending on the types of
- Simple project: One iteration to build the product (to a beta release)
- More substantial project: One iteration to expose a partial system
and one to mature it to beta testing
- Large project: Three or more iterations, depending upon the size
of the project (number of requirements to implement for a beta release)