My design process follows a few general steps and adapts accordingly for project specifics.
1. The Problem
What's the point?
Understand the problem and clearly define it. This stage is chaotic, rough, and filled with sketches, scribbles and whiteboard sessions. All output is geared towards unloading ideas and understanding the problem.
The focus is on clearly identifying the problem for which the end product is addressing. Dozens and dozens of questions are asked. I analyze UX notes, user testimonials of existing products and pour through the data that will eventually be used in the product.
2. The Approach
Paper to Pixels.
Once I have a grasp of the problem, I start creating wireframes and prototypes. More questions arise here as realizations are made and ideas start to take shape. I’ve found that focusing on the broader issues first helps me define a reference point when tackling the smaller problems.
My mindset remains set on generating different ideas rather than eagerly sticking with a set approach. Pen and paper are still close-by and help validate whether that ‘new idea’ is worth pursuing or not.
The UI can barely pass for one now, it’s made up of only what is necessary for the user to accomplish tasks. If time/budget/etc. allow, user personas can help immensely, uncovering navigational flaws or interactions that otherwise would have gone unseen.
3. The Look
Tighten it up.
When a definitive direction has revealed itself, I start translating the wireframes into fleshed out mockups. I’ve found it crucial to include other designers and developers at this stage to ensure the interactions and visuals align, as well as sign off on any technical feasibility concerns. If an issue surfaces, returning to the previous steps is completely fine.
Moodboards, styleguides and brand assets help define a style to reference and abide to. The development team should have access to the same material to ensure the style I’m using is properly reflected in the code they are deploying.
4. The Result
Marrying the visual design with the development teams wires brings the product around the final turn. There are inevitably issues that arise, but addressing each with the initial problem in mind can make quick work of a seemingly epic problem.