Tuesday, September 27, 2011

Architecture should be as beautiful as Chinese poetry

I very much enjoyed Chinese poetry especially Song Ci (). The term ci simply means "word". ci poetry in fact is written songs. Most of the poems do not even have a distinct title but are named after an original melody. Composers and writers used this melody to write a new poem that could be sung to the original famous melody or tune pattern (cipai 詞牌), a technique called contrafactury. This is the reason why we often see the same title for a ci poem, like Dielianhua 蝶戀花 "Butterflies love blossoms", Mantingfang 滿庭芳 "Scent fills the hall", or Yu meiren 虞美人 "Lady Yu".

Below is one of the most famous Song Ci


One of the main reasons I enjoy this type of poetry is that it is very concise and leads to so much imagination which is extremely hard to describe in word, in fact too much description in word will only destroy readers' ability for imagination.

For example, in the above poetry, "乱石穿空,惊涛拍岸,卷起千堆雪" only few characters, yet it is so powerfully described the extremely dangerous red cliff site where the famous battle was fought between the Wei Kingdom (魏国) and Wu Kingdom (吴国) during Three Kingdoms era. I am sure that you will probably have such kind of mental image projected in your mind.

In fact this picture does not really convey the meaning of "乱石穿空", also it did not exactly convey the speed and power of the wave hitting the cliff, in the Chinese version, it is concisely described by one word in Chinese - 惊 (scared), we can imagine how hard the wave is hitting the cliff since the wave is described as escaping towards the cliff at full speed. I am sure now the mental image will be much more vivid and powerful.

So how is it related to architecture? In my view, two takeaways

1) Architecture should be as concise as possible, it will make easy and quick understanding for architecture users (the development team and maintenance/operation team), and ensure the architecture's efficiency without superfluous artifacts handing around to make the design complicated for the sake of complexity.

2) Architecture should be extensible internally for future ongoing enhancement.

It will be harder to achieve the second objective if the architecture has a lot of superfluous artifacts. Just like poetry, if you described with too much unnecessary words, not only it destroy the beauty of the poetry, also inhibits reader's imagination (future extension).

In fact this principle also applies to information model, try not to develop superset model, intead start from small and then expand (see another post about the fallacy of superset model). One of the architect who worked on UK NHS described this approach of "start from small and expand" in another more fancy term - develop just-in-time model.

Every few months, when you look at the architecture, if you enjoy and discover new potentials e.g you are able to plug in new capabilities without impacting the external facing services, that means you have achieved the above two objectives.

That's beauty and an art.

1 comment: