I like to divide solutions into four approximate categories based on what sort of scenario they're applying to:
1. Collaborative situations: your solution works better and better, because people notice and work with you. Ex: designing an icon or coining a word for a new concept; over time more and more people recognize it, use it, etc.
2. Indifferent situations: your solution continues working about the same, because it's not about interaction with others who adapt. Ex: enabling compression on HTML serving, inventing joist hangars, new cancer surgery technique. Most inventions and engineering is in this category.
3. Decay situations: your solution slowly stops working as well, because the world moves on. Ex: payroll software needs to be updated as payroll regulations change.
4. Adversarial situations: your solution quickly stops working well, because others are directly trying to counter your work. Ex: investing strategies, antibiotics, ad fraud, ad fraud detection.
When you're evaluating a solution based on how it seems like it would work in the current world, thinking about how collaborative-vs-adversarial the situation is helps you predict what the full rollout of your solution would look like.