Personally, I tend to write down everything I want the
script to be able to do. Then I write down everything that
my boss will expect it to do. Then I wrap my boss's
book up in the single sheet of my expectations and pound
myself unconscious. When I wake up I usually have a
reasonable idea of what I'm going to start with...
OK, actually, I flowchart tasks and APIs first.
Much like OOP, I try and figure out what will be done
in a general overview and how the big pieces will fit
together. Once I have that idea, I pick a small chunk near
the middle of the whole shebang and try and get it to
respond to my first API spec. Then I flesh it out and
start on a neighbor that calls or uses that chunk.
At about the 50% level, I start deciding what to re-write.
=) There is no such thing as 100% (at least so far)
--
$you = new YOU;
honk() if $you->love(perl)