Lucas Rocha talks about the importance of designers and developers working closely together in Mind the Gap:
Iterative design processes that engage designers and engineers very early tend to result in higher UI quality because it provides the necessary flexibility and agility to steer ideas as they are implemented. Sounds obvious but this is much easier said than done. Just see how rare is to find products with outstanding user interfaces.
This is very true, and the power of small, collaborative teams have been proven time and again. But it’s important to take this further. It’s not just about collaboration, it’s also about empathy. If designers and developers collaborate but they don’t understand each other, you’ll still get nowhere.
The main issue is that designers and developers approach their respective crafts from very different perspectives. Design is about composition — how to put things together so that the whole makes sense. Development is about deconstruction — how to break down the whole into pieces that can be implemented effectively. That creates a disconnect that is difficult to overcome if their isn’t empathy between the two groups.
Thomas Petersen describes the ideal situation really well in Developers are from Mars, Designers from Venus:
They are the developers who can design enough to appreciate what good design can do for their product even if it sometimes means having to deviate from the framework and put a little extra effort into customizing certain functionality. […]
And they are the designers who learn how to think like a programmer when they design and develop an aesthetic that is better suited for deconstruction rather than composition.
So, it’s not just about meeting more often. It’s also about meeting in the middle to accomplish a common goal together.
PS. All of this reminds me of this matrix on how designers, developers, and project managers see themselves and each other in most organizations:
Image source: Les développeurs, graphistes et chefs de projets