I'm not entirely sure how to call what I'm looking for, but I'm wondering how you go about organizing your thoughts and your notes as you plan and expand upon a project. Projects fast reach a size where keeping all of that structure in your head is an excessive mental burden or outright impossible, I'm realizing, especially if you take a break from them.
Right now I have: a title, a brief description, a mass of loosely-organized notes, and a bunch of semi-documented code in an alpha state. What I want to do is to take that description and elaborate on it iteratively so as to tease out the main features or components of the program, giving myself a better overview of its current state and where it's heading, and helping me to organize all those notes more effectively. This has proved easier said than done, however, and I'm wondering if there are any formalized methods or insights into this process which could prove helpful.
A little googling and a skim of the tables of contents of both HTDP and SICP didn't turn up anything promising; it seems as if everyone who sets out to teach you how to program gets right down into the nitty gritty of data structures and coding exercises awfully quickly, but even if you prefer to start your project at that level you have to return to the design phase before long. I would be grateful for anything to point me in the right direction.