Communication is essential in any collaboration, especially when development and design teams work closely together to bring designs to life. The delivery of design assets to the development team is truly only the beginning of the work, since there can be clarifications needed throughout the project or concerns that may warrant design updates.
How those things are handled between the teams can affect the workload for everyone, as well as the timeline for pushing changes to production. That’s why it is important to have processes in place that help smooth communication pathways and ensure that everyone has what they need to produce the best results.
Finding and addressing communication gaps between cross-functional teams is an essential practice when developing digital solutions. When developing real estate products at Xome®, we’re always looking for ways that we can improve how we work. These are a few ways we have found to help increase communication and productivity between teams during our own development lifecycle.
1. Designs are never truly final and always subject to change.
As many developers and designers know, no design composition is truly final. Designs are always open to changes as they are being developed by necessity. There could still be mistakes, slight misalignments, or technical limitations that were not initially known or caught. There could also be real-world considerations that were not fully thought-out in the design stages and become apparent during programming. All of these may require modifications to the design at any given time.
If design compositions are accepted before properly reviewing them with partnering developer, there’s a risk of carrying over issues into the final product. There is always an opportunity for feedback and changes, especially when it could improve the final product or avoid introducing bugs in the production environment.
When implementing any design, it is important for developers to evaluate the plan and ensure that everything makes sense as they are writing the markup and code.
2. Designs are inherently incomplete, so you must fill in the blanks.
Design compositions are static and do not represent a webpage in its dynamic form. They do not fully convey a responsive web view in its entirety, since designs are often presented only in desktop and mobile views.
That’s why it is important for developers to complete all the views in between using their best judgment. This does require some design affinity, even though developers may not be employed as designers. But developers are essentially determining what looks good and how best to reflow elements when horizontal space is increasingly constrained.
It is better for developers to consult with designers on matters like these when design files are received. This allows developers to confirm how every element should appear, rather than making too many assumptions or creating issues later in the project
This is also a great opportunity for both teams to take the initiative and create a documented process as they work together. This can help resolve any communication blocks while improving their long-term partnership.
3. Correct issues that don’t require confirmation from the design team (then document them).
Some designs may contain errors that can be corrected at the time of development without having to consult with the design team. These errors could include slight misalignments or other small inconsistencies that will affect the final code.
When developers take the initiative to resolve these issues on their own — if they are 99% certain of a mistake — they can save a good chunk of time on projects. Meeting to go over every tiny mistake would be a disproportionate amount of effort to correct simple issues.
However, there should still be consistent communication between both teams to help improve both design and development in the long run. Documenting mistakes and solutions in a company project portal or ticketing system, and creating a job aid like checklist, can help avoid similar mistakes in future scenarios and help other developers and designers know what to look out for.
4. Offer alternative solutions if the design introduces development difficulties.
If a design contains a non-critical element that is difficult to implement, like a complex animation or unorthodox UI, developers should offer alternative solutions.
For example, a custom form element that is non-standard and not supported out of the box in HTML has the potential to cause issues during development. It could take extra development time or break other elements on the page. In cases like these, developers should request to implement a simpler solution to save on development time and avoid problems on the page.
5. Developers should extract and optimize assets.
When developers receive image assets from the design team, they may not be optimized — and that’s okay! Developers know exactly what elements need to be represented as an asset versus markup and code, so it is best if they are the ones to extract and optimize assets.
Developers can more easily determine the best file format and optimize the assets for the best tradeoff between image quality and file size. When working with design teams to confirm finalized assets, developers should encourage designers to make the assets extractable from the design composition and work that into their documented process.
Creating smooth designer and developer collaborations
As with any collaboration, there are bound to be some hiccups in even the best design-development relationship. Effective communication, proactive problem-solving, and a willingness to offer alternative solutions are key to successful teamwork. Documentation is underrated in any project and the step that is most often overlooked. If development and design can work together to better document processes and set expectations hiccups can be reduced while improving flow and outcome.
By embracing a mindset of continuous improvement and careful consideration, organizations can optimize their development processes in new ways and deliver high-quality products as a result.