Blog / The Design Thinking Process: Steps You Shouldn't Skip

The Design Thinking Process: Steps You Shouldn't Skip

May 23, 2023 → 12 min read

Are you developing a product from scratch or scaling an existing system? If so, you have probably already heard about design thinking. That's the magic wand used by Airbnb and Apple, IKEA and Ubereats to create attractive products and valuable brands.

This approach is well-known not only among designers but also among product owners. Both of them know for sure the benefits and strengths of this methodology. Let's go through this topic together.

What Is Design Thinking Process?

Design thinking is a user-centric approach intended to meet customer needs in the best possible way and find solutions for non-trivial problems.

A non-trivial problem is firstly about a challenge with no off-the-shelf solution. For example, it may be related to a fast-changing industry, unpredictability, or a lack of understanding of factors that can impact the final result.

Throughout history, people have faced numerous non-trivial problems, from cultural differences and social conflicts to global climate change. From a business perspective, an example of a non-trivial problem is the need for retention, competitiveness, or becoming the top player in the industry. To achieve this, companies are looking to optimize their existing processes with different tools, including technology. Startups are also aware of design thinking stages, from validating business ideas to providing a better customer experience than their competitors.
design thinking stages><meta itemprop=
Let's figure out three key design thinking steps: empathy, brainstorming (idea generation + idea prioritization), and prototyping.


The first design thinking principle is empathy. Here we need to understand users' experiences, motivations, and problems.

Follow the next design steps to start the product development process effectively:

  1. Observe and consult with users
  2. Analyze users' needs and expectations
  3. Take notes for the further stage of examining user frictions and ways to solve them

Freshcode Tip
Having a well-defined problem is half the work done.


The next crucial design step is brainstorming, which involves two steps from the picture above: idea generation and idea prioritization. The development team generates ideas that can enhance user experience and make life easier for the users. All suggested ideas are considered and the goal of the entire process is to list different solutions and find the brightest diamond in the rough.

Freshcode Tip
Make a list of all ideas with key comments to keep everything in view for deeper analysis.


Once the best ideas are defined, the team can proceed to the next step: prototyping. This tool makes the process more efficient and brings all possible benefits of cost-saving idea validation. It's crucial to design the solution simply and clearly with accurate, well-defined metrics.

When the prototype is ready, it's time to test it and gather feedback. Be critical about the tested solutions, leaving room for a keen eye and ideas for improvement. If a place for such improvement is found, the team designs a prototype of the new solution and retests it.

Freshcode Tip
Do not skip storyboarding.

Why Design Thinking Is Important for App Development?

The fate of a system is determined during the solution design stage. That's why you have to know common mistakes that can lead to project failure and avoid them.
  • Cost-сutting
    The design phase is often skipped in order to reduce costs and focus all resources on developing and designing the system as quickly as possible for further hypothesis testing. BUT tech debt remains in place and this work will have to be done during the development process.

    System prototypes will allow you to test hypotheses efficiently and collect feedback using fewer resources than might be required if you skip this stage.
    • Ignoring user feedback
      Customers' opinions are vital to make a good product, and ignoring user feedback can lead to poor product design. Sometimes it happens because not all stakeholders were identified. Therefore, it is crucial to involve all stakeholders in the process and avoid making decisions for them.

      Moreover, even if you have identified all stakeholders and user requirements, it's often necessary to validate them again to ensure the project concept is on the right track.
      • Poorly designed UX
        When users are unable to find what they are looking for or complete tasks easily, they can become frustrated. It can be caused by:

        • The system does not fully cover processes/user needs. Even a small oversight can break a whole process. And a missed user need can prompt customers to switch to competitors who have addressed it.

        • Non-intuitive system. In an ideal scenario, users should be able to achieve their desired outcome from their first interaction with the system. If an interface doesn't allow users to solve a problem simply and fast, the result is the same as in the previous point: users will switch to competitors.

        • Suboptimal UX. When the user must perform multiple extra steps to achieve the desired outcome it's about bad UX. Avoid this, reduce users' frustration, and prevent them from getting stuck or giving up entirely.
        • Unnecessary functionality
          Feature creep happens. One of the most common reasons is a lack of focus on the main hypothesis. Different extra features appear in the system and as a result, your startup wastes resources, loses focus, and faces difficulties in achieving its goals
            • Lack of testing hypotheses using prototypes
              Testing hypotheses using prototypes is a valuable tool to ensure that the designed solution covers all necessary business processes. Skipping this step may result in an incomplete solution that does not meet all user requirements.
                Stakeholders often have different ideas of what an ideal system should look like and expect the designer to create a solution that aligns with their vision. However, meeting all expectations can be challenging without following the crucial design thinking principles.

                By implementing a well-tuned process, the team can avoid the issues described above and effectively collaborate throughout the product design phase.

                How Do We Conduct Design Discovery at Freshcode?

                The design thinking approach is the foundation and a proven solution for the discovery phase we provide. The key is to identify customer problems and test different hypotheses to find a solution to solve them.

                We prioritize consulting with end-users before starting the product design process. However, we remain flexible and adaptable. If consulting with users is not possible, we design the system based on client interactions and conduct thorough research to formulate hypotheses.
                Why discovery phase matters: Freshcode experience
                Freshcode provides two types of discovery stages: basic and comprehensive. Both of them have their own purpose and suitable cases to use.

                During the basic discovery phase, we elicit user requirements and design the system. This process involves three key steps:
                • Getting to know the client
                  During online meetings, our business analyst listens to the client's project vision, identifies the client's pain points, and empathizes with his or her problems. It's also necessary to gather information on all relevant processes and user types involved to understand the system's objective, value, and the problem it solves.
                • Working with user requirements
                  While delving into process details, we ask clients to describe the types of users and the tasks they perform in the system. At this stage, it's important to see how users deal with current processes.

                  Business analysts use observation techniques to gather information by watching and analyzing user actions in real time. Usually, clients share their screens using Google Meet or Zoom.

                  It may take several meetings to identify all the details and specific work cases, and after each session, the business analyst can offer several ideas to improve existing processes.

                  If an observation session cannot be conducted for any reason, we focus on interviewing and studying available project documentation and regulations.
                • System design
                  Clarifying details during the previous two steps allows the BA to enhance the quality of the system in the first version of the prototypes, reducing the number of iteration reviews required.

                  It is impossible to take into account all the nuances of the future product in the first iteration. Therefore, the key to success is the collaboration between the client and the BA to identify all the gaps and hidden requirements using prototypes.

                  We schedule weekly meetings with the client to review requirements and practice as-needed meetings based on the availability of the client and team. The design process is iterative and continues until approval of the final design.

                What are four key types of design deliverables?

                When it comes to the development process, it's common for business analytics and designers to hand off design deliverables to stakeholders, developers, or other team members to get feedback and implement design solutions into a real product.

                Each one serves a different purpose. Let's explore the four main types:


                Once the client presents the vision of the system, the business analyst engages the team in a brainstorming session to define the goals and objectives of the system. This is where sketches come in handy.

                A sketch is a hand-drawn draft of the system or its components allows for quick visualization of data and provides a general, non-detailed structure. Creating sketches does not take much time and often they look like this:
                Once the client presents the vision of the system, the business analyst engages the team in a brainstorming session to define the goals and objectives of the system. This is where sketches come in handy.

                A sketch is a hand-drawn draft of the system or its components allows for quick visualization of data and provides a general, non-detailed structure. Creating sketches does not take much time and often they look like this:


                A wireframe is a detailed version of a sketch developed using digital graphic tools that takes into account all components of the final product. It defines sizes and proper placement of components in grayscale.
                It's kind of a blueprint of the future construction — all parts are measured, but it is still not ready for launch and is only used as a plan for further work.

                Color scheme and text content are not important at this stage. Wireframes are presented to the client to confirm that the team is on the right path to solving the main problem.

                The next level in 'upgrading' wireframes is mockups or prototypes.


                The next step towards the final design is creating mockups. At this stage, the black and white wireframe is colored, and real icons, images, and final typography, including font and text size, are selected.
                Continuing with the analogy of building a house, in this step, we choose the colors of the walls and the surface materials.

                The mockup provides a static but accurate visualization of the future digital product, which is already able to attract potential buyers or investors.

                Freshcode Tip
                The logic of the system should be described in comments to mockup or given to the client during the presentation.


                A prototype is an interactive version of a wireframe or mockup that replicates how users might interact with the system. It is used to create interactive flows, test hypotheses with real people, and gather accurate first-hand feedback.

                To complete our analogy with building, prototypes can be described as a fully scaled 3D model of a house.

                Clicking on prototype elements allows users to understand how the future product works and how it can solve the problem or complete the task at hand.
                To sum up, we can make a simple test to determine what is in front of you: sketch, wireframe, mockup, or prototype.
                wireframe vs mockup vs prototype><meta itemprop=
                The Freshcode BA team can create all types of design deliverables as a part of the system design process. However, if the client requests it, we may skip the mockup stage to speed up the development process. Freshcode's experts complete the design of a future solution within two to three iterations.

                At this stage, the basic discovery phase is complete. If functional and non-functional requirements documentation is needed, Freshcode offers such a service as part of the comprehensive discovery phase.

                Functional vs non-functional requirements by Freshcode


                Design thinking helps to create innovative solutions to complex problems while keeping the end-user in mind. It is a human-centered approach to problem-solving that emphasizes empathy, collaboration, experimentation, and iteration. By using design thinking, we understand the needs and preferences of the end-user and develop solutions that are both effective and desirable.

                We value long-term partnerships and take full responsibility for our clients' successful product launches. Freshcode specialists leverage their expertise and technical experience to provide startup founders and entrepreneurs with the best opportunities for business growth and scalability.

                The discovery phase is an essential part of our process as it helps us identify best-fit solutions while saving costs and invaluable time.

                If you're looking to test a hypothesis, conduct a discovery phase, or have a consultation, please fill out the contact form below.

                Feel free to ask any questions or request information about Freshcode's software development services and approaches.

                Let's make ideas tangible.
                Illia Kolesnikov

                Business Analyst at Freshcode
                Freshcode business analyst and problem-solving guru. Has keen attention to detail and a strong commitment to delivering value. Always stays up-to-date with the latest trends and patterns, translating them into actionable recommendations for clients.

                Has a strong skill to adapt quickly to diverse business environments. Focuses on HealthTech and ERP solutions.

                In his free time, Illia reads books and comics, goes swimming and enjoys exploring new places and exotic food.

                You may also like

                6 Key Principles of Usability Design
                9 min read
                Business Startup Checklist | Tips from IT Company
                9 min read
                Technical Documentation: What Is It & How to Write It
                7 min read
                What happens after you fill this form?
                Our representative will contact you within one business day
                We sign an NDA to keep your ideas confidential
                You share essential requirements with us
                Our analysts and developers estimate the budget and timeline
                Shall we discuss your idea?