Great together: Demystifying Designer-Developer Collaboration

Pedro M. S. Duarte
UxD Critical Software
5 min readFeb 25, 2021

Effective collaboration is about principles, not tactics.

Designers and developers have different ways of communicating, different values and egos, but they all have the same goal — to build the best possible product, shaping a better and safer world.

Designers think in-depth about the solution and its overall user experience, user goals and business KPIs and objectives. On the other hand, developers think about technical constraints and feasibility, dealing with tight timelines and stakeholders seeking deliverables.

Teams need to embrace a new mindset so as to understand each other’s perspectives so as to properly challenge ideas and to come up with better and safer solutions. What glues this mindset together is respect! But what else is needed to successfully ingrain this new mindset into a team?

1. Discover your superpowers

Whether you’re a designer or a developer, you bring valuable superpowers to your team. You’ll want to be grounded with a good sense of the specific skills that you can contribute to your team’s work.

Leveling up in the other areas will help you to better understand and build respect for the work you’ve been doing. In the same manner, if you speak the same language, you will do so with clarity because you don’t need to explain basic things (for you) about your job. So, it’s truly recommended that designers learn some code and developers learn more about user experience… For designers, the developer is also your user, so take advantage of having someone that you can easily relate to and test experiences upfront, validating a specific pattern that you may need to apply in your interface.

When teams trust each other, everyone’s opinion is respected and valued. This enables more constructive conversations throughout, and alignment towards the same goal.

2. Proactively give feedback

… and be upfront about constraints

An open dialogue helps everyone on the team to broaden their thoughts and explore new ideas. Design is about co-creation; developers are as integral to this as anybody else.

Ask questions if you’re unsure. You don’t need to lose time asking yourself what to do or by thinking:

“what the hell does this crazy designer want with this design?”

or

“what does the product manager mean by this?”

Think about what your purpose and common objectives are and don’t shy away from giving your opinion on a quick call or message to clarify the issue — you’ll be amazed at the impact of your action! You’ll better understand the “why” and the “what” and probably, at the end, you will be suggesting a new “how”, a new way to solve the problem efficiently.

You can contribute to building an environment of open communication inside your team. Proactively seeking feedback and being open-minded about the way you manage it is the way your team will gain confidence and respect for one another.

The cherry on top is that it will help to reduce some of the last-minute fine-tuning requests of the design or the solution.

3. Pair designers and developers

Encourage pairing, early and often.

Having a healthy designer-developer collaboration is, in fact, working together. Working alongside each other, it’s easier and faster to sketch, prototype and code so as to solve problems more efficiently.

Call designers for informal reviews of your work about the components’ behavior or for interactions that need to be validated. Invite developers more often to come up with ideas and together devise a solution that impacts positively the user experience and business goals.

Achieve quicker iterations and higher quality deliverables. It shows that the team values everyone’s superpowers and leverages them, developing mutual respect for each other’s areas.

4. A design is never complete

There’s a common misconception that the work of a designer is finished as soon as all screens have been designed.

The design of a solution is a work-in-progress method, helping companies evolve their products through user feedback and new insights from markets and business opportunities. In the short run, it’s an easy and agile way to accommodate feedback from other stakeholders or new insights based on past decisions.

A design is never complete and the only certainty is change.

Designing with the development in mind is one of the key principles to gaining respect. The designer’s job is not only to solve user problems but to do so in a feasible way. Having in mind both what has already been developed and the technical constraints involved will help to increase the development team’s pace when implementing or reworking a solution.

Believe that changes are generally an effort to make a better final product or to better accommodate business goals.

5. Design handoff

Design hand-off does not completely mean sharing the design with developers, but it’s an integral part of it. Knowledge should be transferred to developers, explaining every detail of the interface and each state/element and interaction.

The designer should set the boundaries and develop a simple and functional style guide as well as a components library to support the interface — nowadays, we are used to relating this to design systems. If the product you are working on doesn’t have a design system, you need to properly define text and layer styles, fonts and so on, and to get that you may need a handoff tool, such as Zeplin, Invision, Marvelapp, among others.

Having what was agreed on with the client or stakeholder in terms of how the product looks and behaves is key to achieving project objectives. That’s why it’s so important to have open-door communication between designers and developers, in a way that when someone has a doubt, they will always find someone who will help them better understand what was originally proposed.

6. Passion is contagious

A key element that increases the quality of the delivery product is passion. Showing your enthusiasm to others about your work gives you the drive needed to push obstacles and embrace challenges.

People need to take another step further in the relationship with the team, making use of their enthusiasm to influence others and explaining use cases and business scenarios to increase user experience.

Designers represent the voice of the users in the team.

Passion increases overall team spirit and the productivity of the team.

Conclusion

Design is a team sport

Designers are being valued for their collaboration skills and team enablement rather than specific deliverables. Defining the principles of how we want to handle collaboration inside our teams is the first step towards being more intentional in our practice.

Act as one team and integrate business, design, and technology perspectives into projects from day one. When designers and developers work closely together: that’s when the magic really happens!

Respecting each other’s work is key, the same way as proactively giving and receiving feedback about your work helps to solve problems quicker. Create and build your team culture!

Get in touch

Pedro Duarte, Head of User Experience Design at Critical Software
Designing for critical systems

uxd@criticalsoftware.com

--

--

Pedro M. S. Duarte
UxD Critical Software

Observable desire to question and challenge design, trends and technology.