Being kind of an Agile nerd, I started an iteration/release breakdown of the app's features and functions. The thing I enjoy is figuring out the puzzle of having, at the end of each cycle or iteration - while not the complete app - still an end-to-end usable application, albeit very basic. Each subsequent iteration/cycle then adds another bit of complexity, but always resulting in a usable piece of software, not something that is pieced together only to (hopefully) work at the end.