I'm interested in data/information/knowledge management, so I am building an application for this purpose in an effort to understand the concepts better. However, since I'm building this for myself (and perhaps for others in the future), I have to play the role of customer/client as well as requirements analyst (in addition to software engineer, quality assurance, tester, and more). This is leading to some problems as there are a large number of features I want, and I'm not sure how to manage them.
Should I track all requirements, and then decide what order to do them in, perhaps breaking them up into several releases? Or should I treat every feature (each has its own set of requirements) as a separate application that will be integrated? Or is there a third (or forth, fifth, or sixth) alternative that I am missing?