I think another important thing to do is to choose a software development methodology for personal (or small group) projects. In my case, I like the agile software development for my personal projects, it makes the projects more enjoyable.
But when I'm just working on it myself, for myself, and not interacting with others about it, I find it's best just to free-form it.