Like everything, there is a right tool for the job. I generally follow a process of:

  • Research
  • User Story Creation
  • Wireframes
  • Prototype
  • Feedback
  • Testing
  • Iteration

While this is my general process, it is not set in stone. I feel the ability to be flexible and adaptable is just as important as delivering compelling user experience. Here are some examples of each step in the process.


Good design is 80% research, 20% execution. You don’t build a house without blueprints, why would you build an experience without them? Knowing user needs, business goals, and success metrics are the foundations of good design. I do a UX brief, competitive research, user interviews, focus groups, and/or swot analysis based on the need of the project. See some of my research.

User Story Creation

User stories are the roadmap of project work. I work with the team to create meaningful user stories that convey purpose and need. The general format is:


This format ensures the team is thinking about:

  • a specific persona and how they benefit from this/how it solves their need
  • a meaningful task or action based on user need
  • a measurable benefit we can use to craft and measure success metrics

These focus on goal and need, rather than UI elements.


Wireframes come in many shapes and sizes. From a sketch on a napkin, to a digital wireframe, a wireframe’s purpose is to convey a general idea or concept before committing resources to developing the idea. It is much easier to change a wireframe than code. Here are some examples of wireframes. Some are quick and dirty, some have workflow or business need explanations.


Like wireframes, prototypes come in various forms as well. I prefer interactive prototypes in a design tool like Axure over coded HTML, CSS, Javascript because it bridges the gap of wireframes to testing better. With HTML, CSS, JS prototypes, versioning is messy. It also takes more time to code than building in a prototyping tool. With tools like Axure, I can have everything in one document. I can use wireframes as a starting point to an interactive prototype instead of having to keep track of all my external assets. Basically, it is cleaner and easier to use.


Testing is required. Anyone who “doesn’t have time” to test is losing out on helpful insight in to users. If we aren’t validating our designs with our users, we are merely guessing at what they need and want.


No project is every finished. As a designer, I love getting feedback from users and re-evaluating user needs and business goals to make sure the products I build still meet the need. In a perfect world, we would have time to build everything in to the first release, but we all know that is rarely possible. Iteration keeps us constantly striving for excellence.