This is a baity headline that doesn't actually match the article's topic (although the article's author probably thinks so).
It should've been called "Create a clear problem statement before you create a product to solve that problem," because the situation they're describing has little to do with abstract problems and more to do with not defining the concrete problem in the first place.
There are plenty of situations where abstract problems exist that require thought rather than iteration. You only need to look at risk analysis and planning to see an example close at hand. Further afield you've got tonnes of examples in math and physics, and even further back the whole field of philosophy began because of abstract problems. These things don't have a concrete product as their goal though, which is a situation that this article describes.
There have been a few posts on HN recently that make this same misunderstanding. Problems in the web/social industry are rarely well-defined, and people think the problem is that we don't have good algorithms or that thinking hard is somehow ineffective. But the real problem is nobody clearly knows what the problem is. I claim that this is the clearest evidence that software engineers should develop more mathematical thinking skills.
It should've been called "Create a clear problem statement before you create a product to solve that problem," because the situation they're describing has little to do with abstract problems and more to do with not defining the concrete problem in the first place.
There are plenty of situations where abstract problems exist that require thought rather than iteration. You only need to look at risk analysis and planning to see an example close at hand. Further afield you've got tonnes of examples in math and physics, and even further back the whole field of philosophy began because of abstract problems. These things don't have a concrete product as their goal though, which is a situation that this article describes.