The very first step in any project, I need to understand the main product business goals. What kind of problems is this product trying to solve? Who is the client? What are any possible technical constrains?
Collecting necessary business requirements and all related data helps me identify the best solution.
At this step I really need to envision the whole product flow including all functionalities that could be possibly included in the final product. Even if the nearest release product scope doesn’t include all planned functionalities, it’s important to keep in mind the big picture so there are no surprises later in the game.
Deliverables at this stage include product and business goals description, full product process flow chart, basic overall description of all intended functionalities.
Having identified the business goals, I can determine user goals. User goals do support, but not equal business goals. From there based on research results it’s possible to start developing User Personas – main user groups that will represent all product audience.
Next step is to analyze existing business requirements and create information architecture. Depending on the project, the content structure may be quite complex.
Deliverables: user goals and user personas description, information architecture in a form of a hierarchical chart with dependencies.
Once all necessary data is collected and the content is structured, I start creating user process flows (user experience structure). User flows are fairly detailed flowcharts that illustrate how user navigates micro processes and achieves user goals on each step. At this step, we need to make sure that the logic is consistent across the whole application and the process is intuitive for users.
To support user flows, it’s important to have basic visual illustration. Here come low and high fidelity wireframes. Wireframes are necessary tool to identify various screens necessary to design the actual process, they also help envision what kind of UI elements could be needed at each step.
Depending on the size of the project, this is the stage where it might be possible to create some simple prototypes and start user testing.
Deliverables here will be low/high fidelity wireframes and possibly simple low fidelity prototypes.
In many times, it’s necessary to start testing as early in the project as possible, because before the first testing, it’s very much a guessing game. We can guess to the certain extent, but to be able to have assurance and ultimately create the best product that answers to all business goals, user testing is crucial.
Testing will help identify the efficacy of already prototyped or wireframed product, and determine possible areas for improvement.
Once initial testing is done, we can move to creating high fidelity mockups and prototypes.
UI design will cover all aspects of visual part of the application. It has direct correlation with brand identity. If that doesn’t yet exist, it needs to be created and once again tested. Once this task is complete, UI design process is pretty much about how to apply existing guidelines and use them in the most efficient way to support user goals and user flows.
Carefully crafted high fidelity mockups must fully represent the look of the end product and leave absolutely no room for inquiry on all user steps and various scenarios. Here visual guidelines and elements are applied to wireframes and modified until the desired aesthetic is achieved.
Final deliverables are: high fidelity prototypes that illustrate complete product flow and UI kit. UI kit includes interactive and graphic elements, symbols, colors, patterns and images and technical specs for sizing, dependencies and elements interaction.
I believe that product testing must be an ongoing process. Only valid user response can help us identify errors on early stages, that will ultimately help us save time and effort in the future. And the bigger the application is, the more important and often should the testing be.