How to create synergy between UXers and developers

Collaboration is not always easy but is an absolute necessity if we want to design a great digital experience for our users. This is how I learned to work hand-in-hand with devs.

Carolina Rayo
UX Collective

--

Agile boot camp. Team Sierra Foxtrot, 2015.

After some years in the UX field, it still surprises me how common it is to hear from my peers about the difficulties they face interacting with developers on a daily basis.

Some say working together is hard because we think too differently. And here comes the myth about devs being too structured and UXers not being structured enough, among other labels (I will elaborate on that later). Others complain about the mutual inability to compromise over the endless argument: what is more important, technical feasibility or user experience?

This issue is particularly critical in agile environments since both the UX and development teams must learn how to work together as a unit. Creating synergy is even more challenging for teams transitioning from a waterfall system (where both roles used to do their thing separately) to a scrum/kanban framework.

We went through that process here at LATAM Airlines. I am not going to lie here. At first, it was hard and frustrating. And it took a lot of learning, patience and compromising from both sides. But once we got there, our daily interactions and, by consequence, our product, became so much better.

I love working with our talented and awesome devs. And I can’t imagine a successful digital experience without their input and vision. But this didn’t happen overnight.

3 steps towards synergy

1. Pairing work: UXers + developers

Pairing work: UXers + developers

This practice might sound like a crazy (and expensive) idea. It can even be considered a complete waste of time. And to a certain degree, it is because it will slow things down at first. But companies willing to invest time and money in pairing work between developers and UXers will end up with more mature, cohesive teams.

We did it at LATAM Airlines, as part of our Agile transformation (or how I like to call it, the Agile boot camp). From the day our team was formed, developers, UXers, product owner and scrum master started working together in the same room (a ridiculously small room, you can see a picture of it above) all day, every day.

We threw a dice every morning to form random pairs. That meant I could spend a whole day coding with a developer (yes, me, a UX writer). I used to think I would get a brain aneurysm trying to understand our back-end tasks. By 5 pm., I’d be exhausted.

Pairing wasn’t easy for devs either. Exclusively taking on UX tasks for a whole day was something completely different from their daily work. They not only had to learn about our prototyping process, research methodologies, design guidelines or content strategy, but they also had to write copy, go out with us to guerrilla test our solutions or interview users, something that most developers had never done before.

According to our Agile coach, the whole purpose of pairing work was to prepare everyone on the team to finish any task, regardless of their role. He said that eventually we would not be affected if someone got sick or went out on vacation. From a realistic perspective, that was not likely to happen. However, trespassing knowledge was indeed key, but for a different reason.

Getting involved with tasks that are not related to our expertise forced us to bond and to reset our minds from everything we knew about our delivery process. And more important, it helped us understand how much effort is involved in completing a task. To me, pairing work between devs and UXers not only improved everyone's estimation skills (which meant more successful sprints) but also taught us what we needed to reach a new level of maturity: empathy.

2. Finding empathy within the team

Pairing work alone won’t guarantee empathy. When UXers and developers haven’t worked together, their relationship can start with the wrong foot. Not being familiarized with the other role and its value can make tension build fast within a team.

Until we have a good understanding of what we all do, it is easy to label each other negatively. UX writers are just the words people. UX designers are just there to make things pretty. And developers are just the guys behind the keyboard.

We experienced that. These preconceived ideas and close-minded vision of our skills easily turned meetings into endless arguments. It became harder to reach agreements. Everyone felt attacked, misunderstood or that they had to defend their opinion at all cost. And pairing work was beyond frustrating.

We struggled to have our opinions taken seriously by developers. But we were told they were not technical enough. Devs tried to give us feedback regarding mockups or prototypes, only to have it discarded for not being creative enough. Of course, none of this was true. And we were able to see that once we got involved in each other’s tasks.

Devs are extremely creative on a daily basis. They come up with new ideas to solve technical problems. They improve the quality of the code constantly. They figure out how to build the best structure possible for our product.

UXers don’t just speak from their guts. We base our decisions on data. We follow methodologies. Our design cycle has a structure. Our solutions meet standards and respond to KPIs.

It took patience and time to learn and to teach until we finally understood each other’s processes. We were not on opposite sides anymore. We acknowledged everyone’s expertise and the input of both UXers and devs became essential.

3. Trusting each other

We thank each other after a successful sprint

Remember how in the structure of most children’s books there was always a breaking point, that moment when everything changed for the characters? This moment was easy to identify, we only had to read the three magical words: “Until one day…”.

Reaching empathy is the true “until one day…” moment in the relationship between UXers and developers. From this point, all team members feel they are in a position where they can trust and be trusted. And only with trust comes the real collaborative work. Finally!

Pairing work is no longer necessary. I don’t need to sit next to a developer to know how long a task will take. Now I know how they work. I have seen it before. I have done it before. So if during a meeting devs say a determined task takes two days, I stand behind that estimation.

On the other hand, if we UXers say a solution is better for the users, devs support us, because they know our process and believe that our expertise is valuable to design our product.

That doesn’t mean we agree on everything, but arguments are the exception, not the rule. They are not endless. We reach agreements faster. Discussions are healthy conversations about the “what” and the “how” not about technical feasibility vs. user experience. We listen to each other, respectfully, and if we disagree, we are able to compromise and negotiate.

We don’t need forced pairing work, but we all sit together. We ask each other questions, we rely on our expertise and opinions. We turn to them to have a comprehensive look.

Collaborative work and the input of both roles is essential on a daily basis to create the best digital experience possible. I love working with developers and everyone else in UX should too.

Team Papa Booking during a team building activity

--

--