understanding is the key. if you understand the problem space and the problem surface, then it becomes as simple as wanting something and knowing exactly what will do what and what one has to do to get something to work. this works on all kinds of problems on all scales, though larger problems require more time (patience) and well documented logs to stay focused.
asking good/decisive questions helps understand the problem space/surface faster. questions like:
these questions give a direction to the investigation, threads which you can hold on to, one at a time. and as you go over a few of them, they start coming together and you reach a point where you have covered quite a lot of the problem surface.
with hard/complicated problems, shortcuts are almost always bad. while estemating, almost always estemate time needed to cover the surface area of the problem and a few days for the fixing the problem which includes cleanup, tests and reviews -- you would have a working prototype as you cover the surface.