designing, planning, and coding need to be merged and be iterative