I have love-hate relationship with metaphors. They can be extremely helpful in explaining complex stuff, but can also be horribly misunderstood or misused in wrong context.
One of these horrible metaphors in software architecture is a picture of a building or city to explain (enterprise) architecture and the architect as a title. This metaphor caused much more harm than good. Following are the main differences between the two:
- Software architecture is…well…soft. It’s quite difficult to refactor a building, while refactoring even the foundation of a software system has become a normal part of Scrum cadence.
- Developing software is for most part a very creative process, while assembling a building with pre-build walls requires much less creativity and a lot of precision. There is little room for mistakes.
- The number of options to build a software product is magnitudes larger than for buildings. The speed of improvement and innovation in software is also much faster. Therefore, too much standardization in software development, in contrary to building construction, blocks improvements and innovation.
![]() |
Japanese Marble Bonsai |
On other hand, a metaphor of a bonsai tree can show us what Agile Architecting is.
- It is about having required complex behavior, while spending minimal amount of water and space.
- Continuous refactoring towards clean and minimal structure.
- It is about getting rid of any technical fanciness without clear value.
- It means taking care of the tree throughout the whole lifecycle.
- Let it grow first, before seeing which improvements are useful. Don’t be too late.
- Make very small improvements. Bigger ones tend to be too complicated.
Sandai Shogun no Matsu is a more than 500 years old bonsai tree.
This really is the best metaphor a came across so far. Though refactoring the foundation of a bonsai seems challenging ;)Really enjoy reading your posts.
Ha, true! Even this one is not perfect. Glad to hear that you enjoy the posts. It motivates me to write more.
Hi Viktor,We people love visualization and I love metaphors.The reason buildings and towns are often used as metaphors in IT architecture, is because we adopted the term "Architecture".If you want the building and town metaphors to dissappear, you will have to choose another term for architecture. Regards,Johan Theunissen
I just might! π
Amazing! I am an Enterprise Architect, and I also have the hobby of growing bonsai. While working on a bonsai tree, I came to realization that the same mindset, mindfulness, and practices that it takes to grow and sculpt a bonsai trees parrallel what is/should be done when doing Enterprise Architecture, which you also describe so well. It is nice to see that someone else has also seen metaphor between architecture and bonsai disciplines.