Where I now work, there’s always been a pretty wide gap between development and design. When I started 5 years ago, the design department was a black box into which (once the consultants and developers had a budget, timeline and technical concept mapped out for a project) a briefing would be inserted and after a couple weeks the designers would deliver a stack of screens. We’ve changed a lot in our company, and today it works the other way around: consultants and designers develop a concept and screens, and once they’re done the developers turn them into functional web pages. Designers never write HTML or CSS, and developers are never asked for layout ideas. There’s even a four meter wide physical chasm in our office which seperates design from development.
Neither of these approaches works.
Seen from the fly-on-the-wall perspective, the most interesting (and admittedly difficult) thing about the projects I’ve been working on in cooperation with Microsoft is that their development environment is conceived as a space where designers and developers truly work on a project together, which goes as far as providing a tool (Expression Interactive Designer, which should be called Sparkle) in which designers can work visually, and developers can write code, at the same time, in the same files.
The primary problem is a cliché, but as with all clichés, it’s built on a foundation of truth: developers and designers come from different planets. When I say that it’s important that an image has exactly this size, the guys at Microsoft shake their heads. When they say the data structure makes it impossible to display an image there, I shake mine. It’s an exaggeration, but the designer says, “it must be like this” and the developer replies “but that just won’t work.” In many ways, telling developers and designers to sit down and work day-in, day-out together in Sparkle is like telling a Portugese author and a Chinese editor that they have to write a book together in an English version of Word.
As an optimist, I like talking about solutions more than problems. If designers and developers are ever really going to get the most out of Sparkle, we’ll need to:
- Develop an awareness that this kind of cooperative work is a paradigm shift of large enough proportions that it requires more than business as usual
- Admit that both disicplines are of integral importance for the project
- Learn to communicate in a language both can understand
- Take the time to explain why particular design or code decisions are important
- And the best one of all: try to solve each other’s problems
Does that sound impossible, or just too damn touchy-feely?