1) Establishing the definition of the problem
2) Establishing what it means to solve the problem
Without 1, you get type errors (bake a cake with this hammer).
Without 2, you get scale errors (buy a cake with this penny).
But having these things is not sufficient to solve the problem. The user still does not have a cake.
What you might have is a bet. "Based on our research, we *think* that giving the user money will let them buy a cake." We have to place the bet and see if we were right.
A smart bet minimizes the risk. Maybe we did research and found that some cakes are $5. We give the user a fiver.
We were wrong, but we only lost five bucks, and gained a lot of knowledge about the dimensions of the problem.