I guess it depends on what you hope to get out of it... what I tend to do when I start a project is ask three questions:
What type of application do I want to see come out of this?
What technologies do I wish to learn during the course of this project?
What technologies do I wish to avoid learning during the course of this project?
They are all inter-dependant and will determine what features your application will have at first, what technologies you will use, and how much time you will spend on it. I have written small personal apps that didn't meet my criteria for #1, while it met #s 2 and 3, simply because learning the technologies was important to me. Such as an app I wrote for myself which can rip/split a PS2 Dual-Layer DVD into two ISOs on a Mac. I didn't want to write ripping software, but the knowledge came in handy for other PS2-related homebrew I attempted to tackle later on.