Because programs (like our story) also need well-defined beginnings and ends, a number of discrete events, and some indication of the ordering of these events, many programmers use diagrams like the one above (called flowcharts) to plan their programs. Flowcharts are visual representations of structured processes — encompassing computer programs, stories and scripts, business models, and more.