The Connection Between Design and Development
I’ve always thought design and development are not opposites, but two expressions of the same concept: organizing information so that it gets to where it needs to go in as elegant a way as possible. (If you’d like, I can expand on how soccer is the best sport because it follows this same principle.)
Don’t get me wrong, I believe in a separation of concerns. The design of a website or application (including it’s UX/UI and information architecture) and the programming behind it all are different disciplines and should both be treated with dedicated attention and expertise. But you can’t realize one without the other and if you start looking for ways they overlap, you’ll find many.
“Information is only useful when it can be understood.” -Muriel Cooper
For any complex system, the challenge for a designer is to convey an intuitive sense of the forest and the trees. Good design communicates clearly and efficiently. If a design confuses or frustrates the user, it has failed. And when something doesn’t work visually, it may be difficult to express, but the trained eye just knows it. Even in this subjective realm, there are right and wrong answers (sorry clipart).
Conversely, mathematicians are some of the most creative people you’ll ever meet. You’ll hear them talk about a beautiful equation or an elegant formula. Developers also use this language, as in “a beautiful piece of code.” There’s an aesthetics to science and joy in a well-written program. It even appears that the whole left-brained/right-brained concept may be a myth.
In both design and development, there are often many ways of achieving the same end—and many ways to fail—but few ways to arrive at that perfect answer. That’s why white boarding code (like gesture drawing) or refactoring code (like sketching multiple studies) are such useful methods to help you work through a problem and arrive at the best solution.
But in the end, design and development are both dependent on a strong concept; an underlying idea that drives everything. Development is the function underlying the form but the concept is the purpose of that form. To serve that purpose well, the creative and the code need to be equally considered, fully integrated, and best of friends.