Communication is important. Hence, we are developing DebugMe. In a relationship, in traffic, at work. The more closely you deal with someone, the more important it becomes. And the more difficult it is. Stress, important and hurried decisions, snotty clients and less than understanding bosses don’t help, and if you don’t have at least one of those, I envy you for your job.

As far as web development and design goes, if you work in the field, you are probably well familiar with the communication issues that can arise. Often with no malicious intent, one or two misunderstandings can have huge ramifications a little down the road. Now, just complaining about communicative difficulties won’t improve anything, it’ll only make it worse by causing ill will on both sides.

So, here’s some steps to improve the communication and collaboration between developers and designers.

Don’t make decisions on the other’s behalf

This is an important one right off the bat. It sounds obvious but can happen more easily than you think. It’s close to a deadline, the client is being pushy, so the developer quickly approves a design change without consulting the designer – or the design team approves some additional functionality without clearing it with the developers.

Odds are, it’ll be fine that time, and the time after that too. It’s unlikely this will cause any unresolvable issues, but it causes something even worse: discontent. Both parties won’t be as willing to work with each other, and even actively dislike their supposed teammates. This, in turn, affects the work climate, and other team members…it’ll turn into an avalanche of ill will, and it is entirely avoidable.

How? Well, it’s actually simple: By not doing it. Take those extra five minutes (or ten, or fifteen) to clear it with your designers or developers. Even if there’s a deadline, even if the client is complaining. It’ll make less of a difference than alienating the rest of your team, and it’s a great exercise in effective communication. You don’t need a big team meeting – a quick heads up at the proverbial watercooler or even just an email and everyone goes home a little happier.

And, if there really is absolutely no way to avoid it, at least make sure to let your teammates know as soon as possible to give them time to prepare or maybe arrange for a solution if necessary. It’ll make a world of difference.

Critique each other – constructively

We all have preferences, in design, usability, phrasing… That’s not a bad thing, quite the opposite. Critique can be a great tool when used correctly. Now, both developers and designers occasionally think they just reinvented the wheel, and occasionally, they are, well – wrong. Very wrong.

It’s good to let them know that but in a constructive way. This could be an idea for an alternative, or just a polite ‘I imagined it a bit different’ or ‘I’m not sure this will work’. It’s not always easy to hit the right tone, especially if you aren’t too familiar with your team, so yes, egos may be snubbed every once in a while, but this is a crucial skill for cooperation.

If you can’t criticize a teammate without causing a rift, that is something that needs to be addressed. Working together more closely, on a solution that satisfies both parties (and the client) can help out here. And if there is absolutely no reconciliation on a topic – no matter how ugly/revolutionary item X is – ask another team member or a supervisor for their input. And no matter which party ends up being ‘right’ – especially if it’s not you – accept that decision.

Respect other’s job and decisions

There can sometimes be a little prejudice between designers and developers. If this is good-natured jokes that are fine. If it’s actual disdain, it needs to be addressed. In my experience, some developers think that designers’ jobs are easy and ultimately unneeded – everyone can just whip up a wireframe and smack some colors on it after all. On the other side of the coin, we have got the prejudice that developers are deaf to criticism and always know better.

Unfortunately, prejudices can be very persistent. If you think someone in your team has them, something like shadowing the other party for a day might help, to show what the others really do, and perhaps paint a more realistic picture.

Unfortunately, even that won’t always work, and if there is a consistent troublemaker it could be for the best of the team to transfer them away or even let them go. A hard decision, that should only be used when all other options have been exhausted.

Talk face to face, and stay in touch

Working on computers has a big advantage: a hundred people can work on the same project, and they can be across all seven continents while doing so. Often, all you need is a PC and an internet connection to work, whether you are a designer or a developer. This gives a kind of freedom that many other careers can only dream of, but this is sometimes an ill temptation.

No matter how much time you spend on DebugMe, Slack or Skype and [insert choice of collaboration tool here], it isn’t as good as a face to face meeting. While not always possible, regular meetings in person can do wonders for a team’s effectiveness. Misunderstandings are more easily cleared up, and conversations are more fluid and less time-consuming.

If you work in the same office, you will want to do much of your work in the same room or general vicinity of the rest of your team. It will not make a huge difference, but small questions, that may otherwise not be asked at all will get answered. ‘Are you sure this should be pink?’ or ‘Wouldn’t this look better if it was bigger?’ or ‘Are you sure this is supposed to say Duckface?’ – not important enough to warrant sending a message over, are more easily said when sharing a desk or office. It also reduces the time wasted on communication. Sending, reading and replying to messages takes time – several times what a simple chat takes.

If your team can’t be in the same place, try to use the most direct communication tool you can. So, a video chat instead of messages or at least a phone call. Your team will thank you for it.

Brainstorm together and double-check information

This is a great tool to improve the working relationship between designers and developers. Whether it’s a team that’s just been hired, or they’ve worked together since DOS, getting together in one room and talking about a new project can ease the workload of everyone. Believe it or not, sometimes developers have great design ideas, and designers probably know more about functionality than you may think – so giving them all the option to work together comes with great benefits. A more wholesome result for one, a more content team that feels that everyone contributed, and possibly even a better working relationship within the team.

We all have strengths and weaknesses, and a good brainstorm can help explore them. Do you have a designer that knows lots about backend functionality? Great, let them make suggestions about it! Have a developer with a great sense for color schemes? Wonderful, give their idea a try.

And if you’re not sure, or you think you may have misunderstood – ask for clarification from the other party. It’s a big part of effective work, even if it turns out you had it right the first time. Whether it’s a developer or a designer, they will feel that you are paying attention to their work, and that way, maybe, you can even convince them to see things your way the next time they try to push their idea for a purple-orange color scheme, or that short-cut that only half-works.

There’s no cookbook for the perfect way to achieve better collaboration between web developers and web designers. If there was, I wouldn’t have written this text. If you read it this far, that means that you want to work on your (or your teams) com-skills, and that is the very first step!