Getting design and engineering teams to play on the same team.
Early in my career I was a serial offender against the Gods of Design. At Micromuse we had a great designer whose work we engineers routinely violated, ripping it up and duct-taping it back together whenever it suited our purposes. That guy ended up so frustrated that he finally up and quit. (Now he now is a design lead at Google. Oops.)
I didn't learn to respect design at my next job, either: IBM wasn't exactly a haven for user-centered designers (although, in the last ten years, they have truly seen the light). It wasn't until I got to Apple that I found myself immersed in a design-focused culture, and it flipped a switch somewhere inside me. Most engineers don't really have an instinct for design; it turned out that I do. By the time I started up the Innovation Lab at Apple, I had absorbed a pretty solid set of design principles.
Those principles centered mostly on usability, the vague term that encompasses user experience (UX) and user interface (UI), the two consumer-facing elements of design that are Apple obsessions--and keys to its success. And they structure my day-to-day approach to running Scrollmotion and choosing the people who work here.
To build great software you need design and engineering to be educating each other constantly. So how do you strike that balance? How do you help engineers care about designers and vice versa? Very, very carefully.
When I got to Scrollmotion after six years at Apple, there was an imbalance in power between design and engineering that favored the designers. And for a while I made the problem worse. I spent my first three months teaching my teams all about UX and the design tools and precepts I'd learned at Apple, but in the process I neglected the engineering team. And when that happens, one of two things results: The teams become out of sync, with engineers coding at a slower pace than the design team is churning out user interfaces or crazy animations, resulting is a pile of design debt. Or you have engineers who never become rooted in the process, who don't understand the underlying reasons the designers are making the choices that they are. Or both.
Once I realized that the two teams were out of sync, I began to adjust. I started giving projects to engineering without involving design, as a kind of physical therapy, helping them learn to walk again. Of course that ruffled the feathers of the design team but it was a necessary step in building up the confidence of the engineering crew.
I also brought in an iOS engineer with strong UI skills to work with both sides, to bridge the gap. That helped convince all parties that it was possible to unify the company and build a culture where both design and engineering could co-exist happily. Then I got them working together in pairs or small groups, taking a discrete project from wireframes to high fidelity mockup. That helped develop personal relationships between the groups and prove that, together, they could deliver.
At the same time, I started rebuilding the engineering team around folks with an instinct for usability. When I interviewed candidates I made them diagram a problem to see what kind of thinker they were: Design me a system for organizing music collections, I'd say. Now, describe the data model for that collection, which gave me a sense of their engineering chops. Now, diagram an iPhone interface illustrating how I would search it -- what kind of navigation paradigm were they drawn to? What kind of controls would they deploy? Then I asked them to justify their choices to see if they could adjust, if they could find what I think might be a better option. (If you aren't a technical CEO, have your CTO sit in on those interviews to ask those questions and evaluate the answers.)
Invest in Your Talent
When I had engineers in place that showed an instinct for or interest in design, I might send them to Big Nerd Ranch for an intensive course in usability centered on Apple's UIKit framework. That helps dial in their usability focus and also drives home the value the company places on those skills.
Then there are the videos on design and engineering that come out every year around Apple's Worldwide Developer Conference: They are required viewing for both engineers and designers in my shop; they are hyperfocused tutorials that communicate Apple values while training both engineers and designers on the newest iOS features. Watching them together can really help educate each group about how the other thinks and works. And that's when the best work gets done.