S h o r t S t o r i e s

// Tales from software development

Wabi sabi

leave a comment »

Whether we like it or not, there is a philosophical aspect to software development. For the past thirty years there has been a debate as to whether computer programming is a craft or a science. The reality is that, like traditional engineering itself, what we do is a combination of science, art, and craft.

The conflicts of time, scope, and quality require that a compromise is agreed and adhered to by the development team. A good developer adapts to what is required for this particular project – typically the quality of the code is compromised by the short timescale available to implement it. Some developers, often the best, find it difficult to write code that they know to be less than optimal and many developers find it hard to be positive about a project that they feel is compromised by the quality of the code.

Wabi sabi is a Japanese concept that is usually translated as ‘imperfect, impermanent, incomplete’ or ‘nothing is permanent, nothing is forever. nothing is perfect’. It’s usually used to describe an artistic philosophy that recognises that the artist cannot create a perfect piece of art and should not only accept this but also embrace it.

‘Imperfect, impermenent, incomplete’ sounds like a description for every software development project that I’ve ever been involved with. Perhaps wabi sabi is something we should use to help us. If we recognise the limitations of a project in terms of the time available and agreed quality level then perhaps we can learn to embrace these facts and find something positive in what we’re doing.

From a personal perspective, understanding wabi sabi has helped me in some of my own software projects. I find it easier to accept that the code I write is not perfect. As long as it does what is required of it then it shouldn’t matter that it is not perfectly written or isn’t a complete solution for all possible scenarios. All software is impermanent.

Advertisements

Written by Sea Monkey

November 25, 2008 at 8:00 pm

Posted in Development

Tagged with

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

%d bloggers like this: