When should you code? Another thought. Unless you have a design, no matter how provisional, you SHOULD NOT start coding a solution.