Design, it seems, is not only becoming more methodical but also more scientific. This is not surprising. Design as a discipline has moved from “product beautification” to being a central part of product development. It has incorporated methodologies from human-computer interaction, sociology, and anthropology as well as advertising and management. And with the rise of design thinking, a wider range of professional disciplines are using creative methods.
I don’t want to criticize design methodologies. But against the backdrop of an overly structured design process, it is important to remind our community that there is one fundamental aspect to design that cannot be formalized in a methodology. And that is intuition.
The decreasingly tangible product of code, i.e. that all we have are files on a hard-drive, may make it easy to forget that writing software produces a thing. If you produce a wonky chair or an overly long fork, it’s easy to see the quality of work was not great. By calling for a perception of software as a craft, we fight against that ability to forget or not notice the final quality of the product. You could watch two software engineers with different levels of experience, or in different domains, and it wouldn’t necessarily be so easy to guess which is which, at least from a distance.
So maybe there is something to be said for the value of software as a craft, for sometimes focusing on the practice of making better, or at least different, software just for the sake of it.