Writing clean, reusable code does not guarantee that an application or website will engage users in today’s market. To be financially successful, a digital product must incorporate the latest features and functionality into a design that is aesthetically pleasing and easy to use. Did you know that users form
design opinions about websites in about 50 milliseconds (a mere 0.05 seconds)? To create a great product experience, designers and developers must understand and appreciate each other’s roles, and be able to pool their efforts to achieve the desired outcome. Since the career success of all involved hinges on their ability to collaborate and cooperate, we asked professionals from both the development and design communities to share their tips and best practices for engendering productive alliances.
Tips for Designers
Understand the Technical Limitations
Understanding the technical limitations of various software programs, as well as the challenges engineers face, not only creates empathy; it helps a designer conduct cost-benefit analyses and make better decisions, explained
Luke Jones, a senior product designer and user interface expert. For example, Jones was able to shave 11 days off the budgeted development time during a recent project simply by making informed trade-offs between design and cost. “Knowing how long it takes to make what may seem like a minor change can keep you from insisting on interactions that are difficult and time-consuming for developers to execute—such as adding an ellipsis to truncate a few lines of text,” Jones said. Even better, keeping up with the latest updates and new platforms that expand capabilities in areas such as GPS or Apple Pay can help a designer support new functions and push the boundaries of design.
Create a Style Guide
Creating a style guide at the beginning of every project will decrease development time, eliminate redundant code (which optimizes load times and speed), and create more consistent designs across the entire brand.
Get Everyone Involved
Involving developers from the outset and allowing them to provide input is another key to successful collaboration. Include them in workshops, sketching and design critiques by working ahead of the coding process. “Provide a screenshot mockup for every technical specification document you receive,” Jones advised. “That way, everyone can talk through the design before the developers start working.” Don’t just pass down instructions; start with a concept and, as a team, discuss how the app will work, advised Benton Rochester, a full-stack developer and technical lead with VictorOps. Designers sometimes create for a perfect world, but transforming an idealized design into great code is not always feasible.
Be Flexible
Don’t strive for pixel perfection; pick your battles and be willing to compromise. In other words, if something is slightly off in the build, don’t ask developers to spend hours fixing it. Focus on whether the build communicates the message you wanted to convey without looking broken.
Tips for Developers
Go Beyond Functionality
Making an extra effort to polish source code or employ optimization techniques not only improves loading times—it helps bring the designer’s vision to life and boosts user engagement. And for your average developer who wants to build a great-looking portfolio, that's a good thing. “Developers need to be willing to shape and refine the source code and prioritize performance, especially when it comes to accomplishing complex tasks such as loading animations or creating a responsive design,” Rochester noted.
Invite Design Critiques
How good are you at bridging the designer-developer gap? Are you able to create code with a UX mindset? It’s easy to get designers to participate in design critiques, but a developer can benefit from peer reviews, too. “Post your work on
Dribbble or
CodePen and let the members of the community weigh in,” Rochester said. “Design is subjective, so receiving constructive feedback is a great way to develop a design mindset and improve your ability to turn design mockups into lines of source code.”