Navigate ambiguity. The design process is rarely linear and steps need to be revised multiple times. That's ok!
Reiterating and failing fast is extremely important.
Define the requirements
Getting context (defining general business needs, project scope, requirements, and deliverables) and defining what is needed is an essential for me before starting any project. Being on the same page with team is also important as it can really speed up the process of getting context. At the end of this step I can gauge to an extent what the problem might be.
Discover the issue
Empathy is key at this step. User research, user interviews, ad hoc guerrilla interviews, review of existing knowledge, etc. helps with identifying key pain points that need to be tackled. Understanding the user and the problem space helps define the next steps.
Interpret the results and understand expectations
After the initial research, I start defining the pain points, and user needs, and start creating a user persona. A well-defined user persona and problem statement can clarify what needs to be prioritized first. The case here can be further clarified with the help of a journey map or storyboard.
Ideate
Doing some ideation exercises helps break down the problem and ideation exercises are a really powerful tool. Exercises like Crazy 8's, Brainstorming, Worst idea, Reverse thinking, etc. done with team members, developers, and stakeholders can help explore possible solutions. These types of exercises are a lot of fun for me as I get to tackle problems with fresh perspectives and learn from my teammates.
Prototype
One of my favourite steps of the design process. Here I get to bring ideas to life and utilize the design system or add to the design system to create high-fidelity prototypes. The detail level depends on the stage of the process, timelines, and what needs to be tested first.
Test, iterate, and test again
This is one of the biggest and most valuable steps to design thinking. Getting feedback and failing quickly to iterate again only improves the quality of the product. Once again, the level of testing depends on the stage of the process and the timelines. This can be audits, user interviews, usability tests, or even on-the-spot interviews. Whatever it may be, testing and iterating are really powerful and important. After completing testing we can either redefine the problem statement, ideate again, etc. The next steps are usually dictated by the results.