- **Epistemic status:** #budding There has been situations in my career where designs are handed off to my team of software engineers with little room to collaborate. The designer would be busy with multiple projects, so raising questions would go unanswered for days, even weeks. We got frustrated trying to deliver the feature on time, taking into consideration [[Web Accessibility]] and performance concerns. The designer became frustrated over how many questions we would ask why can't we just follow the Figma file, and why when implemented it was inconsistent. The QA team has no idea what rules to even follow at times since one Figma file would show different measurements than others. The designs often did not consider best practices when handling different [[HTML (HyperText Markup Language)]] elements. When bringing the concerns to the designer it would set a chain of events where we had too much to change costing too much time/money. What was understood as a simple feature addition had a mountain of tech debt to be delivered. Part of the problem can be argued as a consequence of waterfall development, and [[Death to waterfall in software development]] could solve some of it. It can also be argued that [[Coding for designers]] would also solve some of it. Regardless of the situation, if you are working with an outside freelance design company or in-house designers, the following list can help create a proper workflow improving collaboration as an iterative process: ## Organize the work Use tools like Zenkit, Jira, Asana, or whatever project management tools that help everybody to effectively prioritize tasks as needed, having access to project files, add comments and suggestions. ## Create a working relationship Distributed teams often rely on text-based communication to get the work done, but it makes it difficult to build working relationships. Spending time on having face to face conversations, even with a webcam, helps understand each person's mindset and what goals they have with a product or feature. Having regular meetings to collect feedback from each side showing the work in progress prevents a lot of frustration and missed deadlines. ## Work in the open Including notes about considerations made on the design and development process, keeping everybody up to date with what is going on. You can ask feedback on assumptions made through the process to avoid devoting too much time on the wrong thing. Have designs in progress available using tools like Figma, AdobeXD, Invision, etc. can help with that. Create a development environment where the work that software engineers have done, but has not been released to production yet, can be tested. ## Speak the same language Speak an [[Ubiquitous Language]] by creating standards such as a [[Design Language System]] and guidelines on common practices everybody can agree on. --- ## References - Northell. “How to Organize an Effective Collaboration Between Designers and Developers.” Accessed August 2, 2022. <https://northell.design/blog/how-to-organize-an-effective-collaboration-between-designers-and-developers>. - Miller, Steven. “Most Effective Tips to Improve Collaboration between Web Designers and Developers,” January 12, 2022. <https://gracethemes.com/most-effective-tips-to-improve-collaboration-between-web-designers-and-developers/>. - Smashing Magazine. “Working Together: How Designers And Developers Can Communicate To Create Better Projects,” 50:19 +  +0200 200AD. <https://www.smashingmagazine.com/2018/04/working-together-designers-developers/>.