This is good advice, and I agree!
Anything larger than a small project will need to be put aside for a while from time to time (for whatever reason), and I've found that making it easy to pick it up again is one of the most important things you can do.
My strategy for this (admittedly most suitable for software projects):
1) Write down your large, fantastic vision for the finished, complete project.
2) Write down the smallest possible feature that would bring you some utility. MVP, if you like.
3) Take this requirements and write an automated test at the highest level of abstraction possible. It should almost read like the MVP requirement you just formulated. That doesn't have to mean BDD, just something you can read easily.
4) Implement until the test passes.
5) Go to 2.
What I've found over the years is:
- Quickly reaching milestones of utility are key for keeping motivation while working. This is obvious, of course.
- The written down vision brings the motivation and big picture plan back when picking things up: Get your blood pumping again!
- The automated tests help keep implementation going when your drive falters. What should I do know? You should just make the test pass. Nothing harder than that. No need to think super hard. Just try to make it pass.
- The automated tests help you get hacking again without the immediate fear of breaking things: Get the ball rolling again, quickly and easily!
- The automated tests also serve as your requirement specification so far: You can easily see what already works.
Side projects are so important, and one should make it as easy as possible to sustain and restart them! Good luck!