Design Thinking in App Development: How Entrepreneurs Find a Problem Worth Solving

Whenever you read a guide on developing a product or an application, somewhere near the beginning you are sure to come across the recommendation to “make sure that your idea solves a real problem”. The authors usually go on to create a business plan, working on an MVP, but you are left with the question: “How do I possibly make sure that my idea solves a problem? A real one, too?”

We are going to fill this gap and muse over the ways of actually determining the problem that your app is to solve. In fact, there is a whole methodology to deal with analyzing what users want and which problems a product should solve, and it is called design thinking.

What is design thinking?

It would be a mistake to assume that design thinking is a new approach. On the contrary, it has existed for ages, and modern researchers only put a name to the concept that people have been using in all areas of their life.

Design thinking is a user-centric approach to product creation which focuses on understanding the people for whom the product is made. From this perspective, determining the real problem and the best solution for it is much easier.

Design thinking, when applied to any product development, not only to software, consists of five main stages:

  1. Empathize: step into your user's shoes and try to see the product through their eyes.
  2. Define: outline the exact problems users face and put them into words.
  3. Ideate: generate ideas for possible solutions to the defined problems.
  4. Prototype: create a solution to validate your idea.
  5. Test: try your solution prototype in real conditions.


Image credit: The Interaction Design Foundation

This is just a loose structure of the design thinking process, and you are free to adapt it to your situation by changing the sequence of steps, skipping some and repeating others. For example, it will be logical to prototype and test more than once if the first version did not work out.

Let's look how you can bring design thinking to app development and use it to build applications that will be appreciated by users.

Design thinking approach to app development

If you implement design thinking in app development, you need to build the process around the same five basic stages that are going to lead you to the “perfect” product concept in the end.


Empathizing with your users allows you to understand what they ultimately want from your product. If you are building a new product, empathizing will help you put together the set of features that the users find the most convenient and useful. For an existing product, you can use empathizing to identify features that the users like, miss or never use.

How can you empathize with users? You should actively approach your community through interviews and surveys, collecting their feedback on your product. Try gathering user data from people around you, and utilize social networks and dedicated communities.

One of the easiest methods of interviewing users is by conducting surveys, where you ask them to answer a set of questions about your product. You can include the following questions:

  • Would you recommend this product? – The answer to this question immediately gauges the users' impression of the product or service. A direct “No” means that users are generally unsatisfied with your app and the answers to the further questions may give more details on the reasons of such feedback. A positive answer is a good indicator; however, they may still be unhappy with individual features.
  • How does this product compare to its competitors? – Try to suggest comparisons to well known brands or app names. If you are surveying for an initial release, you may ask whether users have tried similar products to see whether there is a demand for it.
  • What do you like most/least about the product? – Ask your users to elaborate on the features that they like or dislike and give the reasons. When you are at the initial planning stages only, ask for the features users would like to have in the application.

There are a lot of survey tools to choose from. Among the most popular ones are SurveyMonkey and Google Forms.


Another way is to hold user interviews, where you can have much wider possibilities. Always start by explaining your goals and the purpose of the interview. You may ask similar questions that you include in a survey; however, in an interview you may also ask your participants to draw or sketch to visualize the “perfect” app.


At this stage, you will analyze the feedback you have collected by empathizing with your users and define the problems they want to solve. By interacting with users, you allow yourself to “think outside of the box” and see the things that you would have never seen differently. Designers, project managers, and marketing experts may be too used to the application you are developing, while users look at it with fresh eyes.

In the process of defining the problems, you may realize that some of them are similar to what you have discovered yourself, some complement your insights, and some are quite unexpected. Write down all of them and keep your notes, even if you are not going to implement certain solutions right now. They may become a part of your future releases.

It will be easier to define the problems if you use mind-mapping tools, such as XMind. They can help you organize and visualize your ideas and brainstorm together with your team.


Ideating is, probably, the most exciting part of the design thinking flow, as this is when the team generates ideas of possible solutions to the problems defined at the previous stage. Discussing, brainstorming, gamification, sketching, building storyboards – there are multiple methodologies of ideation, and you can choose the one that fits your purposes best.


During ideation, try to generate as many ideas as you can and then choose those that represent the best solutions to the problems. You can filter the ideas by challenging them, posing questions, and finding the worst possible solutions.

At the ideation stage, you can continue using the same mind-mapping tools that have helped you define the problems. Enhance your ideas with images, colors, key words, symbols and other visual elements. As a result, you will have a clear solution to a specific user problem and the vision of implementing it in your application.


In a prototype, you let your solution ideas take shape for the first time. A prototype is a very basic version of the final solution. Its main purpose is to validate the idea and identify any drawbacks and things to be improved or modified.

Building a prototype, designers turn solutions from abstract concepts into physical products. Creating an application prototype does not mean developing an actual software product. No, that is going to be too costly and time-consuming for the purposes of design thinking. An application prototype may be laid down in wireframes or quick sketches of the suggested UI. This is usually enough to achieve the primary goal of the prototype – test the experience. Of course, in some situations you can also create a high-fidelity prototype if the situation requires it.

When building a prototype, try to keep to the following basic principles:

  • Do not use too much time. Try to create the prototype as fast as you can. This way, you will save the team's time for other tasks and will not immerse yourselves too deeply in the idea. Prototypes may fail, thus do not get too attached to them.
  • Focus on the idea you are testing. Each prototype must reflect the solution idea that was born at the previous stages, and that idea must be the core of the prototype.
  • Remember the user. Design thinking is all about user experience, thus do not lose sight of the user while building the prototype. Your prototype should provide the most optimal user experience, taking into account the findings of the user interviews and surveys.



Now, you are at the final stage of the design thinking flow and it is time to test your idea. You must have a finished prototype by now; however, the smartest idea is to have more than one prototype for comparison.

With the complete prototypes, you are ready to start user testing. Ask the users (preferably, the same users you've interviewed at the empathizing stage) to try the prototype and interact with it just as they would interact with a real product. For the testing to yield the best results, follow some simple guidelines:

  • Do not explain the product to the users. The best solutions are intuitive and self-explanatory, thus let users experience the application on their own.
  • Encourage users to describe what they are doing. Ask them to talk about what they see, how they understand the functionality, whether they feel comfortable using the product.
  • Record and take notes. With the users' consent, try to make a video of the user testing process to review it later. In any case, note down all important messages you get during the test.
  • Ask questions. Lead your users to elaborate on their experience and the overall impression of the product. Let them voice their excitement or disappointment and say whether you have managed to meet their expectations.

Although testing is the final stage in your design thinking flow, this does not mean that you can stop here. Your prototype may fail, you may get negative user feedback, and you may need to go back to the ideating and prototyping stages. However, a negative test result can bring positive effects, as it suggests improvements. Learn from it and try to make your product better. During user testing, you may also identify other problems that were not considered before.

As a result, you will have a working prototype that has validated your idea and, more importantly, answered that question of whether there is a real problem you can solve. The users themselves helped you to determine that problem and led you to the solution. Now you can proceed with the product development either in its complete scope or as an MVP to further test the market and polish your solution a bit more. In any case, you are now armed with solid practical knowledge and the understanding of your users' problems, thus your chances of winning your target audience are much higher.
↑ Go up

Similar post

If you want to hire only experienced specialists for custom web software development, contact us