Frederick P. Brooks in _
No Silver Bullet_ seems to have a perspective on that:
>
The reality of software is not inherently embedded in space. Hence it has no ready geometric representation in the way that land has maps, silicon chips have diagrams, computers have connectivity schematics. As soon as we attempt to diagram software structure, we find it to constitute not one, but several, general directed graphs, superimposed one upon another. The several graphs may represent the flow of control, the flow of data, patterns of dependency, time sequence, name-space relationships. These are usually not even planar, much less hierarchical. Indeed, one of the ways of establishing conceptual control over such structure is to enforce link cutting until one or more of the graphs becomes hierarchical.
I’ve been struggling with this before, and still haven’t found the time to put what I said
into a more concise and readable format, but the gist is: Maps are powerful because they help us navigate… ha… I guess I should just end the sentence here… but I wanted to say… navigate multiple dimensions at once. Wardley defines maps as visualizations where position and direction have meaning, so these encode additional information in a spatial way that we are very well adapted to intuitively understand. So not everything visual qualifies as maps in his (and my) view, especially the now ubiquitous infinite canvasses rarely encode meaning in position deliberately.
That power of such representations, however, can cause us to overlook that they all are just models of a reality that has more dimensions than included in the representations we are looking at. That’s why it’s easy for Brooks to just casually list a few different visualizations we can easily create for software which all highlight and leave out different aspects of the same thing. In conclusion, as long as we are not trying to look for the one ultimate representation but accept various different ones for what they do and don’t do, it’s a magnificent tool in our toolbox.
Brooks continues saying:
>
In spite of progress in restricting and simplifying the structures of software, they remain inherently unvisualizable, thus depriving the mind of some of its most powerful conceptual tools. This lack not only impedes the process of design within one mind, it severely hinders communication among minds.