- Create the best solution I can think of, assuming there are no obstacles.
- The first step will result in unlimited answers. From these, I pick the ones that could possibly fit the best in the current situation.
- I try to implement and work with the best possible solutions. When all else fails, I step back to #2 and if needed, I step back to #1 again.
The big tip is not to focus so hard on the obstacles.
With clever thinking, your obstacles might not be obstacles in the end at all.