Design thinking is a type of design methodology in which the creator takes an iterative, non-linear and solution-based approach to solving problems.
It was first pointed out by cognitive scientist and Nobel Prize laureate Herbert A. Simon in his 1969 book, The Sciences of the Artificial. He contributed many ideas to its principles and since then professionals from a variety of fields, including architecture and engineering, art, subsequently advanced this highly creative process to address human needs in the modern age.
Design thinking is very useful in breaking down complex problems, such as seeking to understand the user, the challenges involved and an attempt to identify alternative strategies and solutions
that might not be instantly apparent with our initial level of understanding.
Although there are many variants of the design thinking phase which we use today — ranging from three to seven phases—they, however, are similar to one another because they all embody the same principles, which were first described by Nobel Prize laureate Herbert Simon.
But for the sake of this article, we will focus on the five-phase model, which the Hasso-Plattner Institute of Design at Stanford (aka ‘d.school’) proposed. These are:
In a changing environment like ours, it is needful to develop and improve upon our skills so that we can better understand and address the surging changes in the users’ environment.
Whether it’s engineering or software design, effective design thinking will result in a useful and successful creation.
When debugging JavaScript, you’ll often encounter ReferenceError and TypeError. While both indicate something went wrong,…
When selecting DOM elements in JavaScript, two common methods are document.querySelector() and document.getElementById(). But which…
When starting a JavaScript project, one of the first decisions you’ll face is: Should I…
Software development is one of the most valuable skills you can learn. From building websites…
In JavaScript, arrays are used to store multiple values in a single variable. While JavaScript…
Containerization is a lightweight form of virtualization that packages an application and its dependencies into…