Today’s systems are utterly complex. Architecture is the answer to provide order in this chaos. An architecture is your compass for change, with the purpose of planning investments, development and system change in a managed way. Architects should strive for simplicity in their designs, such that they can be understood by the relevant audiences.
This article attempts to give an explanation of simplicity.
This then is my view on how to achieve designs that fall in the category of "simplicity", that is, designs of systems that can be understood by the relevant audience(s), and additional audiences, if needed. Much of my interpretation is derived from the philosophies or religions on Taoism that were composed by Lao Tse or Lao Tzu.
It is difficult to explain, "simplicity", but I need to give it a try, since it is part of my driving principle, being "Beauty by simplicity".
Every design starts by defining the "system" at hand, and we should give it a name that is easily understood by those concerned. This will take some time of problem and goal analysis, until we understand what needs to be solved and be designed in terms of a solution (or alternative solutions). Once we have agreed upon a name for the system, we should develop a short definition if you want, that describes the system as agreed upon. The description will have some themes that each describe the essential parts of the system in just a few words. And these essential themes are the triggers to decompose the system into parts, parts with much cohesion and little dependence on each other. This is much like what we call today (and especially in the 80s) the object oriented approach for developing software systems. But this approach can (and should) be applied to all systems, if we want to achieve "simplicity". An interesting book on decomposition of systems can be found in "Zen and the art of motor cycle maintenance", by Pirsig. Interestingly enough, Taoism and Zen (bhuddism) are different philosophies.
Once you have an idea of the essential parts of the system, or the sub-systems as we call them, the process for achieving simplicity is repeated for each sub-system.
During this process, iteration will step in, meaning that the system will be redefined as we have become familiar with its parts; this leads to an improved system and its parts.
Also, it is important to define the relationships between the parts at every level; these can be viewed as sub-systems as well.
In some ideal sense, the decomposition of the system, in case of software systems for example, should be limited to say, 5 levels of abstraction and it will give you the architecture of the system. The number of abstractions per sub-system need not be the same as abstractions are not a goal in itself. Also, the complexity per sub-system will be different.
We should take into account that the decomposition covers the aspect areas of processes, applications and technology. Also, we may need to describe several points of view as related to the different types of audiences (for example: the client, architect and designer).
Achieving simplicity resembles the music that was composed by J.S. Bach, and I can only refer to this idea by way of listening to Bach's music. An example of this music is found in his works as known by "The well tempered clavier", which was chosen rather randomly.
The key note of each piece of music resembles "the system" which is the key note of the derived architecture.
During the years that you practice this guideline that I now have written for you, you will find that your designs will improve in reaching simplicity. However, even given this narrative, I think that you will need at least 10 years of practice and experience to come close to the quality of simplicity as I appreciate it today. And I'm still practicing it and learning, to improve my level of quality as related to simplicity.
In my life I have been reaching out for the beauty of simplicity, which continues to drive me and my passions in life. My thoughts have been influenced by many a philosopher, architect, artist or statesman and I would like to share some of their sayings that are profound to me - and I am endowed to them.
Definition of Simple
Single; not complex; not infolded or entangled; uncombined; not compounded; not blended with something else; not complicated; as: a simple substance; a simple idea; a simple sound; a simple machine; a simple problem; simple tasks.
Simplicity to me is:
• Very hard to achieve;
• Like poetry;
• Can be understood by everybody;
• Free of interpretation;
• Less is more;
• Something deserves the adjective of simplicity, when it is beautiful;
• Complexity arises when we realize that our tastes may differ;
• Conscious taste.
We get pleasure from the little things of life ~ simplicity.
Simplicity is supported by the methods that we use. Methods reflect years of experience. However, on each occasion, we need to customize our approach. And methods have a lifecycle. They should be updated with our learning from new experiences. Simplicity is also supported by the tools we use. Qualified people are needed.
“Simplicity is the final achievement. After one has played a vast quantity of notes and more notes, it is simplicity that emerges as the crowning reward of art.” ~ Frederic Chopin, Composer
“Simplicity is the ultimate sophistication.” ~ Leonardo da Vinci, Artist
“Everything should be made as simple as possible, but not simpler.” ~ Albert Einstein, Physicist
“The simplest things are often the truest.” ~ Richard Bach, Author
“Simplicity is the glory of expression.” ~ Wait Whitman, Poet
"Think simple as my old master used to say - meaning reduce the whole of its parts into the simplest terms, getting back to first principles.” ~ Frank Lloyd Wright, Architect
“Beauty by simplicity.” ~ Edwin Zwart, Philosopher
- Find simplicity in your passion - the things you do so well;
- You are never done with simplicity;
- A collection of simplicities to be applied at several angles.
Simplicity is a more qualitative word connected to simple. It is a property, condition, or quality which things can be judged to have. It usually relates to the burden which a thing puts on someone trying to explain or understand it. Something which is easy to understand or explain is simple, in contrast to something complicated. In some uses, simplicity can be used to imply beauty, purity or clarity. Simplicity may also be used in a negative connotation to denote a deficit or insufficiency of nuance or complexity of a thing, relative to what is supposed to be required.
The concept of simplicity has been related to truth in the field of epistemology. According to Occam's razor, all other things being equal, the simplest theory is the most likely to be true. In the context of human lifestyle, simplicity can denote freedom from hardship, effort or confusion. Specifically, it can refer to a simple living lifestyle.