Designing with Design Thinking
We have seen in previous articles what the Agile approach to software development is and we have analysed how the most widely used Agile methodology works: Scrum.
We thus know that Scrum is “a framework for developing and supporting complex products”, a working methodology for better organising your production process. Simply said, it can define how solutions can be implemented.
But how do we know which solutions are the best? Or, more upstream, how do we identify the problems that these solutions will solve? One possible way is through Design Thinking.
What is Design Thinking?
Design Thinking is a user-centred approach to solve problems through a combination of tools, technologies, processes and creative thinking.
This approach was codified in the 2000s by David Kelley, professor at Stanford University and founder of IDEO.
This – like Scrum – is a non-linear and fully iterative process and allows to define (or re-define) the main problems, so as to understand what the user’s real need is and consequently what the most efficient and innovative solutions are.
Defining the right problem
To understand the concept, let’s look at what happened at the Kingwood Trust, a British charity that helps adults suffering from autism or Asperger syndrome.
Katie Gaudion, a member of the design team, spent a day with Pete, an adult with autism. Observing Pete at home, Katie noticed a number of ‘destructive’ behaviours – such as taking pieces of leather off the sofa – and defined that the problem to be solved was preventing such destructiveness. However, by spending more time with Pete, putting herself in his shoes and putting his needs first, she realised that these activities were actually stimulating and pleasing for him.
Katie’s immersion in Pete’s world not only produced a deeper understanding of his needs, but challenged a basic prejudice about the users concerned, perceived as people with disabilities who needed to be kept safe.
Katie understood, therefore, that the right question was not how to forbid destructive behaviours, but how to make then pleasant and constructive. With this redefinition of the problem, the design team created living spaces, gardens and new activities to enable people with autism to live fuller, more enjoyable lives.
Imagining translating this use case to the field of software development, it is clear that without a similar understanding of the real need of the target user, our process would surely deliver the wrong solutions.
The 5 phases of Design Thinking
Design Thinking is made up of five main phases, not necessarily in a linear order. As already mentioned, it is actually an iterative process and at any time it is possible – when necessary – to retrace one’s steps and revise the previous ones.
The first step is to know the user and understand his/her needs, wishes and goals, in order to collect information about people and their problems. It is necessary to conduct research to know what users do, say, think and feel, through interviews and direct observations.
This phase, based on the information acquired in the previous phase, concerns the definition of the user problem. It is necessary to define the difficulties and obstacles faced by the users and to circumscribe the problem that the team is called upon to solve.
After having acquired a clear identification of the problems, solution development begins. The aim is to generate a large number of ideas the team can then reduce to the best, most practical and innovative ones.
The fourth stage of the process is the transformation of ideas into tangible prototypes. A prototype is a reduced, low-res version of the product that incorporates the potential solutions identified in the previous stages.
The last phase is aimed at testing how and with what benefits the realised prototype can solve the user problem. Based on feedback, the design team can review the list of potential solutions and strategies in order to identify new ways to solve the same problems.
Scrum and Design Thinking: war or love?
Design Thinking and Scrum are two conceptually different approaches: while Scrum was born precisely as an agile methodology for software development, Design Thinking was born as a generic user-centred innovation method.
However, they also have some important similarities:
- They are iterative and incremental processes
- They have clear rules and steps to follow
- They are user-centred in the entire product/service development.
- They foster collaboration among all stakeholders (multidisciplinary team, users, customers…)
The nature of these common points leads to easily combine the two approaches, which in a sense can complement each other to create a successful, functional and low risk software development process.
It is important to stress that Design Thinking cannot be used solely and exclusively at the beginning of a Scrum project. As it is an iterative process, it is possible that, for example, at the end of a Sprint (in case a usable part of the software is released), it could be necessary to analyse or re-evaluate some ideas for changes/implementations; this can apply to any stage of the development.
The advantages of Design Thinking
In many cases, it may happen to start a project considering problems that are either too general, or the wrong ones to solve; for this reason, it is much more functional to validate the initial assumptions with the end user, to make sure not to spend too much time and money on something that is not necessary.
Thanks to Design Thinking, it is possible to take the quality and efficiency of a product/service to the next level by proposing not only the right solutions, but also the most creative and innovative ones, all while focusing on the most important thing: the needs and requirements of those who will use it.