Visualizing software has always been a complicate matter. I haven’t seen it done effectively very often. Its a field with a myriad of individual opionions were you quickly get lost.
The most prominent character in the field is UML(Unified Modeling Language). However, UML serves as tactical tools, which is useless without a visualization strategy. Speaking for myself UML has always been a love-hate relationship. In school I learned howto apply every singly type of UML diagram....
Monoliths cover multiple aspects of an organization and often show unregulated growth, commonly known as big-ball of mud. They are usually to big to benefit from a cloud deployment and certainly are not separating concerns. Scaling up individual parts as needed is difficult and developers facing a high cognitive load looking at a huge code base. A remote team structure usually struggles with conflicts.
Breaking up such a monolith might be a real challenge since it is often the central application for data entry....
Your application has an architecture even if it was accidential.
A typical scenario Imagine an everyday situation. A team is working on a green field project solving a non trivial problem. The team is experienced, conducting proper testing and documents all public APIs. Time passes and the team structure changes. New developers are coming in, others leaving. A new developer might wonder why API calls were implemented synchronously and extends the software using asynchronous one; since asynchronous communication is the new best practice she is convinced…....