When I first started working at Atlantbh, the major challenge I faced as a UX/UI designer in the software development process was the use of the agile methodology. My work did not end with the design handoff to the development team. The real call for problem-solving for me was when implementation started. It had less to do with design iterations and unforeseen use cases and way more with what this blog post is inspired by –
The communication gap between designers and developers
The basic agile values are flexibility and accessibility. Agile also teaches us that being in a team and working together on an increment already implies we are not living in different worlds (as it may seem from an outsider’s perspective), so we should also speak the same language.
But does flexibility and accessibility mean that designers have to learn the language of code or that developers have to learn the rules of design in order for them to communicate? This may be one solution, but I feel it still leaves a lot of space for things to get “lost in translation”.
After a lot of communication with the engineering part of my team, I made a general, but profound guide for a better designer-developer collaboration.
Collaborate early and throughout the whole process
Collaboration between design and development should be taking place early on and continuously throughout the product development process. Including developers in the earliest stages of the design process could be extremely helpful. If developers are introduced to the design in the wireframes and mockup phase, their feedback on the technical aspect of the design realization could help direct designers towards more productive solutions.
Late stage collaboration between designers and developers can lead to some elements in the design not being delivered in code within the estimated time. Changes to a “completed” design are harder to work around to accommodate new requirements. Continuous communication with the dev team could save designers a lot of time and energy being spent on design that is not implementable and it could speed up the whole development process.
The manner of early and steady collaboration is best to be organized within the team. This brings us to the next point:
Plan for design-to-development phase communication
Defining the way designers and developers want to handle design collaboration inside the team is the first step towards being more intentional and open about this collaboration. Thanks to agile, product development today is a very iterative process, which can create complexity for the project team. Designs can go through an indefinite number of iterations and determining the “final” version can be difficult. This is why it’s important for all team members to be updated with design changes relevant for their part of work.
The best way to organize an effective workflow is to come up with a working model that suits the engineering teams’ practices. Setting up a few interview sessions with the engineering team at the beginning of a project can be a productive path to understand their preferences regarding the way they want to receive documentation, through what channels it should be delivered to them, in what form should the documentation be, how often they need to be notified about updates and how much details they need for understanding the set of design rules.
Considering the fact that designers are valued for their collaboration skills and team empowerment and enablement, it should be on the designers to adapt the design workflow to accommodate the needs of the developers. Getting aligned on how designers will communicate design updates and feedback with the engineers will help the team stay focused and organized.
The expression of the design requirements meant for developers is another important point I’m bringing up, and it highlights the following:
The team should be aligned on the exact specifications
To reduce diffs and the time-consuming and often painful back-and-forth between the design and development teams, it is critical to be on the same page regarding design specifications (specs).
Specs are specific data elements that include information such as the dimensions of the assets, spaces between them, colors, fonts, their responsive behaviors, formats of assets and platform restrictions. For the designers, specs may seem clear and straightforward but that might not necessarily be the case for the developers too.
Designers should ensure that the rest of the team is aligned on the exact required specs. This means that designers should invest time in clearly aligning the specs that developers need to move the project forward.
Be empathetic and respectful of other perspectives
Last, but not least — encouraging empathy and respect for each others’ positions and perspectives is crucial for a successful collaboration. It’s also important to consider how diverse skill sets of designers and developers function within a team.
As already mentioned, for better collaboration, designers should keep development in mind. But on the other hand, developers need to be considerate of the designers’ advocacy for both client and end user needs. Although developers may have some insight into the business context in which the product is being developed, they usually do not have all the different perspectives designers do.
Developers most likely haven’t interacted with users in research sessions or analyzed user statistics to learn about how users engage with a product’s current experience. This is why developers do not necessarily have a vision of how a particular feature can impact people’s lives and designers are there to speak for the users in the team. Design decisions are often highly conditioned and compromised due to many different perspectives designers have to consider while creating a prototype. Keeping that in mind when giving feedback on design can be a good starting point for more productive design conversations.
“When there’s mutual understanding and respect, compromise is collaboration, rather than combat. You’re working together to solve a problem for a user, within realistic constraints. If either side is unable to be pragmatic, everyone’s going to end up unhappy.” — Ben Buchanan
To wrap it up…
Every team is different and there can’t be a one-size-fits-all collaboration method. What is for sure is that the collaboration between designers and developers in a team should start early and continue steadily. The organization of the collaboration is up to the team, but what should be kept in mind is the different perspectives of team members and their diverse skill sets. This short guide for improving designer-developer collaboration in an agile setting highlights the role of both designers and developers in establishing open communication and setting up a working model tailored to their needs.