You'll note that this phase includes not only programming, but some testing as well. The client has a reasonable expectation that, by the time you're finished, you will have developed bug-free code. This does not mean that you'll have caught every bug (otherwise phase 7 is unnecessary), but it should compile and run the test scripts without error.
ITERATE! Do the big things first, and test. Then add functionality, and test again. If things don't work out as planned, go back to Phase 5 and re-think your design.
Originator: The contractor.
Deliverables: Tested source code and/or binaries, as well as the scripts used for testing if requested for QA purposes.
Phase 5. Technical System Design Phase 7. Testing & User Acceptance