As a Product Designer at Wirex, I have experience that’s useful for both novices and managers in design, and want to discuss the importance of designer-developer communication.
Design is not an single action but a complex communication system aimed at solving a specific problem. Within design, a lot of the attention is given to issues surrounding designer’s communication with the client and user, and most writing on the subject concentrates on user needs and business goals. However, one aspect is often overlooked – designer’s communication with developers.
Design is a balance between user needs, the business wants, and technical feasibility
Balancing the needs of the Design and Development teams is essential, and a lack of coordination between them can waste time and reduce productivity. There have been instances when a particular design is given to developers, but due to a lack of communication before, the design ends up taking too long to create, too expensive to implement, or just isn’t possible. This means that we either have to develop new solutions or it won’t work.
This creates a trade-off. Increased working time vs. decreased usability?
The debate over whether a designer should be able to write code is endless, but at the very least, it’s vital that the designer understands how the product works. If a designer has any questions about certain functionalities or technical capabilities, they can then ask the developers to clarify early on.
By being aware of a product’s technical capacity and involving developers in the process of developing design concepts, it gives us, as designers, additional opportunities that everyone benefits from. The developer gets the chance to express their ideas, and the designer receives the necessary information to create a product with good usability, whilst optimising he working process.
Firstly, a style guide is a great way to communicate with developers. Color scheme, typography, grids, components, and all their states. However, given the rapid growth of the Internet, social networks and mobile applications, many businesses can no longer operate without a website. This is where the fun begins for designers. With businesses now requiring hundreds of screen resolutions and mobile browsers, designers must take into account the adaptive behaviour of all the elements involved, to design responsive and easily scalable components. Consider a variety of screens resolution and device breakpoints, clarify with developers whether the website will be adaptive or has separate versions for mobile and web.
Whatever stage you are at, whether it is developing a new design or building on an existing one, it is never too late to think about all the states of the system operation. This could be service messages, server errors, etc. It is important to consider not only user flow but also error states and issues that may arise.
Generally speaking, to create interface components states, you only need to look at the Material or iOS Design Kit, but only your developers know the intricacies of your system’s behavior and can show you what to pay attention to.
What steps are we taking at Wirex to improve the communication process with developers?
- Style Guide and components library. As designers, we add all grids, typography, elements, components, and states to our product, and deliver them to the development team via Zeplin.
- Iterative interaction. This is a daily meeting with designer and developers, where we can clarify and talk over all ideas and doubts about implementation of design solutions in the working process.
- Brief presentation of the design draft. Here we discuss with developers all of the corner cases and variations of solutions and possible system responses.
- Presentation of the finished solution to the development team. This could be a set of screenshots or a clickable prototype, depending on the time and complexity of the task. Here, we clarify in detail the questions about all the user flows, screens, and states.
- Backlog refinement - having a designer present at the developer's weekly sprint meetings. In the detailed process of planning tasks, developers may have queries or need clarification about something, and the designer can quickly provide an answer. This is beneficial in also giving the designer has the opportunity to get better knowledge of how the product works.
Why is cross-team collaboration essential?
Cross-team collaboration significantly speeds up design time, and means designers won’t have to worry about scenarios such as the design of the server connection error screen, invented by the developer in a hurry.
The more questions that are asked in the beginning, the fewer problems that will appear at the design presentation stage and the development process. As a result, we ultimately save time and get more qualitative designs. There are plenty of books giving advice about design, but they often describe only ideal scenarios. They rarely include situations where something’s impossible to implement due to technical or legal reasons, and designers rarely have time to research for other answers. Therefore, as designers, it’s important that we collect as much information as possible early on to allow us to create a perfect design under imperfect conditions.
It is important to remember that the goal of a designer’s work is not to satisfy ego but to make a high-quality, thoughtful decision. So, in short, make sure you seek out answers, listen for advice, and take onboard any information. Sometimes even the simplest idea can be a catalyst to achieve the ideal solution.