During construction, developers begin breathing life into the software by creating the source code that becomes the working computer program. Each developer fills in gaps in the detailed designs, creates source code, runs unit tests and debugs the source code, and integrates the source code with the projects main build.
On a well run project, the steady accumulation of functionality during construction gives the whole project a lift. The project spins into a high-performance hum as developers build on each others contributions, and mangers and users grow increasingly confident in the system as they witness the daily accumulation of new functionality. Construction can be the most enjoyable stage of a software project.
System testing is conducted in parallel with construction or a half step behind. It exercises the system from end to end, exposing defects that will be corrected by the developers.