Finding a good formulation for a problem is often most of the work of solving it.

I agree with this intuitively, and I feel like I have seen this principle at work in my own work and in the problems I have tried to solve. However, when I try to convince others of this idea, I struggle to find examples that they can connect with or that they find compelling.

I suspect that programmers find this idea appealing because we routinely work with formal systems, and all of us know the experience of making a minor change in perspective and seeing an impossible problem turn into an easy one. So I'm most interested in examples that have nothing to do with code, examples that a lay audience would be able to grasp.

I would be *particularly* interested in examples from the history of science or medicine, if anyone can think of some. Scott and Scurvy is the only example I currently know of, and while interesting, does not seem like a perfect fit.

Much appreciated!

Information theory is a great example of this. You can find some nice articles around talking about the history of it. Basically Shannon lived with the details that would come to be abstracted by information theory for years and he felt there was some general way to describe it all, but it took him considerable effort to figure it out, and it was very much non-obvious that there was a good unifying abstraction or what it would look like before it was complete. Now the short paper that introduced information theory remains one of the most widely read academ... (read more)