Opinion

The Zen principle applied in Software

9607103105_b1f7509561_o

Zen? As in that old Japanese (right?) religion (right?) thing?

What does that have to do with software and e-learning, I hear you say as soon as you read the title of this post.

Well, it might take a little enlightenment (pun intended) to see Zen’s relevance to the topics we are usually discussing in this blog, but there is indeed a connection. Zen, in final analysis, is an ancient tradition, and as such it was proven so useful to different people and in different times, that it managed to stay relevant and survive to this day.

Maybe it can be of use to us too? Let’s see…

First, it’s not Japanese in origin. It was first developed in China and later spread to Japan and the rest of Asia. That said, the Japanese version of Zen is what’s mostly known in the West (China’s aversion to its imperial past during the Cultural Revolution didn’t help either).

There are hundreds of schools and traditions, but for the purposes of this post we’ll stick to the conventional western understanding of Zen.

So what’s this Zen thing? The word can be approximately translated as “absorption” or “meditative state”. And indeed meditation (zazen) plays a large role in Zen practicing, but Zen practitioners are also all about getting involved in things directly.

According to Kenji Hiranabe, a Japanese expert in Agile software development, in Zen, as in life, “Doing and thinking are intertwined and they together unfold the secrets of the art of living“.

We could replace the words “thinking” and “doing” with the words “theory” and “practice”, or “design” and “development”, and we already have a valuable lesson from this Zen thing: you can’t really separate those two things.

Thinking is not just something your mind does, but also something you do when you’re actively building things. You think with your hands, or with your code, and this “thinking by doing” can be just as clear or just as confused as your regular thinking.

The takeaway point is that this “active thinking” is complementary and necessary to your regular “brainstorming”. Some aspects of a problem you can only reason about after, or in the process of, trying them out in practice.

Another characteristic of Zen is its emphasis on simplicity and minimalism.

Zen embraces the beauty of simplicity in a way that Western culture rarely does (you can see that principle play out in real life if you ever visit a Japanese “zen garden”). This emphasis on simplicity inspires the so called “Kanso” principle.

French writer Antoine de Saint-Exupéry expressed Kanso’s spirit quite nicely when he said “Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away“.

Keep simplicity in mind next time you’re designing something ― be it a software, an e-learning course, a web service ― and see what you can take out in order to get a simpler, easier to use, and more coherent product. I promise you that a lot of the stuff that you consider essential or have grown attached to and can’t let go will fall into this category.

There are several software development terms and phrases that speak against that needless complexity, such as YAGNI (You Ain’t Gonna Need It), KISS (Keep It Simple, Stupid!), feature creep, bloat, etc.

Funny how we keep getting some useful ideas from an ancient tradition, huh?

Then again, it’s not that surprising: an ancient tradition is basically a set of guidelines on what works and what doesn’t, and since some things in life are constant, those same principles apply to any age, be it 500 A.D China or 2014 Europe.

Of course some ancient guidelines are more timeless than others (religious taboos in particular don’t age well), but Zen is surprisingly current and pragmatic for a religious/philosophical body of thought.

But I digress. Besides “kanso” (simplicity) there are some more fundamental tenets of the Japanese Zen aesthetic that can be easily applied to the modern era.

Datsuzoku” we would describe as “thinking outside the box”, or “breaking conventions”. Are you doing that enough in your product, or are you someone that simply follows what the competition does?

Fukinsei” is about “asymmetry”, in the sense of not trying to be so perfect that you lose the human element. It’s the joke slide thrown in a serious presentation, or the little imperfections on a handmade product that make it unique.

Yugen” is about being subtle and graceful. Think of the design of an Apple or Sony laptop compared to the plasticky kitch of the common PC laptop, with its superfluous decorations, tacky colors, and its Nvidia and Intel Inside stickers.

Seijaku” is about stillness and/or tranquility. Perhaps your software needs less blinking buttons and loud labels? It’s also about how doing something is not always better than doing nothing. Consider how much better Office XP would have been if it didn’t have the infamous clippy (“I see that you’re trying to write a document…”), and how Microsoft failed not by not doing enough, but by doing something that disturbed the user.

There are several more interesting Zen aesthetic notions (Shibui, Koko, Sabi, etc), but we would need a tome to cover everything (besides, thanks to the internet, all of this knowledge is just a click away). The key idea is to be mindful of every aspect of your creation, not just build things by copying what others do and going through the motions.

I’d like to close this post by recommending a book that was well beloved in the seventies and eighties (when every “hip” person had a copy). It’s called “Zen and the Art of Motorcycle Maintenance“. Written by Robert Pirsig, the book describes in first person a 17-day motorcycle journey by the author and his son Chris. At least that’s the nominal plot. In reality it’s a long essay about the Zen principles of quality, in life, and in the things we build.

It’s still a very interesting read which applies equally to everyday life, software development and e-learning, and comes highly recommended by your Zen guide for today (that would be me).

Stay tuned for more Zen, software and e-learning insights next week.

Photo credit


Improve your employee, partner and customer training with our enterprise-ready learning management system. Book a demo now and see why our diverse portfolio of customers consistently give us 5 stars (out of 5!)

Book a demo