Flows and diagrams are other good ways of simplifying complex, abstract things in software development. A database diagram can greatly help understand how the data of a platform is organized, while a sequence diagram provides a deeper understanding of what happens when.
I used UML to create many different flow charts and sequence diagrams. I have also created entity-relationship diagrams for some projects depending on the need. I used MS Visio, and mostly draw.io in recent years due to its integration with Confluence.