Do you create flow diagrams to map out program logic for features?
I have done so in the past and have always found it helpful. Do others do this? I am interested to know if it a widespread practice.
I will usually doodle a diagram flow of the expected process or customer interaction. Sometimes it translates directly into program logic, sometimes not so much.
Slightly different but I like to reason in states and will often draw up cellular automata to represent the different states of the system and how to move from one to another.
I've used UML activity diagrams on a project to document how some high level aspects of a REST API were expected to work, but mostly I've been using sequence and communication diagrams for the same effect.