belize has asked for the wisdom of the Perl Monks concerning the following question:

I have searched perlMonks with little success on techniques, software, suggestions on how to go about planning your software prior to writing any code.

I know that we use the old "Flow Chart" method through several revisions. We refer to this Flow Chart a number of times, and will even develop specific ones for parts of a subroutine.

I would also think that these flow charts would be invaluable when trying to understand what others are doing, or going back after sometime and trying to under stand what YOU did.

Any comments, ideas, suggestions on the most efficient and "correct" way to plan or map out software prior to writing? Anyone use software to plan (i.e. Visio).

BTW, in all the Open Source code that I have looked at, I have never seen a flow chart or map of the logical flow of the software.