Bonsai, Agile Architecting metaphor

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.
  1. It is about having required complex behavior, while spending minimal amount of water and space.
  2. Continuous refactoring towards clean and minimal structure.
  3. It is about getting rid of any technical fanciness without clear value.
  4. It means taking care of the tree throughout the whole lifecycle.
  5. Let it grow first, before seeing which improvements are useful. Don’t be too late.
  6. Make very small improvements. Bigger ones tend to be too complicated.
Sandai Shogun no Matsu is a more than 500 years old bonsai tree.

4 thoughts on “Bonsai, Agile Architecting metaphor

  1. 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.

  2. 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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s