For most people, working with others is hard. You might struggle to work with those within your own team but the challenge is even greater working with others from other teams that might possess a completely different world view, training background, working language, and suite of skills.
An example is the relationship between devs and UX designers. Both occupations are preoccupied with complex roles with fundamental differences. However, collaboration provides a valuable opportunity to increase their comparative skills and the benefit they provide to their organization.
I spoke to numerous developers and UX designers to understand common problems and tools, strategies and workplaces that help.
Common challenges between UX designers and devs
Knowledge gaps between disciplines
Josh Soldiers, senior experience strategist, at O3 World believes that
“Not all UX designers have the same level of technical knowledge, just as all developers do not have the same knowledge of UX and UI standards and best practices. These knowledge gaps between disciplines can often translate into misunderstandings or create barriers to communicate ideas, iterate on solutions, or provide effective and actionable feedback on each other’s work.”
Chris Mills, Co-founder at Strongweek gave some concrete examples of the challenges:
“A lot of UX designers don’t understand how coding works. Your developer is going to have to make structural decisions early on that might be hard to change later. When UX designers don’t understand the internal logic of the software they’re designing, they often make demands that can’t be implemented easily. Imagine asking a car mechanic to add a few extra rows of seats in your Chevy Cobalt. When a UX designer doesn’t understand how a product is built, their demands can be just as unfeasible.”
He contends that comparatively.
“Developers are often very literal. Several times while working with developers, I’ve sent them screenshots and quick mockups that to illustrate general concepts and ideas. Even though the screenshots were not to-spec and were meant to be illustrative rather than literal, developers went ahead and implemented them.”
An unbalanced developer-to-designer ratio
Victor Lavrentyev, CIO at Orangesoft notes an unbalanced developer-to-designer ratio can also cause problems:
“There are some cases where a cross-functional team can have one designer and about 60 developers. While that might seem odd, it’s still quite common. The differences in training, language, and approach make the designer stick out like a sore thumb with their understanding and ideology. And the dev colleagues won’t seem approachable at all.”
Key principles for developers
Kevin Silver, Experience Design Director at Mad*Pow stressed the value of developers understanding basic design principles:
“They should be aware of the personas. They should be part of the process of building what is best, not just the tools who put together all the things that the product team and UX put together. But this has to start with informing the developers of design thinking.”
He also contends that “Developers (or at least the lead/architect) must be brought in early on in discussions about new products and features. They should be part of the conversation so they can bring things up that are incompatible with the framework or technology – as well as bring insights from their experience and knowledge of technology. This also ensures they understand the Whys that lie behind design decisions.”
Strategies for UX designers
When designers are working in a developer-led culture, they often need to adapt and approach things more collaboratively. David Hendee, VP of Design at Carbon Five suggests
Ideate with developers: when you’re brainstorming potential solutions, include developers to help come up with ideas. This adds new ideas to the mix and helps set the stage for better collaboration during the build phase. Kevin agrees, suggesting that UX practitioners invite developers to Design Studio or Jam sessions.
Create a “living styleguide”
David suggests using a component library or a mental framework like Atomic Design can help communication between designers and developers. It also lets the team work on some features without the designer having to create high fidelity artefacts.
Drew Falkman, Director, Strategy at Modus Create, also suggests that design systems – or at least design standards – can go a long way to alleviating the problem of nitpicking:
“It eases reuse and ensures consistencies from the beginning at a high level without having the designers have to perseverate on comps or prototypes.”
Pair with developers and UX
When developers are building features you’ve designed, especially when a developer is working on a feature without a design artefact attached, offer to pair with them before they deliver their work. This thirty-minute pairing session can help tighten up the design without unduly impacting the development effort.
Create a design punch list
Like developers, sometimes we accrue design debt. Periodically creating a checklist of design tweaks and other nice-to-haves is a great way to pay down that debt without slowing down the team.”
Learn to let go
Drew also contends that UX designers need to let go a little:
“Where developers have to learn design thinking, UX designers need to learn to let go all of the pixel-perfect decisions so that the development team has some ownership. This isn’t to say there shouldn’t be design requirements and standards that have to be followed, just that they need to be open to input from developers that advance the product.
The least successful teams I’ve seen often have considerable back and forth between design and development about moving an item, making buttons more rounded, changing fonts from Bold to Black, etc. Constant nitpicking disempowers developers, and they will eventually stop taking ownership of the product, stop giving input, and there will be more bugs and more friction between UX and engineering.”
Work practices that help
Kevin offered suggestions for fostering good work practices between devs and UX team members:
- Use Design Sprints to jointly deep dive into challenging problem spaces and explore potential solutions.
- Rely on rapid prototyping to test with users and also convey intent and behaviour of design to the development team.
- Focus the whole team on delivering outcomes over discrete features. “For example, instead of focusing on the discrete functionality of a feature, focus on the goal that feature is trying to achieve. What user or customer behaviour are you looking to change to achieve your business goals?”
Tools and processes to the rescue
When it comes to tools and software, leverage leading tools that move away from purely static design artefacts such as Figma, Zeplin, Avocado, InVision Inspect, etc. can be beneficial. Josh advises pairing these tools which a design system approach to achieve consistency and scalability.
“Using tools like Invision DSM or Ether help to keep things organized and up-to-date.”
Depending on the experience you’re building, leveraging leading design systems such as Ant, Material Design, Carbon Design, etc. can help to bridge the gap by allowing designers and developers to work from the same baseline from design all the way through development.
Josh stresses that tools, software, and processes are only as useful as a team’s ability to take advantage of those things effectively: “Make sure you’re supporting your team members with enough time, resources, and trust to effectively communicate, collaborate, and leverage all that they have available to them.”
Want to launch a developer event despite the challenges of COVID-19?
If you want to know more about how modern technologies and tools can support you for – and during – the organisation of a virtual event, don’t miss this article showcasing the best tools we used to host our online conferences since the COVID-19 outbreak.