Thanks for your answer, that's very interesting. It seems that most of us have different techniques
I'm impressed on how much design some of you do. Congratulations on that! I something wish I could motivate me to do more, but I'm really more into code.
For a hobby project like mine, I would not consider full formal documentation, but it seems that some of you do it more seriously than I do though. I have some documentation, but mostly written a priori and a lot of it is still on paper.
There's a catch there: that existing architecture is already influencing your design (effectively becoming a shortcut). You will probably end up with something that's similar to what's already there, and probably even takes advantage of the already existing features.
A lot of the planning you're seeing comes from before the architecture even exists, which means the design pretty much has to be made from scratch. No shortcuts available to take here.
You're right, the existing features and design do influence the new features. Nevertheless, I try to polish the existing as much as possible with refactoring when I can. Since I enjoy some refactoring and a good design, this is not something I mind. With this technique, I've something working quite early, even if not perfect.
It's fun to just jump in and start implementing something, but it's important to realise that while you might not think it now, eventually, something you didn't plan will come back to bite you in the @$$, one way or another (Although if you never make it to eventually, then you'll be happily immune to this problem). It's also good to remember, planning doesn't guarantee you'll write it properly the first time, however, it makes it a lot easier to look back on what you did before and see what you did wrong. Just be careful that you don't get too caught up in planning the perfect system and then never get around to implementing it. No planning at all is a nightmare to look back on, and too much planning means you'll never get to the point of looking back on your work, so try to get a healthy balance of both.
That's very well said and so true indeed.
In the end, as long as the objective is fullfilled, it all comes to down to personal preference I guess (in the context of hobby project of course).