backBack To Blog

How to get developers and UI designers to work well together

BY MobileFolk

01.09.2022 | 4 mins

We’ve been asked this question multiple times, many of our clients worry that developers – who (they think) don’t have the sense of visual presentation – won’t work well with designers who (again, they think) mostly have no idea about technical and backend development stuff. Don’t worry, MobileFolk got you! We’ve compiled a list of things we could/ should do to make them work best as a team, and we hope you’ll find this guide helpful!

Inspired by the discussion here

We’ve been asked this question multiple times, many of our clients worry that developers – who (they think) don’t have the sense of visual presentation – won’t work well with designers who (again, they think) mostly have no idea about technical and backend development stuff. Don’t worry, MobileFolk got you! We’ve compiled a list of things we could/ should do to make them work best as a team, and we hope you’ll find this guide helpful!

Async doesn’t have to be a dealbreaker, but it does uncover weaknesses in the team or process that might not be apparent otherwise.

Things that work:

  1. If the designers and engineers start with a similar set of assumptions and expectations, things can go pretty smoothly. The list of questions from this comment  is a great example of what it takes to stay in sync:

From my experience, the best way to get developers and designers to work well together is to have frequent short demos/reviews (ideally weekly). That has helped solve random problems like:

1. This user flow does not match backend reality, let me explain why.

2. How does this screen design handle XYZ usage?

3. I cannot export this asset from figma, please share.

4. Would you mind verifying that the fonts/colors/spacing look okay?

5. Are you sure about not reusing an existing icon from our library?

6. How should we handle error and loading states?

7. How important is this design feature? It’ll take me a while to build it.

8. Did you expect this desktop layout to be full width or 1600px?

9. Can you give me an overview of what changed since the last design version?

10. This is how I implemented the design. Is that correct?

  1. Batch designs and discussions into a batch size that makes sense (a week, a sprint, a feature), and keep the design schedule moving ahead of the development schedule so there is time to sort out questions and incorporate feedback/iterations into the design. If the designs cover the next 2 weeks of development, taking 1-2 days to sort out most of the questions is really not a deal breaker.
  1. Having someone technical in the designers’ timezone helps facilitate the discussion and shorten the question/answer cycle, even if the technical person is not the engineer doing the actual implementation.  After a while the discussions and questions become predictable enough.  To be clear the implementation team should still generate most of the questions and this can happen asynchronously, but it helps to have someone who can facilitate in real time.
  1. Async questions/answers through Figma comments or Slack messages work well enough.

Things that don’t work:

  1. Inexperienced teams will struggle. Inexperienced designers may not know how to structure their designs to help the dev team and provide enough information, inexperienced engineers may not know what questions to ask about the designs, how to implement them properly, or when to push back.
  1. Designs that are too rigid will cause frustration for everyone.  Designs that are too fluid and undergoing changes all the time will also cause frustration for everyone.  Need to find a good balance and a clear process for when designs are “approved” and ready to implement.  With the understanding for business and designers that the engineers may need to suggest or introduce some changes (but only when there’s a good reason), and the understanding for engineers that business and designers may still ask for changes to already approved designs (but only when there’s a good reason).

Here’s our follow up question – how to do it asynchronously, when developers and UI designers are not in the same location/ timezone? We’ll answer this question in our next blog post! Stay tuned!