Gathering relevant information about the problem, analyzing it and breaking it down into manageable pieces.