IMHO, it depends on what you're doing. If it is going to be a short, simple script, I don't bother. But if I am going to be writing a large and involved program, I sit down with pencil and paper, and I start planning out the basic design of the program. I also check CPAN to see if there is something out there that would make the task infinitely simpler as well.