Flowcharting That's literally just the first link off Google. Research flowcharting, it can immensely aid development, as you can see the general logic before actually coding, and it will make it much easier to break the whole thing down and code each routine. This won't help so much with hacking existing shit - this is applied to coding new stuff (whether adding code to an existing game, or making one from scratch).
I hate flowcharting. It is so confusing. For planning a program, I generally like pseudocode. It's easier to handle and takes on a "programmy" feel to it just in the planning stages. I'm not saying that flowcharting is not the way to go; it's just a matter of personal preference. Either one is good and I have learned both, so don't rule out pseudocode as a consideration for planning a program.