I keep my process intentionally nebulous and lean. I am less concerned with specific deliverables as I am with achieving a successful end result. After working with hundreds of different project types, business models, and client backgrounds, I’ve had the greatest amount of success by being flexible in tackling each unique problem that I’m trying to solve.

How I Get It Done

While there might be no single process that works for every client on every project, there are a variety of process fundamentals that remain largely constant: define, research, design, test, and iterate.

Define – What problem are we solving? What constraints are we working with? How do we determine success? Sometimes these questions are obvious, but generally they are not. After careful review of the project scope, I may construct a document which outlines the problem, project goals/objectives, and measurable success criteria.

Research – Thorough research must be conducted on representative and/or actual users. There are a wide variety of tools and methods that can be employed depending on the project needs and budget, but most often I am interviewing users and stakeholders, reviewing feedback, examining analytics data, writing personas, assessing content, and conducting usability evaluations on existing systems.

Design – Based on the evidence gathered and the type of system being developed, the next steps in design can vary greatly. Information architecture might be a good place to start, or perhaps it's possible to jump right into rapid prototyping with sketches or wireframes. The UI is created in whatever format is necessary, be that HTML/CSS or Photoshop.

Test – Testing is conducted as early and as often as possible, preferably on actual system users. Conducting guerilla usability tests, a/b tests, and alpha/beta tests provide the design and development team the opportunity to improve the system in a variety of meaningful ways.

Iterate – Based on the results of testing, changes are made to the product in order to improve the user experience. The process of designing, testing, and iterating is repeated as the budget allows.


The success criteria outlined at the outset of the project should be closely monitored, so that we may learn from our experiences and improve upon how human-centered products are designed and implemented.