I follow a version of the double diamond design process. While it is described here and in my case studies in a linear form it often involves looping back to a previous step and iterating, expounding, or trying a different approach.
Learning is first and foremost about gaining empathy for the user. But, learning is also much more than that. Each project brings new challenges and new domains. Whether the domain is health, education, or business planning, there is always a need to learn.
Some of my favorite learning tools include conducting interviews with users and SMEs, heuristic evaluations, usability testing, card sorting, and competitve analysis.
It’s time to take everything that I learned and use it to identify trends, create and/or identify user’s mental models, user personas, user scenarios, user flows, problem statements, and design principles. Post-it notes, markers, and whiteboards are my best friends here.
Ideation is perhaps my favorite part of the process because I (initially) get to let my imagination run wild with creating user scenarios (visualized in Bitstrips), sketching wireframes, laying out interfaces in Sketch and using any other method I might need to help me in finding solutions to the problems uncovered in the previous phases.
If I'm in the early stages of ideation I like to use printed device templates for sketching wireframes. In the latter stages of ideating Sketch is my go-to tool. If I'm imagining new ways that a user might interact with a product I like to write out scenarios on paper and then visualize them in Bitstrips.
With a lot of ideas generated it is time to take the best ideas and turn them into something that can be tested with users. I find it best to learn earlier rather than later what ideas are working and worth pursuing so my prototypes are usually low to mid-fidelity though I enjoy getting to make higher-fidelity prototypes that involve gestures and animations whenever I can.
Prototyping is, by its nature, all about testing. Whether it is a paper prototype or a prototype made with Proto.io, the purpose is to check my thinking with someone else to make sure the solution I’m designing aligns with the mental model of users.
I've tried a lot of different prototyping tools. Marvel or Invision is great for quick prototypes to test the flow of an app or website. If I'm wanting to quickly prototype to test flow AND interaction I prefer Proto.io though I have used Axure. I'm also currently trying out Flinto to see where it might fit into my process as well.
Testing is something that should be done throughout the process (instead of only at the end) in both formal and informal ways, the goal always being to receive feedback on the work being done and to gain an understanding of the thought process others go through when using the product I'm designing.
Ideally testing is conducted in-person as it is easier to gain a clear picture of how the user involved in testing is interacting with the design. When remote-testing is necessary (and even when in-person testing is being conducted) I like to use Lookback to record my tests.
It is pretty rare that you get everything right the first time around. Having learned from testing a prototype with users I can now refine my solution to better solve the problems that I am trying to solve.