Throughout the history of product design, there has always been a natural divide between designers and developers. Designers typically don’t care about the code as long as it works and developers typically don’t care about the designs as long as they are able to write clean and efficient code (yes, this is a gross exaggeration and generalization, but you get the point). Those two perspectives don’t typically go hand-in-hand when working on a project together. So what should you do when tensions arise? Hate each other and fight! Just kidding. Try following these 3 tips instead:
1. Understand the challenges the other side faces
Designers want to create memorable experiences to wow users and keep them coming back. So inherently they will likely create unique and complicated designs with even more complex animations. And this is great! But in the grand scheme of things, projects have deadlines that have to be adhered to. So part of designing an interface is knowing what challenges the development team faces in implementing these custom designs. Do your designs fit within the available information given through the API? Is it extremely hard to implement a minor design feature that you would otherwise think is trivial? Is it really worth multiple days of development to add that fancy doodad that nobody will ever notice on every screen? Sometimes compromises need to take place in order to build the best product within the constraints that are present.
Understand the difficulty level for the developers, understand the timeline of your project, and plan accordingly.
2. Talk it Out
At WillowTree, not a day goes by when members of the Design team aren’t talking through a difficult UX problem or getting feedback on designs from fellow designers. So why should it be any different with developers? It shouldn’t! You should be working side-by-side with your development team to get feedback on your designs and to ensure that what you are designing is understood and feasible. Don’t assume they know what you mean when you send them a screenshot of a design. No, they aren’t stupid, but things get lost in translation when you aren’t there to explain it. You’ll save countless hours by sketching out a layout or mocking up a rough design to show to a dev before you spend hours designing something that isn’t feasible.
Talk with your developers. Talk with them every day. Talk with them multiple times a day.
3. Use a Design System
As a designer, every single project you design should have a design system, such as Atomic Design. Not only will it help you design faster and help with consistency, but your developers will love you for it. Regularity in design and predictable, normalized components are the holy grail for developers. Making every screen have its own design rules is poor design and adds complexity and time for your developers.
Design components, not special snowflake screens.
Following these simple steps will not only help build better relationships with your development team, but it will also save time and help build better experiences for users.
How can our friendly designers and developers work together to build a great product for you? Contact us and we’ll figure it out…together.