When you start solving a problem, be sure to understand the starting point, the end goal, and the obstacles in between. The worst possible thing is to produce a solution that actually doesn’t do what’s expected.
MORE IDEAS FROM THE ARTICLE
It's important to understand what is how big the problem is.
Use questions like:
The chance someone else already solved your problem is high. All you have to do is a search in the literature to find out if there is a solution for a problem matching your use case. There is no point in reinventing the wheel.
Implement your solution trying to make it understandable by your grandma.
Avoid fancy and complex implementations. Put them aside in favor of a simple and understandable one. And optimization to the moment they are necessary.
Often the most difficult step, because it's easy to focus on the wrong part of the problem, or look at the problem too broadly.
The first thing you need to do is reduce it to its simplest and purest form so you know exactly what you're dealing with. While you're doing this, you need to ask yourself questions to make sure you're focusing on the right things.
Data and precedent are important but at some point, you just have to take action.
Get enough research to understand the issues and then engage your creativity to find new ways to better solve old issues.