A couple of years ago I was on a software architects course which was run over a series of week long segments at various superb Klosters across Germany. One thing that all of these places had in common was that they had their own breweries attached and every night after a huge Bavarian dinner, we’d regroup in the bar where we’d partake of litre after litre of the local Weißbier and discuss our various experiences working on software projects.
During one of these sessions, one of the tutors mentioned that on one course, a well known software architect and writer who had done a guest talk during a previous session, had said
that he loved the beauty of the uniformity of well-written code. Now I get that, I can see his point, however I had a slightly different (alcohol sodden) view.
Many years ago I studied Japanese martial arts and I came across the writings of a Shinkage Ryu swordsman by the name of Dave Lowry. Many of Dave Lowry’s books follow a similar structure where he takes a Japanese word and writes a short essay on the subject that links it to some aspect of the study of martial arts. In one of his books ‘Sword and Brush’, Dave Lowry talks about the word ‘Fukinsei’ and the beauty of irregularity and asymmetry.
Now being someone who has a peculiar habit of linking odd things together and having a bit of a rebellious streak when it comes to corporate uniformity, I came to the conclusion that while there may be some pleasure in seeing perfectly formed code, truly beautiful code reflects the personality, values and foibles of the developer. True beauty is not found in perfection but in imperfection and I actually quite like opening up design documentation or code for review and seeing the author of the code expressing themselves right there in their work. For me it brings a small measure of rebellious humanity into what is otherwise a cold, insentient digital world.
For anyone who doesn’t know, Fukinsei is a concept that comes from ‘wabi sabi’ which is a Japanese concept of aesthetics. It has a modern meaning of ‘rustic simplicity’ or ‘flawed beauty’ and forms the ‘first universal truth’ in Zen Buddhism implying that nothing is perfect, nothing lasts, nothing is finished. It is comprised of seven principles namely: Fukinsei (asymmetry), Kanso (simplicity), Shizen (naturalness), Datsozoku (unconventional), Seijaku (tranquility), Kokou (Austere) and Yugen (subtle, profound).
Now I suspect that many of you are involved in software design and code reviews and are completely au fait with the idea of collecting quality metrics. It occurred to me that it would be really cool to see quality metrics like those you see published by tools such as Sonar, presenting their information on wabi sabi dashboards with dials for each of the seven principles. Maybe there’s an open source project there somewhere, what do you reckon?