I would think some way to keep track of a start and end and how you plan to get their while accomplishing all the tasks in between is useful. I would suspect it to be more useful as complexity increases. Maybe not so much a flow chart per say but some kind of notes or something. I find it hard to believe Bill Gates sat down and wrote windows without so much as basic game plan scribbled out on a piece of paper.
Mind you I’m more of an analog guy who manages to muddle his way through assembly or C with pitily 8bit micro’s.
You have some points there. having an overall plan can be helpful... but they tend to look more like a block diagram than a flow chart. A flow chart focuses on actions. A block diagram focuses on interactions, communication, and interfaces. They can be especially helpful when trying to partition work.
Software "engineering" has had at least two major revolutions:
1) About 20-30 years ago we got Object Oriented Programming: The major observation here was that focusing on the data instead of the processing makes for better processing.
2) About 10+ years ago we got Agile/Test-Driven-Development/Rapid-Prototyping/...: I see all these as aspects of a few observations (
http://agilemanifesto.org/ ), which I interpret as: a) Focus on interfaces b) its easier to modify something that works than bite off big chunks. c) focus on the end-goal/customer (not directly relevant to the current discussion)
The fact of the matter is that a flow chart doesn't "work" ... so it doesn't make a good starting point.
P.S. now that I have ranted long enough ... another aspect of agile is to focus on the team, and what works for them. If flowcharts float your boat, go for it. I will scratch my head while you draw boxes, and start writing some tests.