Book cover

Web Version | Dark Mode | Cite

Software Engineering: A Modern Approach

Marco Tulio Valente

1 Design Thinking: Key Concepts and Activities

1.1 Introduction

Design Thinking is an approach to problem-solving, not only in Software Engineering, but also for any kind of problem. The approach is inspired by techniques that product designers, graphic designers, UI designers, and others have used since the 1960s.

Over the years, designers realized that these techniques could be used not only to improve a product’s ergonomics or to create a more user-friendly interface, but also to solve many other problems. Hence the name Design Thinking, which means that the goal is to bring the designers’ mindset to other areas.

Although its core concepts have existed since the 1960s, Design Thinking became popular in the 1990s with its adoption by IDEO, a US-based design company. IDEO helped design, for example, Apple’s first mice. Another reason for its popularity is that Design Thinking is considered an approach capable of proposing innovative solutions to complex problems. Therefore, when both the problem and the solution are already clear, Design Thinking is unnecessary.

Examples

We will first provide an example where Design Thinking is not suitable and a second example where it is recommended.

Example 1: Suppose a company is hired to build a web-based system to manage online exams with multiple-choice questions. In this case, the required solution is already clear, so there is no need for Design Thinking. The company can, for example, rely on agile practices—such as user stories and conversations with a Product Owner (PO)—to identify and prioritize the system requirements.

Example 2: Suppose a university is interested in developing an innovative method for teaching Software Engineering. Here, the demand is unclear. We do not even know whether this method will require developing software systems. The university—or one of its departments—can use Design Thinking to better understand the problem and prototype an initial solution.

1.2 Main Activities

Design Thinking is not defined as a set of steps, tasks, and roles. In other words, Design Thinking is not a formula or algorithm that receives a problem as input and generates an innovative solution as output. However, the following core activities characterize a Design Thinking process:

The next sections detail these activities and the concepts and principles used throughout a Design Thinking process.

Before discussing these activities, it is important to note that Design Thinking processes are conducted by multidisciplinary teams, including professionals from various areas and with different experiences. Multidisciplinarity is considered essential to foster out-of-the-box ideas and maximize the chances of reaching innovative solutions.

1.2.1 Inspiration

Design Thinking recommends that, before proposing solutions to any problem, designers must understand and experience that problem from the perspective of those who suffer from it and who will later benefit from the proposed solution. This is essential for generating interesting ideas.

To understand the problem, the designer must interview users, visit their workplaces, observe and study their behaviors, etc. As we saw in Chapter 3, such studies that observe affected users in the real world are called ethnographic studies.

In some cases, the designer may even assume the role of a user. For example, in his book on Design Thinking, Tim Brown—one of IDEO’s former executives—describes a designer who was tasked with improving a hospital’s customer-care service. To do so, he simulated having a broken foot and experienced the hospital’s service firsthand.

On the other hand, Design Thinking gives less emphasis to instruments such as surveys and market research. The following quote by Steve Jobs illustrates the limitations of these tools:

Some people say, Give the customers what they want. But that’s not my approach. Our job is to figure out what they’re going to want before they do. I think Henry Ford once said, If I’d asked customers what they wanted, they would have told me, A faster horse! People don’t know what they want until you show it to them. That’s why I never rely on market research. Our task is to read things that are not yet on the page.

Design Thinking also recommends paying attention to extreme users, such as children, the elderly, early adopters of technology, the best and worst students in a course, mild and severe patients, etc.

Another important technique is called reframing, which means trying to reformulate the problem originally proposed by the client. In other words, to view the problem from a different angle and, consequently, propose a solution different from the expected one. For example, suppose a publisher is struggling to sell its books. Instead of trying new strategies to sell books, it could start offering online courses based on its catalog.

1.2.2 Ideation

After understanding the problem, the next step is to generate and test ideas to solve it, an activity called ideation. More precisely, two types of activities are encouraged:

Divergent and Convergent Thinking

This first activity is illustrated in the following figure:

Divergent and Convergent Thinking

At first, all team members are encouraged to sketch solutions to the proposed problem, whether conventional or unconventional. In other words, brainstorming encourages out-of-the-box solutions.

Remember that Design Thinking aims for innovative solutions, not merely incremental improvements to an existing product or service. The following quote by Linus Pauling—winner of two Nobel Prizes, in Chemistry and Peace—illustrates the importance of this stage:

To have a good idea, you must first have lots of ideas.

Continuing the process, the second stage is to converge toward a limited set of solutions. The team must discard some of the ideas initially proposed. The author of an idea may abandon it, or the team may vote on which ideas should be pursued further.

Prototyping and Testing

Next, still within ideation, prototypes must be built for the best ideas and tested with real users. These prototypes may be simple and low-fidelity. For example, the first mouse prototype IDEO built for Apple used the ball of a roll‑on deodorant attached to a margarine container.

However, creating prototypes can be more difficult for certain types of problems. In the service domain, it may require setting up physical spaces, maybe improvised ones with Styrofoam furniture. An alternative to physical prototypes is drawing storyboards that depict a user’s journey when using a particular service. In software, storyboards can be used to prototype system interfaces.

1.2.3 Implementation

Finally, once a solution is chosen, the designer must accompany its implementation. For example, they should help explain the solution to the rest of the organization and assist in developing communication and marketing strategies.

1.3 Conclusion

The explanation above may lead the reader to think that Design Thinking is a sequential process. However, it is always possible to go back to a previous stage. For example, during ideation, the team may realize they need more data and insights about the user problem. Or after prototyping, they may find that the chosen idea is not working well and must therefore choose or generate a new idea.

For this reason, these activities are often illustrated by interconnected loops or spaces, as in the following figure (from IDEO’s website):

Design Thinking is not a sequential process

To conclude, according to Tim Brown, the skills considered important for a Design Thinker include the ability to identify patterns in the mess of complex information, to synthesize new ideas from fragments, and to empathize with people different from oneself.

Further Reading

The following article in the Harvard Business Review, also by Tim Brown, is highly recommended. It includes the definition of the main activities in Design Thinking processes (inspiration, ideation, and implementation). However, it is worth noting that some authors include additional activities in their definitions, such as problem (re)definition, synthesis, ideation, prototyping, and testing.

Exercises

  1. Mark the INCORRECT alternative:

    1. Design Thinking is an iterative and collaborative approach to solving complex problems for which no known solution exists.
    2. Design Thinking proposes solving a problem in a strictly sequential way, through three stages: inspiration, ideation, and implementation.
    3. Design Thinking advocates using multidisciplinary teams to solve complex problems.
    4. Experimentation through prototype construction and testing is a key practice in Design Thinking.
    5. To solve problems, Design Thinking recommends that the team work first in an exploratory (divergent) way and then in a convergent way.
  2. Which of the following practices is NOT common when using Design Thinking?

    1. Reframing
    2. Convergent and divergent thinking
    3. Prototyping
    4. Market research
    5. Ethnographic studies
  3. Suppose a software development team using Scrum in their daily work. How and when could Design Thinking concepts help this team?

  4. Describe a problem that could benefit from the use of Design Thinking.

  5. What is the difference between Design Thinking and Design Sprint? A short description of Design Sprint appears in Section 3.5.3 of Chapter 3.

  6. Look up reference material on the Double Diamond concept in Design Thinking and answer:

    1. What stage (or space) does the first diamond focus on? And the second diamond?
    2. What should be the input to the first diamond?
    3. What should be the output of the first diamond and, therefore, the input to the second diamond?
    4. Finally, what should be the output of the second diamond?

Check out the other articles on our site.