The quality of the solution you are developing is intimately related to the amount of questioning, challenging, and reframing the problem that needs solving upfront - essentially what we discussed in A. Explore or reframe the problem. Once you have reached the designing the right thing stage, that questioning will continue through solution prototyping, iteration and adaptive learning.
At its roots, design is an iterative and collaborative process that brings designers, developers, researchers, and users together to continually improve upon a solution by testing and tweaking it in real life situations. The design process allows you to continuously refine solutions based on feedback from potential users to arrive at a final solution. The goal of prototyping and iteration is to opens up the space for continuous learning and get one closer to the answer, solution, or discovery with each repetition. Essentially, iterative prototyping is like a conversation you have with your ideas. Early stages of prototyping, in particular, create a space for learning more about both problem and solution. Later stages of prototyping then provide a systemic way of taking feedback to grow our knowledge and influence the solution. The end result is that even in the solution phase, throwbacks to the problem and fundamental questioning of it are actually a sign of a good design process.