In this lecture, we are going to learn about Design Thinking. What's the origin of design thinking, what it is, why do design thinking and how it can help. So, let's start with the origin of design thinking. So in 1916, Herbert Simon said that design is a way of thinking and we shouldn't just let design be just one of the steps of the process. And then, in 1991, Rolfe Faste suggested that design thinking is a method of creative action. And then in the same year, David Kelley, who is sometimes considered the founder of design thinking made the first commercial application of design thinking by launching his company IDEO. So that's how, kind of, design thinking came into being and now it is being applied to many industries, including software. So our goal would be to focus on how design thinking can be applied especially to the software industry. So what is design thinking? Design thinking is a process of creative problem solving. So as you can see the key word is creative and it is for problem solving. It is designed for solving problems which are wicked. So another definition is methodology for creative and practical wicked problem solving. So a couple words that are highlighted here are creative, it's practical, and it is for problems that are wicked that are very weird in nature. And we don't know the outcome, sometimes we don't even have data to prove what is the right solution. So in those situations design thinking could be a valuable approach and then here's how the CEO of IDEO defines design thinking. Design thinking is a human centered approach to innovation that draws from designer's toolkit to integrate the needs of people, the possibilities of technology and the requirements for business success. So it's kind of the three circles, human desirability, business viability and technical feasibility. And the intersection of that is what brings innovation. So how can we come up with a solution that is needed by the individuals, so human desirability that makes business sense, so business viability. And it can be implemented which means technical feasibility, so that's what design thinking is. Now let's go through the steps of design thinking. So the first step in design thinking is to Empathize and what that means is to go to the user, talk to the user to understand their work. And come up with what is the real problem that we need to solve. Once you understand that then you define ... you clearly define what is the problem that we're trying to solve. So whatever you learn in the Empathize step about your users, based on that you'll Define exactly what you're going to solve. And then once you defined what you are to solve, you come up with multiple solutions to solve that problem. So instead of just going on with one solution, try to come up with multiple solutions. And then pick a few solutions that you are going to further explore. And then to explore those ideas, you create prototypes. That is the way you can bring your ideas into life in an inexpensive way. So once you create the prototype, then of course you're going to show it to the user and see if it actually solves the problem. So it is this short cycle innovation process to continuously improve your design or your solution. And when you are going through this process, it's not a waterfall process as sometimes people consider this as a waterfall process, where you just go step by step. Actually, it's just a way of thinking about different steps but you can go back and forth between each of those steps and it is generally, done as a cross-functional team. So you have everybody of your team be part of this whole journey. Now, let's take a look at each of these steps in a little bit more detail. So, Empathize like I said, it's the process or it's the step where you actually go and learn and understand the world of your users. So the question is, why empathize? How does it help? So the idea is that we all have bias or a filter on any given situation or a problem. So if you show somebody a situation, everybody will interpret it differently because each one of us has a context that we have created over the years. So how we think about a problem, what we hear is very different than what our users see, think, or hear. So we really need to go to them and work with them or watch them to really understand what are their real problems? So by doing this step you actually understand what is the real problem that the user is having. And you don't use your filter to understand that. So how do you do Empathize? Well, of course you go where the users are. You talk directly to the customers and users. You watch them work or the best is to work along side them or do the work that they are doing so you understand their pains, you understand their needs. And you understand their work. So after that, the next step is Define. So once you understand the user's work, you want to define what is the problem that you're trying to solve. And more often than not, in the previous step when you do Empathize, you learn that their problem is different than what you originally started with. So in the Define process, you define exactly which user group are you going to focus on and what is the real problem that we are going to solve? So it brings focus in the team and it also helps us solve the right problem. How do you do that? Well, the steps is that once you do the Empathize step, everybody who is part of the team comes into a room and you put everything that you have observed on the board. And then everyone shares the story of what they learned, what they saw, what they observed. And then you distill your learning as a group. And then you define exactly which target user group you are going to focus on and what is the problem statement we are going to focus on. And then we pick one or two or three whatever few problems that we're going to focus on and the rest of the steps. So, one more thing the step does is that it brings this common shared understanding among all the team members as to what we are trying to solve. Otherwise everybody's thinking differently about the problem that we are trying to solve. So by doing this exercise or doing these steps it brings everybody on the same page. The next step is Ideation. Whatever is the problem you want to solve, you get all of your team members to come together and say, what can be the potential solution to this problem. And so why do you want to create multiple solutions? Well, you don't want to lock in too early on one particular solution and that aligns with some of the Lean principles of Defer Commitment. Where you don't want to make a commitment to a solution unless you have enough information. And the second principle is the Amplify Learning where how can you increase the learning in the team. So, aligned with these two principles, you want to kind of explore as many options as you want and then pick. One or two which can either be mix of those options or could be one of those solutions. So it helps you find innovative solutions to the problem and it avoids early lock in to the wrong solution. So how do you do Ideation? Well, again, like I said, you get everybody in the team to come up with multiple solutions and you generally start with irrational solutions. So don't be constrained by what is feasible and allow team members to come up with, would it be cool if we could do it this way, right? So just let them go wild in their imagination and come up with a solution that even if they're not practically possible would be cool to have. And then once you have those solutions identified, then you talk about how can you scale them back so that we can make them feasible. So just take two steps backward and see if you can make them feasible. There are a couple rules that help in this process. One is you can visualize as much as possible instead of writing text, try to draw diagrams and try to visualize the solution. And the second one is don't sit and instead of that have everybody kind of be walking and stretching and stuff like that. They say that generally it helps with creative thinking. And so once you have these different options available then at the end, you have to select a few options that you're going to explore further. And then the step comes of the Prototype and the Test, and that's where you bring your solution into life. So, why do we do that? Because of course, all the solutions that we created are a guess. So we want to validate whether our ideas are correct or not, or will they even solve the problem or not. So that's what happens in the Prototype, so you want to validate your ideas. How do you do that? Well, you create physical interactive prototypes as much as possible. And sometimes people say that you need to have a low fidelity but I think you just need the right fidelity because if it's low fidelity and you don't learn from it then it's no-good. So you want to create prototypes that will help you learn and to the same point, prototypes with defects are okay as long as it doesn't hinder your learning. So the key thing is, whatever you've built, whatever prototype, whatever type of test you do. Which could be an interview, it could be a watching or it could be a link, a fake feature. Whatever you do in terms of learning, make sure it helps you learn or validate your ideas. And another tip is that when you're doing your Test in the step with your users. Don't defend the idea, if a user is trying to play with the tool, and they choose a different option, and you said no, no, that's not how you do it. Instead of that, just observe, note down what you observe and move on. So, try not to defend because if they didn't get it, it's a problem. It's something that you didn't think through, so it's better not to defend and observe it, note down, and go back and synthesize what you've learned from it. So here we go, we talked about the five steps of design thinking, Empathize, to learn about your users. Define, clearly articulate the problem you're going to solve. Ideate, create a lot of solutions and pick few. And then Prototype and Test to validate your ideas.