Design thinking is a human-centered, iterative process used to solve complex, ill-defined problems by prioritizing the needs of the end user. There are five core phases such as empathize, define, ideate, prototype, and test. The key characteristics are that it is non-linear so you don't have to follow them in a strict order and it is balanced based on desirability, feasibility, and viability.Â