Dan has trouble with planning. Here's what has worked very well for me so far:
- write exactly what I need right now
- when patterns emerge: refine, revise, or rewrite
- repeat
I used to be pleasantly surprised by how easy step 2 is with Lisp. Now it's no longer surprising, and only pleasure remains.