What is Design Thinking and how can it help with the design of better software?

The term Design Thinking (DT) encompasses practical and cognitive approaches to creative problem solving, whilst adopting a particular mind-set. The practical approaches are human-centred and experiential; they rely on early prototyping and visualization methods. They are collaborative and multidisciplinary, calling for contributions from teams of diverse individuals working together.

The underlying methodology is based on iterative cycles of divergent ideation, followed by convergent evaluation. This is sometimes referred to as the double-diamond method: it describes the shape made by the expanding number of solutions, followed by the selection of a favoured solution, often followed by a further iteration calling for further idea generation and subsequent evaluation. When applied to software design some of these ideas have immediate application. For me, the most important aspects of DT are the emphasis on the adoption of a human-centred approach to ensure usability, early prototyping using visualisations and simulations to test concepts, and a willingness to challenge the status quo. Some may recognise this later sentiment as is was Apples core motto for many years and some business commentators have argued that this approach was a key part of why the company became so successful.

The cognitive approach calls for the reframing of problems, a willingness to accept a certain degree of ambiguity whilst adopting a holistic view of issues and the ability to integrate ideas from diverse sources. The DT mind-set is experimental, optimistic and future focused. It combines both analytical thinking and creative thinking.

The argument put forward by the advocates of DT is that it can be applied by anyone to any situation. For example, DT can be used to help bring about innovation within organisations by encouraging a more holistic approach, whilst focusing on the needs of the end-user. All of which sounds eminently sensible but often turns out to be harder to achieve from within an organisation than from outside. Design consultants who adopt a DT approach have a distinct advantage over a hard-pressed executive working within the usual hierarchical company structure. The external perspective of the Design consultant makes it much easier to ignore some of the standard issues that inhibit original thinking when within an organisation.  Others have also made the point that even mild levels of stress can inhibit creative thinking as our brain chemistry causes the wrong neurotransmitters to be released in the brain, which actually inhibit a person’s ability to think creatively. Being put under pressure to come up with a world leading new concept by lunchtime rarely brings good results. Of course there are some individuals that actually thrive on in pending deadlines. Douglas Adams the author of the ‘Hitchhikers Guide to the Galaxy’ was notorious for missing deadlines but this may not have been anything to do with his creative ability but more to do with the act of writing itself.

A considerable amount has been written on the topic of Design Thinking, not all of it favourable. Some say it is merely an other term for creative thinking and there is no real set of tried and tested methods that can be taught and applied. However, there are plenty of people who would dispute this point of view. Design Thinking is not just about adopting a set of design methods for creative problem solving or idea generation. It requires the adoption of a mind-set that encourages an individual to look at the world differently. The starting point for tackling any problem is to challenge existing assumptions. This is harder than one might think, as first one has to recognise what assumptions have already been made.

One of the last century’s greatest design thinkers was Genrich Altshuller (1926 – 1998), who was the inventor of the Russian problem solving system called TRIZ. The TRIZ methodology depends on the practitioner of the approach being able to reframe the initial problem in the form of an inherent contradiction. Many of the examples provided by Altschuller refer to engineering problems. Despite this many of the forty basic principles he identified as leading to an inventive solution can be applied to very different contexts and situations other than engineering. One of the key steps in the TRIZ methodology is the reframing of the initial question or problem. This requires a mind-set that is open to the challenge of questioning existing assumptions. It is very easy to inhibit the generation of new ideas simply by phrasing a question using existing solutions. Altschuller suggests substituting the term ‘thingy’ for any word suggesting an existing solution when constructing a problem statement. The apocryphal story of NASA spending thousands of dollars on the development of a pen that would right upside down in space, while the Russians simply used a pencil, stands as a useful reminder of this principle.

Getting back to the point of this blog post, which is to talk about how adopting a Design Thinking approach might lead to more innovative useful software We must begin by challenging any assumptions we may have regarding what people want or how they currently carryout tasks. To do this we must spend some time observing what people actually do and how they behave when undertaking everyday tasks. This involves observing how they use their natural inventive abilities to find ways around problems. This approach has led to the relatively new discipline of design ethnography.

There are two essential ways in which DT can help when it comes to the development of new software applications. First it can help us identify new opportunities or problems that can be address with the aid of computers and secondly it can help to generate a large number of potential solutions, which can then be evaluated to find the best solution.

Another useful method, sometimes referred to as the ‘naive user’ approach, can be an effective way of challenging current solutions. This approach involves viewing a situation as if it is completely new and something that no one has come across before. This is especially useful when evaluating software. The naive user approach soon helps identify the logical inconsistencies or the counter-intuitive steps needed to carry out a task. For example, someone using a PC for the first time might be puzzled to find out that they need to use the ‘Start’ menu to shut down the computer or someone using an Apple Mac as a naive user would not understand why they would drag a file to the trash symbol to eject a memory stick. Designing software that is truly intuitive demands that a naive user will instinctively understand how to carry out a task with out having to think about it.

Most so called new software is just a remix of existing pieces of software code or the introduction of incremental changes to existing algorithms most of which may not even be noticeable by the average user. How often have you downloaded the last update from Apple only to find nothing appears to have changed? Google are notorious for updating their search algorithms but how many of us recognise the difference. However, these changes can lead to very significant changes in the results obtained from a search query.

Developing some thing genuinely new usually requires a lot more resources and commitment than producing minor changes to existing applications. It also requires a much greater leap of imagination to go beyond existing conventions. Lets take an example. I was involved some years ago in the development of a Virtual Learning Environment or VLE. In fact the term VLE had not yet been coined so what we developed was a communication system for tutors and students to share content and exchange information. Exciting times as we tried to develop a system that semi automated the development of content link to several databases. We had an idea of what we wanted to achieve but not quite enough resources or experience to bring it off successfully. Now considering the same problem from a more distant perspective I can begin to see how our thinking was very constrained by a lot of assumptions we had made mainly when thinking about the way in which people acquire understanding. We were aware of the importance of experiential learning, that is learning through doing but we had no idea how to translate this into an online learning environment.  In the intervening years things have moved on in the world of VLEs but teaching models have not really change that much. Maybe it is time to challenge some of the inherent assumptions that have constrained software development in this field over the past twenty years.

By way of an example, most of us think of knowledge as a series of known facts or certainties that can be written down and passed onto someone else. However, if we think of knowledge as something that is constantly evolving and that is context specific we can start to see alternative structures for the way we use and exchange information. This intern may lead to a change in the nature of virtual learning environments and the way they work. The development of immersive virtual reality devices and augmented reality systems are just beginning to present some fascinating new possibilities for developing entirely new forms of learning environments. In the not so distant future we can look forward to fully immersive, 3-D experiences that engage all our senses.

The team at Inntuito are keeping a close eye on these developments with the aim of developing new applications that will take full advantage of these new and emerging technologies. We will apply Design Thinking to the problem of developing truly user-friendly applications that address a human need.

Julian Malins – May 2016