Design thinking approach in software development

Do you want to create your own app?

Get expert engineers to supplement your team or build a high-quality app from scratch and bring it to life.

Get a quote

Traditionally, the word “design” was used to describe the visual aesthetics of the objects. However, the meaning of this word has evolved and it is not that limited anymore. Nowadays, design is not just about form or physical attributes; it’s about new method of thinking. This method refers to the development of products and services, putting customers’ needs at the heart of the development strategy, and using creative and innovative techniques.

Evolution of design thinking approach

Despite having gained its popularity only during the past few years, design thinking approach is not something totally new. Initially, the concept of this approach was developed by social scientist and Nobel laureate Herbert A. Simon in his book “The Sciences of the Artificial” of 1969 year. The scientist developed a theory of three-stage decision making process: intelligence gathering for defining the problem, design as the process of looking for a solution to this problem, and choice, which includes analyzing and deciding on the right option. Then there was Robert McKim’s and his book “Experiences in Visual Thinking” (1973) describing “Express, Test, Cycle” (ETC) as an iterative backbone of design processes.

Eventually, the concept of “design thinking” as a method of creative action was considerably expanded by Rolf Faste at Stanford University in the 1980s and 1990s. In business context, design thinking was adapted by Faste’s Stanford colleague David M. Kelley, who was the founder of IDEO – a firm that pioneered in this new view of design.

Design thinking itself

So what does design thinking exactly mean?

There is no one and only definition of design thinking. It is said to be “a formal method for practical, creative resolution of problems or issues, with the intent of an improved future result”. Design thinking is a set of tools that enables solving a particular problem using analytics and creativity. Solving the problem is at the core of design thinking. It is a human-centric approach that puts a customer in the center of attention. This approach is aimed at learning which product or service a user wishes for, exploring the ways to make it, developing and testing the product. It’s about being solution oriented and focusing on the ways to solve the problem, not the problem itself.

design thinking

Design thinking approach involves looking at already existing product and analyzing the ways to make it better and more user-friendly. It’s about generating a plenty of new ideas, while placing the needs of customers above all. This approach can be applied everywhere, including business and non-business sectors.

The relevance of design in software development

Software development doesn’t work just by itself. It has to empathize with the customer. Customers don’t concentrate on which technologies were used while making the application or solution they need. They mainly focus on utility, which is why the developers also have to focus on it.

There is a common situation of misunderstanding happening between the solution developers and the customers. Of course, it can be said that this is a problem of miscommunication which can be solved by arranging more calls, meetings, and discussions. However, the solution may be found much deeper. Only understanding and empathizing with your clients can show you what they really want. And that is what you should start with.

So, it is not about the right techniques, but more about critical thinking. Nowadays, software development is everywhere. Nevertheless, with all the codes and technical tools everything is made by people for people. Software development is supposed to make our lives better and easier, which is why it’s so important to understand what user needs and wants, and implement design thinking approach.

Design thinking process

The Institute of Design at Stanford developed the following 5 stages of design thinking process: empathy, defining, ideating, prototyping, and testing.


Empathy is the ability to feel and understand what other people experience, put oneself in somebody’s shoes. It is an initial step of the entire design thinking process because empathizing with the customers enables understanding their needs and finding out what they really want, looking at the products and services from your users’ perspective.


This goal can be achieved by means of different interviews and observations. Interviewing must resemble a conversation. You don’t need to influence the answers because your main point is to understand a user. So, questions beginning with “Why” or asking the stories can give you valid results. However, what people tell can sometimes differ from what they do. That’s why, it is so important to observe the interactions and notice what is easy, causes difficulties, and what can be improved.


After empathizing with your customers, there comes the phase of identification of the problem you need to solve. This step is about summing up and making sense of the information you received from the previous one. You have to set your problem statement and make it clear.

At this stage you have to consider thoroughly everything you gathered while empathizing. You have to define a point of view, consisting of the following elements: users, their needs, and insights. You have to establish deep understanding of your character – the user. Outline a set of needs your user has and provide insights, based on your research and discoveries. Your goal is to set a frame, which makes the problem you are working on clearly defined and understandable, and encourages the members of your team to find the solutions.


Now, you need ideas. Having identified your problems you come to generating solutions. It’s of the utmost importance to gather as many ideas as you can. What you need is a plenty of creative solutions, multiple perspectives, and different viewpoints. It is an exploration phase, where all the ideas must be encouraged even if they seem to be not relevant enough. You have to imagine what you want to reach and all the ways to get there.

When applying divergent thinking, you gather a great deal of ideas, generating far more than just obvious solutions. Brainstorming is irreplaceable here. It must include no judgments, a lot of imagination and creativity, concentration on quantity, listening to others’ ideas and building on them new ones, and encouraging stupid and crazy opinions while using visual elements within some limited amount of time. You can also involve people from other departments to participate. After that, it’s time for convergent thinking in order to select a list of the best options you put forward.


Then it’s time to make a draft. You have to represent your idea in a clear and tangible form so that others could understand. Remember, it doesn’t have to be perfect. It can be in a form of product, model or a sketch, but the primary aim of building a prototype is to pass your idea to the others and figure out how your product may feel and look.


The strong advantage of building a prototype is being able not to spend too much money and effort on it because it’s just a draft. But, at the same time, this draft is a result of all the previous stages and it demonstrates the way your product may look like. You can make a paper prototype by sketching out the product’s features, a prototype in a form of interactive wireframe, or coded one.


In this final stage of the design thinking process, your prototype is put into action and tested by people. You give it to users, see how they interact with it, how they implement it, and get your feedback. This phase allows you to understand what is right and what is wrong, and refine your ideas.

You should pay attention to the users who represent your target audience. Testing can be conducted several times after every major iteration in order to make sure what works and what doesn’t. You have to be ready for failures, because they are integral part of making your ideas work. Noticing mistakes and improving them on this stage is incredibly valuable experience that prevents you from a great deal of costs and efforts in the future.

Design thinking and Agile

Despite the fact that both agile and design thinking approaches work in constantly changing environments with the same business requirements, they look like something hard to combine. As it has been mentioned before, design thinking is a human-centric approach that concentrates on customers’ needs, and first of all on problem solving. On the other hand, agile takes incremental and iterative approaches focusing on requirements, not problems, and uses them on the phase of development. Agile was initially developed opposite to Waterfall and its limitations giving more flexibility to designers to make changes regarding evolving requirements and product progress.

product development

So, design thinking is more about understanding the problem, while agile concentrates on its execution. This way, these two approaches are different, but at the same time can complement and even benefit from each other. Both design thinking and agile focus on collaboration of individuals, but with their own language and techniques.

Design thinking is a great help in determining the requirements, based on customers’ wants and needs. These requirements, built on individual features and user stories provide the foundation for future sprints and development of a product. However, companies that try to combine these two methods often face difficulties, hesitating how much time must be spent on design and planning, whether they waste their time on it, and when it’s time to “do the real thing” and start coding.

The combination of agile and design thinking is based on “people over the process” approach, constant innovation, continuous learning, effective communication, and working iteratively applying different visual techniques. Synthesis of agile and design thinking may not be an easy process to start and can cause some disagreements, but using them the right way can result in a very effective business strategy.

Design thinking approach in product development

Creating a product never guarantees you success. This world knows a billion of stories when predictions were not confirmed and products failed or unexpectedly succeeded. Product development does not always pay off. There appear more and more different techniques, approaches, tools created and put in use in order to predict and assure product success at least to some extent. Many companies are into developing a minimum viable product (MVP) – a rapidly built product with a minimum number of features enough to deploy it and get enough learning about its use. It’s a great tool to test a product and see whether it satisfies customer’s needs and generates demand.

Here comes design thinking approach with its empathizing with the users and concentrating on their requirements. So, you need to start with defining what your target customer needs and what solution you can suggest in order to satisfy it. Consequently, you define the minimum must-be set of features your MVP must have and its functional requirements. After that, you have to pass the idea and vision to the members of your team and assign tasks to them.


When you MVP is created and it’s time to test it, you have to use web analytics and other tools in order to get maximum valuable information from customers and improve your product in the future. It’s important to thoroughly review the feedback before you start all this process all over again. You have to be ready that your customers don’t always accept the product and you might have to restructure it. Therefore, implementing the design thinking approach in your product development, especially when it comes to launching MVP, reduces the risks of making a product, which wouldn’t satisfy customer needs.


So, design thinking concept may seem a little confusing and hard to implement at the beginning. Nevertheless, the main thing you should know here is that it concentrates on the users and their needs. It’s about empathizing with your clients, defining the problem you want to solve, brainstorming as many ideas as possible, developing prototypes of the most relevant ones, and testing them.

This way of thinking can be applied to any product or service, but in the era of evolving information technologies, it is highly relevant in software development. It can be quite challenging to start using this approach in a company, which has already established itself, but it will definitely pay off.

Ready to start a project? Don't wait a day.

Our consultants will help you to supplement your team or build a high-quality mobile/web app from scratch.

Book a meeting

Case studies

When it comes to creating custom software products from scratch, experience matters a lot. Explore our portfolio to view some of the software development life-cycle projects we have successfully completed!

Formula Compounder

They successfully developed solution has garnered considerable industry praise. Exoft have received very positive feedback from medical practitioners

Learn more >


We were impressed by how they met our expectations and how quickly they delivered


Learn more >

Related articles

We always keep track of the latest trends in the tech and business world. Check out our blog for the expert opinion on the hottest topics!

Related articles

We always keep track of the latest trends in the tech and business world. Check out our blog for the expert opinion on the hottest topics!

Get in touch

Send us a message and we’ll get back to you shortly

Alex Shepeliuk
Contact Person