Completely code and test during each cycle
Make certain that you have designed to a level of detail that can be completely coded and completely tested.
At every stage in the program development cycle, you should be able to code and test to the level of detail to which you have done the design.
If that isn't the case, you need to rethink the level of detail to which you are designing, coding, and testing during that cycle.