For computer work, I use a hierarchical editor (such as cherrytree) and create a node for each big task.
So I have the list of big tasks, that I can easily rearrange by their priority, or put some of them on hold, and I can move the completed ones to an archive, which is also useful if I later need to figure out how I did something, or just need an overview of what I did each month.
But also each task has its own page, where I can write an outline of the steps I want to make (it's good to write it down first, before I get lost in the details of the first step), so after I finish a substep, I am immediately reminded about what is the next step. I also make notes about the things I learned while doing the task. So if I am interrupted from the work, I can later read the page again, and the context comes back.
With offline tasks, it is more difficult. Writing them on a computer, that includes the overhead of turning on the computer, and also the temptation to do something on the computer instead of the thing I was supposed to do. Smartphones have inconvenient screens and even more inconvenient input methods.
Seems to me that a good solution would be for every non-trivial task to take a piece of paper (let's say, A5 in Europe, Junior Legal in USA -- a compromise between "destroying the environment" and "inconveniently small for some tasks"), on the top write the task name using big capital letters, and use the rest of the paper for the list of steps and small notes. Each task is a physical thing, so you can take it with you when needed, e.g. if it contains a shopping list, you take it with you to the supermarket. You could arrange the tasks on a magnetic board by priority, and put the completed ones in an archive.
(Trivial tasks, i.e. those that don't need subtasks or notes, such as "do the dishes", you could put all of them on one paper. Scratch off the ones that are done; when you get out of space, rewrite the remaining tasks to a new paper.)
To overcome the trivial inconveniences with using the system, you need the magnetic board, and a stack of empty papers and a pen next to it. You could also put a calendar on the magnetic board or next to it, to reinforce the habit of going there.
This is heaving inspired by GTD.
Then there is another problem, if you start 1000 projects without finishing any of them, because starting a new project is always more fun than continuing an existing one. A good system can make it slightly easier to continue on an existing project, but ultimately you need to commit to finishing something.
I tried to experiment with "sprints", where every other Sunday I make a plan for the following 13 days and then try to follow it. If during those 13 days a new idea comes to my mind, I can be like "okay, this can go to the next sprint". I might create a paper for the new idea and make some notes on it, but not start any actual work. This is a recent thing, so I can't yet comment on how well it works.
After finishing any task/subtask and before starting the next one, go up the hierarchy at least two levels, and ask yourself - is moving onto the next subtask still the right way to achieve the higher-level goal, and is it still the highest priority thing to tackle next. Also do this anytime there is a significant unexpected difficulty/delay/etc.
Periodically (with period defined at the beginning) do this for the top-level goal regardless of where you are in the [sub]tasks.
I have the following problem: start with a goal that I know how to reach. Everything is there in my mind. But between the start and the finish I stray away from achieving it. It happens like this: I focus on a sub-task. Then, I focus on sub-(sub-task)s. Till I loose my focus.
I would like my process to be: finish the goal. Then, can focus on the sub-tasks and so on.
As now, I tried:
If you have some app or method I would really be grateful. I am looking into the GTD system now.