I've learned time and time again that every project is bigger than it looks. When I schedule out a game's development and look for an estimate of the time I need I always throw in a little extra, about 20%.You start a small project thinking it'll be easy, but it's always bigger than it looks. Those details come pouring out of your brain and only then can you see how much work you're in for.
I just wrote up a GDD for my next game and ended up with a longer list of assets (sprites, particle effects, necessary text instructions, sounds, etc.) than I expected. Luckily, I expected to be surprised and gave myself 5 weeks instead of the 4 I thought I'd need. My game is still on schedule and I'm making buttons for the main menu today (to have something to start with).
I like to keep the scope small for future games. a bit of polish goes a long way and it feels good working on a game you know you can finish.