Design Thinking

Design thinking is a design methodology that puts people at the center of every process and encourages designers to set aside assumptions. This formal methodology has developed across multiple disciplines since the 1960s and is commonly associated with the design and consulting firm IDEO and the Stanford School of Design (the d.school).

The Five Phases of Design Thinking

Design thinking’s core activities are ideation, inspiration, and implementation, which occur across the five stages of the process:

  1. Empathize: Understand the user and the landscape.
  2. Define: Define the problem and align with business goals and user needs.
  3. Ideate: Generate a range of ideas for possible solutions, emphasizing creativity.
  4. Prototype: Explore potential solutions by creating prototypes of the product to gather feedback.
  5. Test: Test the best solutions developed during prototyping.

Prototyping or testing may lead to redefining the problem altogether. As with the other processes we’ve covered, this is an iterative cycle.

A diagram of the five phases of the design thinking process: Empathize, Define, Ideate, Prototype, and Test.

About Design Thinking

Like the double diamond model, design thinking offers opportunities to focus on both divergent thinking and convergent thinking across its steps to encourage both creativity and problem solving.

Design thinking isn’t limited to creating new products — it can affect change at a systemic level. The term “wicked problems“ was coined by design theorist Horst Rittel to describe the types of extremely complex, multi-dimensional problems that designers are often tasked to solve.

Design thinking is said to live at the intersection of desirability (people), viability (business), and feasibility (technology).

A Venn Diagram illustrating the intersection of Desirability, Viability, and Feasibility.

Edit this page on GitHub

Contributors

Interested in helping build Docs? Read the Contribution Guide or share your feedback form.

Learn UI and UX Design on Codecademy