As a designer I believe it’s important to come up with a design formula that works for you. Over the years I’ve integrated ideas such as design thinking, lean UX and reviewed designers I admire to come up with a process that works for me.
I’ve always believed that getting a design in front of the user or client is key to getting to a successful product. Theory is great, however putting things into practice cements ideas, which is why I have always enjoyed executing ideas.
“In theory, there is no difference between theory and practice. But, in practice, there is.” – Anon.
1. Define the problem
My first step is understanding the problem. Whether that’s a poster or a product redesign – understanding and empathising with users is the foundation for the design. Where will the design be seen? Who will be using and why? Depending on the resources available, timeframe and team I’m in – I can do anything from diving into product documentation, product backlogs or speaking to users or stakeholders to define goals and pain points.
My next step is conducting research. Using UX methodologies that best suit the product, I can begin doing a competitive analysis or review analytics to begin understanding and refining the problem and goals.
Because engineering is such a big part of the design of a product, I’ll ensure I’m up to speed with the frameworks and technology being used. This often involves discussing ideas, limitations with an engineer to get a full picture of the product.
I’ve recently started using ProductBoard as a way to synthesis user research and validate feature ideas.
How can we solve for this problem? Either during or after the research phase, I’ll begin sketching designing using a sharpie, grey felts and paper. This simply allows me to flesh out problems with ideas I may have and better refine them.
My aim here is quantity vs quality. I often share this with the team to get feedback or start guerrilla testing with my internal team.
About 70% of the work I’ve done to date has been a redesign of an existing product. So typically I’ll head straight into prototypes that allow me to create low-fi designs quickly using a design system with prebuilt components. I can generally have a lo-fi prototype done within a day to prove a concept, or help me refine it.
In some teams, or certain issues/features I’ve been able to work with existing code to create a branch and begin crafting my idea locally. The great thing about this is that I can then deploy it to a staging environment for users to test on.
I’ve used various tools and techniques to validate my designs. This can be either a remote user testing session, a self directed test using maze.design or simply measure the design using an A/B testing tool.
Over the years I’ve used CrazyEgg, Optimizely, FullStory and GoogleAnalytics to gather quantitative data.
Once a design has been tested, we can either deploy or review the design. I’ll then measure our definition of success on this deployment. This then leads to the cycle of continuous deployment with design iterations being constantly improved and implemented.
It’s key that every product has the ability for users to submit feedback. Either through a support system or in product feedback tools.