Design is as much about iterating understanding of the problem as it is the solution. Your first attempt at both will be wrong.