The best way to actually accomplish a side project is to not think about how big it will get. Start with the basic idea and let the complications and nuances come into play when they need to.
In writing there is the expectation that the first draft won't be the final draft. You expect to throw away a lot of work as you draft and re-draft a work.
In programming there is allegedly a standard model of “create then iterate.” But those of you who work in software development: how often do you actually get to say “this is just the first pass”? How often do you actually get to go back and iterate on a feature you wrote last year?
Software development has been poisoned by school. In school you have a semester to complete a project, and you have to submit it once and that's all you get. You have to get it right the first time. (This is a wider problem; most of the western world has been ruined by that mindset from formalized education and we spend most of our adult lives either deprogramming ourselves from it, or being broken by it. Perfectionism is a cruel mistress.) Iterative development often falls prey to an expectation that each feature added to the system is perfect after a single sprint. It's insane.
Most of us who write code started by making weird little things on our own time. We made homepages on some free hosting site with obnoxious ads, or we modded our favorite game, or we wrote new games in ZZT. We weren't doing these things for money or for school credit, we were doing them out of the main stream of our “productive” lives. We were doing them for fun, on the side.
And now we get back to the title, clear up there at the top. Side Projects.
When you are working on a side project the key is to not make it feel like work at the outset. The key is to start, and to work on it a little every day, without getting too caught up in what it will eventually become or what it would look like if you were working on it forty hours a week for months. Side projects used to be called passion projects and that's a much better name for them. Let them be driven by your passion and your muse, and see where they lead you.
I’m publishing this as part of 100 Days To Offload. You can join in yourself by visiting 100 Days To Offload.