Digital product designers and engineers are actually two halves of the same coin. In an ideal world, they would work perfectly well together. There’d be no strict dividing lines, no cats and dogs analogies, no “us and them.” Even though there are high functional interdisciplinary teams out there, unfortunately this is not such a common scenario. Often we can blame it on the battle of egos that’s been raging on since forever. Egos on the both sides of the imaginary fence.
The secret ingredient to the well-oiled machine that is our product team is quite simple - designers and developers understand that they have common priorities. They both have to ship. They are aware of their interdependencies and that the future success of the product depends on their collaboration.
All successful teams grow together and learn from each other, but it’s less about learning hard technical skills, and more about empathy and mutual understanding. These are the soft skills that have a huge impact on any team’s performance. They’re not as easy to quantify as, for example, if a UX designer would learn Java, but they’re much more impactful nevertheless.
There would be so many more successful designer/developer collaborations if we’d collectively stop oversimplifying the problem and restricting it to the realm of technicalities. It’s good to learn how to code if you’re a designer or master the basics of design if you’re a developer, but what’s going to change if attitudes remain the same? Above all else, UX designers and developers need to learn how to communicate and meet each other halfway.
Conjure the Power of Empathy
UX-ers are not your typical visual designers that only care about the aesthetics of things. They walk the fine line between creativity and logic, easy on the eye and functional, to envision great user experiences.
UX designers are natural empaths because they translate the voice of the customer, their needs and wants, into meaningful design and delightful product experiences. If they would extend that empathy to their immediate environment (e.g. fellow developers) imagine the outcomes! They would be able to understand perfectly the point of view of their colleagues leaving all the misunderstandings, missed deadlines, and hurt egos behind.
Understanding the developer’s goals and needs, as well as their role and processes will contribute to efficient collaboration in a major way. Once the understanding is there, you’ll automatically give more towards helping them do their job better - you’ll provide the best documentation, involve them in the design process early on, ask for their feedback as to what is feasible, and so on.
There’s No Room for “That” Attitude in Product Teams
It’s totally fine to think of this text as a rainbows and unicorns way of looking at the complex world of designer/developer collaboration. There’s just so many variables that come into play, right? Like any human to human relationship, this one can easily get messy.
Both sides have something to defend and they’ll sometimes defend it with an attitude that disregards the differing opinion and the reasoning behind it. Losing this attitude is necessary. All it takes is effort on both sides to listen, open mindedly, to the opposing views so you can find common ground, share ideas, iterate based on them, and ultimately, ship a product that delivers maximum value.
No One Really Wants to Stifle Innovation
UX-ers often see their colleagues developers as naysayers who tell them things cannot be done, demanding changes to their innovative designs. Sometimes this is true, and you need to defend your design idea with all you’ve got (while being polite obviously) and explain why further iteration would kill the usability of the product in the making.
But it also happens that developers actually can’t find the way to build what you’ve designed. Or they see it as too technically demanding/time consuming and small changes on the design side would make all the difference. If certain elements of your design are too difficult to implement they may not be worthwhile. Put simply, developers are there to help you better understand what is feasible and meaningful in terms of production.
The truth is, no one is really trying to kill innovation. The real UX artistry is knowing how to be creative within the constraints that developers may give you and coming up with the best possible solution.
Involve Developers Early in the Design Process
It will always be a UX designer’s job to envision the best possible user experience. But developers still need to contribute to the UX conversation because they will be evaluating the interface from the prism of what is technically possible. They can tell you right off the bat what can and cannot work, what are the chances for innovation, etc. Developers need to understand the “why” behind the UX/UI design to make informed decisions later in the development phase.
If possible, loop in your developers during wireframing (early, low-fi UX ideas) which is typically the initial phase of digital product design process. They many not be able to get the whole idea but you’ll have the chance to explain your design rationale and get early feedback regarding potential improvements.
Probably the best timing for UX designers and developers to sync and exchange ideas is during the prototyping phase. With the help of a good prototyping tool, designers can create fully interactive prototypes for iOS, Android or Web with zero coding.
These hi-fi prototypes are the representation of how the final product looks and behaves and they are great for a number of things, including usability testing, discussing feasibility, and clarifying to developers how the interface works. This will help them give proper feedback on the design infrastructure and start thinking of how the product should be built.
In summary, to create beautiful and meaningful digital products, both visually and technically, it’s critical that developers and designers work well together. Following some (or all) of the above tips will go a long way towards bringing digital product designer/developer relationship into equilibrium.