The purpose of research is to gather all the information that we will need to start the project. We make product decisions based on our knowledge and understanding of both our product and user. The quality of our decisions depends on the soundness and extent of our understanding, and our ability to translate this understanding into something that people can use.
During the Research stage, I engage with users, subject matter experts, and other stakeholders to learn about the present state of the product and the needs, pains, and constraints of the user. The output of this stage is a research document that contains all relevant findings and will serve as a basis for decision making.
The purpose of this stage is to identify the goals we want to achieve and align all stakeholders on the desired outcome. Ideation involves a back-and-forth discussion between design, engineering, and the business where ideas and decisions are surfaced through one or more workshops.
Project scope is established once the goal and KPIs have been identified. This stage results in a product roadmap that specifies the scope and prioritization of different features.
An app is a tool that helps users get from point A to point B. To get there a user must take a series of steps that together form the user journey. An interface usually has one or more core flows that enable this journey. In an e-commerce app, this can be the checkout flow. In a banking app the payment flow.
The purpose of user journey mapping sessions is to get everyone on the same line about the steps a user will take to achieve their goal. User journey mapping sessions are done either on a physical whiteboard or a computer screen using drawing tools.
Once the scope has been established I specify the design and engineering requirements in the form of user stories. A story is a unit of information describing what a product should do from the user’s perspective. It is a living document that evolves as new information comes in until it is picked up for development.
By continuously engaging with business, design, and engineering I ensure the scope of a story is realistic and value-adding. I slice stories vertically to have them cover all layers of the stack including interface, logic, and back-end. The result of this stage is a prioritized product backlog that enables designers and engineers to translate business requirements into a functioning product.
Once a user journey has been agreed on I start working on the wireframes, which are low-fidelity representations of what the design will look like. The purpose of wireframes is to create screens around each step of a user journey and decide which features go into which screens.
When designing wireframes I focus on layout and functionality. This means that styling elements such as colors, icons, and fonts are disregarded. Wireframing usually requires several iterations to arrive at an optimal outcome.
At this stage, it is clear what the user flows and corresponding screens are. It is time to translate the wireframes into high-fidelity mockups. This means adding colors, fonts, icons, images, and other visual elements. If a style guide is available then I will design according to the existing brand. Otherwise, I will create brand elements based on a desired look and feel.
Mockups represent the final design. Therefore they need to be precise and meticulously made. I design mockups on component level, meaning I first create the building blocks and then put them together into screens. This also ensures the interface looks great on both desktop screens and mobile displays.
A design system is a set of components, guidelines, and standards that help product teams speed up the design and development process. Design systems enable teams to improve consistency throughout the interface, reduce technical debt, and move fast without breaking things.
After designing an initial set of mockups I create a library of robust components and define standards based on existing patterns. Throughout the process, I use various tools and techniques such as Atomic Design, symbols, layouts, grids, text and layer styles, and naming conventions, to achieve a high level of quality and consistency.
Once a user story has been refined and its corresponding design completed, it is ready to go into development. I coordinate the requirement implementation process by assigning stories based on their priority. And by working in an agile fashion I make sure to keep the backlog lean while continuously delivering incremental value.
I participate in daily standups that keep the team members in the loop about what everyone is working on, and make sure issues and blockers are addressed before they become problems.
Development is a process of continuous improvement. During engineering aligners, I discuss with the team what works and what does not and strive to find ways to improve the development process by establishing best practices.
Having worked extensively with web technologies I work hands-on alongside the engineering team to implement the requirements. I am familiar with JavaScipt, React, Redux, HTML, and CSS (including Flexbox and Grid) and have built apps using Create React App and Next.js as a starting point.
In addition to writing code, I do front-end code reviews and provide junior engineers with feedback. I strive to establish ways of working that improve the speed of delivery while reducing complexity.
After a product has been released it is time to measure its performance. Remember that up to now the design is based on a hypothesis, and it is only after we review usage data that we can determine whether our hypothesis was sound.
I use analytics tools to observe user behavior and conduct interviews to understand the reason for their behavior. Ideally, we want to design based on a hypothesis only once, with any subsequent designs being based on user data and feedback.
An organization is a group of people working together to achieve a goal by contributing their experience, knowledge, and know-how. The performance of an organization is proportionate to its people’s capabilities and their ability to collaborate and deliver. So by equipping people with knowledge and know-how an organization can unlock more value.
I hold 1-on-1 sessions with team members to help them become more productive, and educate teams on both product and design best practices. I advocate both engineering and design best practices and aim to empower people to be their best.