Skip to main content

A source of friction between designers and developers

Little boy pulling a girl's hair

This week, I went to Winnipeg for the penultimate visit in the TechDays Canada tour. Over the past few weeks, me and my colleague Tony have had the opportunity to talk to a large number of people about the (sometimes painful) interactions between designers and developers working on software projects. This picture is an actual slide in our deck, usually gets people laughing

During the talk, we go on about tools, tricks and techniques to help alleviate this pain and to empower the designers in your team by making them an active part of your product development team. One of the things that we say in the talk is that it is not a problem with the people, it is a problem with the fact that their job (designers and developers) are fundamentally different. It forces each of them to approach the project from completely different angles. In other words: Don't hate the player, hate the game.

This is even more obvious when you consider how both groups react when a change has to be made to an application.

When a designer has to make a change to the design of a specific feature in an application; He will make the change and then, start considering the impact of that change on the rest of the application. To him, the important thing is that the application retains its consistency throughout the change and that the application be globally well designed. To a designer, change is global.

When a developer has to make a change to the implementation of a feature in an application; She will use techniques like layering, decoupling and encapsulation to limit the effect of the change on the rest of the application. To a developer, change is something that has to be controlled, a good change is a local change.

With these two positions that are at opposing ends of the same axis, no wonder that sometimes, designers get on developers nerves, and vice versa.