I tend write down lot of notes about the project before I actually start to program it. But not so much while I am developing, I would always go back and refer to my notes. Since most decisions I make in my notes rarely change, there's very little writing afterwards.