Derek Williams: User Experience Enthusiast Return to Case Study Homepage

How might you maintain a consistent brand and user experience across all platforms while unlocking your development team to innovate? Case Study Design Managment, Agile, Team Building, Healthcare industry

Introduction

In today's competitive digital landscape, delivering a seamless and consistent user experience across all platforms is crucial for businesses aiming to thrive. However, balancing innovation with maintaining brand consistency can often pose challenges for development teams.

Background on the Client

The Client is a leading provider of innovative technology solutions for the healthcare industry. Their products and services are designed to empower individuals to live independently and safely in their homes. We were approached to develop a Home hub interface for their clients to use so that they can interact with the various service providers available to them. It needed to have consistent design principles like the rest of their products.

The problem was they wanted to design the User interface while also trying to create the product. The solution was already being planned out from a Backend perspective, and Backend decisions were dictating the User Experience Design. Not a lot of User Testing has been done to measure the viability of the product either.

Designers were left to create prototypes, while also providing the final user interface design. There was no central design system to pull from, and their design system was also being updated. This created several problems that I will go into later in this article.

Long story short, I offered them a different solution. That solution involved rethinking how their teams where structured, and how restructing them provided the room for innovation.

placehold

Backend decisions should not dictate User Experience decisions.

Backend decisions should not dictate User Experience decisions because the user experience should be designed for the user, not for the backend. The user experience should focus on providing a seamless and intuitive experience that is tailored to the user's needs. Backend should support the user experience, not dictate it. A backend system designed to support the user experience should be flexible enough to accommodate changes in user experience decisions. This support allows for the user experience to evolve and adjust to the changing needs of users.Additionally, backend decisions should be informed by user experience decisions, not the other way around, as the user experience should always be the priority.

Establish a dedicated User Experience Design Team

By establishing a dedicated User Experience Design (UXD) team and adopting a Frontend-Centric approach, organizations can unlock their development team's potential to innovate while providing a cohesive and user-friendly experience.

The pitfalls of building the solution while also designing the User Interface

When designing and developing a software solution, it's essential to consider the potential pitfalls of trying to build the solution while simultaneously designing the user interface (UI). This approach can lead to several challenges that hinder the development process and compromise the user experience.

Lack of flexibility.

Designing the UI while building the solution limits the ability to make changes and adapt to new requirements. As development progresses, new insights and feedback may emerge, calling for adjustments to the UI. However, when design and development are intertwined, making such changes becomes cumbersome and time-consuming.

Increased Complexity.

Trying to handle both design and development simultaneously can result in a more complex and difficult-to-manage codebase. This complexity arises from the interdependencies between the UI and the underlying functionality, making it challenging to maintain and update the codebase efficiently.Furthermore, this approach can lead to slower development.

Developers are required to switch between different tasks and contexts.

The lack of focus can disrupt their workflow and reduce productivity. As a result, the overall development process may be delayed, affecting project timelines and delivery schedules. Designing the UI while building the solution may result in a less cohesive and user-friendly experience. This is because the design may not be fully thought out or adequately tested, leading to inconsistencies and usability issues. Users may encounter difficulties in navigating the interface, finding information, and performing tasks effectively.

Increased potential for errors.

Trying to handle both design and development can increase the risk of errors and inconsistencies in the final product. With divided attention and focus, it becomes more likely to overlook important details or introduce bugs that affect the functionality or usability of the solution.

How does standing up a Frontend-Centric team help unlock your development team to innovate?

You can empower your development team to focus on building new features and functionality, while your design team focuses on creating a consistent and user-friendly experience. This can free up your development team to be more creative and innovative in their work, which can lead to better products and services for your customers.

Additionally, a Frontend-Centric team can help to improve the efficiency of your development process by allowing your developers to work more quickly and easily. This can lead to faster development times and a more streamlined process.

Another benefit of having a Frontend-Centric team is that it can help to improve communication and collaboration between designers and developers. When these two teams are working closely together, they can more easily understand each other's needs and work together to create a product that meets the needs of both users and developers.

Overall, standing up a Frontend-Centric team can be a great way to unlock your development team's potential for innovation.

What does the Frontend-Centric team look like?

Lead Design Strategist

A Lead Design Strategist is a senior-level position within a design organization. They are responsible for leading a team of designers, Front-end Developers, and Strategists to develop innovative, creative, and effective solutions to design problems. The Lead Design Strategist is responsible for setting the overall vision of the design team and for managing the development process for all projects.

Project Manager

  • Make sure the Project is completed on time and according to the scope.
  • Develop, maintain, and communicate project plans and schedules.
  • Establish and maintain relationships with stakeholders.
  • Manage resources (human and financial) to provide optimal usage.
  • Monitor project progress and modify plans as appropriate.
  • Track and report project progress to stakeholders.
  • Identify and manage project risks.
  • Lead all necessary meetings, including stand-ups, refinements, and retrospectives.
  • Receive and manage project feedback from stakeholders.
  • Create and maintain project documentation.

Front-end Developer

Front-end developers are responsible for translating design into reality. They use HTML, CSS, and JavaScript to turn designers' vision into functional code. Front-end developers work closely with designers to make sure that the final product is both visually appealing and user-friendly.

Front-end development is a complex and challenging field. Developers must have a strong understanding of design principles, as well as the latest web technologies. They must also be able to work effectively with designers and other team members to create a cohesive and consistent user experience.

To stay up-to-date on the latest trends and technologies, front-end developers must constantly learn and adapt. They must be willing to experiment with new tools and techniques, and they must be open to feedback from their peers and users.

Design Management: What are the responsibilities of a Frontend-Centric team?

A Frontend-Centric team is responsible for designing and developing the user interface of a product or service. They work closely with product managers, designers, and engineers to make sure that the user experience is consistent and user-friendly across all platforms. The team uses a variety of tools and techniques to create user interfaces, including wireframes, prototypes, and user testing.

One of the key responsibilities of a Frontend-Centric team is to create a consistent visual design for a product or service. This includes developing a color palette, typography, and layout that is used across all platforms. They should establish Design Tokens to create a single source of truth. The team also works to make sure that the user interface is responsive and works well on different devices, such as desktop computers, laptops, tablets, and smartphones.

In addition to creating a consistent visual design, a Frontend-Centric team is also responsible for developing the user interactions for a product or service. That responsibility includes designing how users navigate the interface, how they interact with different elements, and how they receive feedback from the system. The team uses a variety of user experience (UX) design principles to create user interfaces that are easy to use and enjoyable.

The team shares their designs with these teams and gets feedback to make sure that the designs meet the needs of the users. The team also works with engineers to implement the designs and make sure that they work as intended.

By working together, a Frontend-Centric team can create a consistent and user-friendly experience for users across all platforms. This can lead to increased user satisfaction, improved product adoption, and increased revenue.

Conclusion

The Client was able to see the advantages of restructuring, but also the process at which they could make it happen was challenging. Every company has to manage those inter-team relationships to work efficiently. Time will tell if they can follow through with the new focus of standing up a Front-end Centric team. I have additional details on specific design practices below as well as a downloable Proposal to use to pitch a Front-End-Centric Development Team.

Design tokens: making sure consistency in every detail

Design tokens are reusable, named elements that represent a specific design attribute, such as a color, font, or spacing. Design system consistency can be achieved by combining design tokens in one place, allowing teams to efficiently update and maintain them.

Design tokens offer the advantage of enabling teams to modify their design system without having to manually update every instance of a specific design element. For example, if a team decides to change the primary color of their brand, they can simply update the design token for that color, and all instances of that color will automatically be updated throughout the product or service. This can save teams a significant amount of time and effort, and it can also help to make sure that changes to the design system are made consistently.

In addition to providing consistency, design tokens can also help to improve the efficiency of the development process. Developers have access to a central source of design elements, making it simple for them to locate the necessary resources for creating new features and functionality. This can help to reduce the amount of time developers spend searching for design assets, and it can also help to improve the accuracy of their work.

Module components: the foundation of cohesive design

Module components are reusable pieces of code that can be used to create complex user interfaces. They are the foundation of cohesive design because they make sure that the same design elements are used consistently across different platforms and devices. This creates a seamless experience for users, who can easily navigate and interact with your product or service regardless of how they are accessing it. There are many different module component frameworks available, each with its own strengths and weaknesses. Some of the most popular frameworks include:

  • React: React is a JavaScript library that is used to build user interfaces. It is known for its flexibility and performance, and it is used by some of the largest companies in the world, including Facebook, Netflix, and Airbnb.
  • Angular: Angular is a TypeScript framework that is used to build enterprise-grade applications. It is known for its scalability and security, and it is used by companies such as Google, Microsoft, and IBM.
  • vue.js: vue.js is a lightweight JavaScript framework that is used to build user interfaces. It is known for its simplicity and ease of use, and it is used by companies such as Alibaba, gitlab, and Adobe.

When choosing a module component framework, it is important to consider the specific needs of your project. Some factors to consider include the size and complexity of your project, your budget, and your timeline. Once you have chosen a module component framework, you can begin to create your own module components. To do this, you will need to follow the documentation for your chosen framework. In general, you will need to create a component class, which will define the behavior of the component, and a template, which will define the appearance of the component.

Module components can be used to create a wide variety of user interface elements, including buttons, text inputs, menus, and navigation bars. By using module components, you can create complex user interfaces that are both consistent and easy to use.

User testing and A/B testing: empowering innovation through data

User testing and A/B testing are essential for gathering data-driven insights into how users interact with your product or service. This information can then be used to improve the user experience and empower your development team to innovate. User testing involves observing real users as they interact with your product or service. This can be done in a variety of ways, such as through in-person sessions, remote usability testing, or surveys. By watching users interact with your product, you can identify pain points and areas for improvement. This information can then be used to make changes that will improve the user experience.

A/B testing is another valuable tool for gathering data about user behavior. A/B testing involves creating two versions of a web page or app screen and then randomly showing one version to half of your users and the other version to the other half. By comparing the results of the two versions, you can see which one performs better. This information can then be used to make decisions about which design elements to use on your website or app.

User testing and A/B testing are both essential tools for gathering data about user behavior. This information can then be used to improve the user experience and empower your development team to innovate. By understanding how users interact with your product or service, you can make changes that will make it more user-friendly and successful.

Storybook

Storybook is a tool for developing UI components in isolation for React, Vue, and Angular. It allows you to create components independently and showcase components interactively in an isolated development environment. Storybook provides a sandbox to build UI components, which can be shared across teams, and used to develop and document components. It also provides tools for testing components and creating visual tests.