Healthy Tension: Maintaining Relationships Between Designers and Developers
As creatives, designers thrive in the realm of possibility, pushing the limits of what could be. Developers, on the other hand, reside in the land of what’s possible — shouldering the responsibility of delivering on promises made.
One of the challenges of designers and developers working together is that their natural differing perspectives creates tension. It’s a healthy tension, though. At the intersection lies an achievable platform that pushes boundaries as far as timelines and budgets will allow.
As with any relationship, work is required to maintain a proper balance in which both disciplines are empowered to operate within their domains of expertise.
Techniques That Lead to Successful Outcomes
Envy Labs started as a group of headstrong developers and added a bunch of headstrong designers. Here are the processes that we employ to keep the dust settled with designers and developers working together.
Meeting as a team at regular intervals (we opt for weekly) keeps everyone on the same page. During these meetings we discuss progress and timelines, expectations around deliverables are set, and questions and concerns are raised. These important conversations ensure all team members have an equal opportunity to be heard and offer their unique domain expertise. More importantly, internal check-ins allow for continual assessment of whether or not set expectations are still realistic given budgets and timelines.
Most often, problems arise from unmet or miscommunicated expectations so these meetings are especially important at critical handoff points. Whether it’s from discovery to design or design to development, ensuring everyone is on the same page as the baton is passed is key.
Project Slack Channels
Since not all communication warrants a meeting, using dedicated project Slack channels has been an excellent supplement to our weekly internal check-ins. Not only are these public conversations beneficial to all, but Slack is especially handy given our distributed team structure and flexible remote work policy.
Open communication is promoted as a vital part of every project and because of this, private, undocumented discussions are discouraged. However, for those inevitable times when one-on-one interactions do occur, the following process is followed:
- The important points and decisions made are documented in digital form. Our preferred method is within a Google Docs document on a shared drive
- The link to these notes is shared in the project Slack channel
- The document notes are reviewed as part of the next internal meeting
This practice ensures current team members remain in the know, newly added members can be brought up to speed easily, and issues arising from miscommunication are held at bay.
Team Reviews Before Client Deliveries
We build the best products when everyone involved feels a sense of ownership. Because of this, team reviews are employed to garner an overall Envy stamp-of-approval prior to every client delivery. These internal feedback loops allow us to catch any gaps, red flags, and missing pieces while promoting collaboration among team members.
Sometimes, showing works better than telling. Using tools like Marvel, After Effects, and CodePen to create interactive prototypes is an effective way to bridge communication gaps. These prototypes enable designers to communicate their ideas about user flows and animations that would be difficult to convey with words alone. And as an added benefit, developers are able to suggest more efficient methods for achieving the desired results and better estimate the overall effort involved.
Pairing Sessions Between Disciplines
Cross-discipline pairing helps creatively tackle the difficult problems that arise with every project. Good starter questions include:
- What am I missing?
- How would you approach solving this problem?
Retrospectives provide the opportunity to reflect not only on the work done, but also the processes and interactions that made it all possible. As we reflect, the following aspects are the most important to identify:
- Successes: What are some of the things we did really well on this project?
- Failures: What are some of the things we did poorly on this project?
- Areas of improvement: How can we improve going forward and what could be done differently?
Taking a blameless approach to these post-mortems creates a safe space for discussion. We are able to hone in on the things that worked well and iterate on, or eliminate the things that didn’t. These insights serve as a guiding light, helping us course-direct during future engagements.
Maintaining Relationships Through Every Phase and Delivery
With each phase and delivery, every discipline has a job to fulfill. Maintaining healthy relationships between designers and developers requires clearly-defined roles and responsibilities every step of the way. Equally important is defining the processes around interaction points where the disciplines overlap.
Beyond standard project expectations and processes, there are additional team goals to strive for in order to maintain healthy relationships.
Take a Walk in Their Shoes
Becoming familiar with other disciplines benefits everyone. What tools do they use? What types of problems are they solving? What challenges do they face? Discovering the answers to these questions goes a long way in building empathy and strengthening team bonds.
Learning to write production-ready code isn’t necessary but some knowledge helps designers understand how minor tweaks now can lead to major development impacts later. And when developers know more about color theory, typography, and other design-related topics, they are better able to articulate feedback and voice concerns.
We’re All on the Same Team
Above all else, it is important to remember we are all working toward a common goal — building the best products and experiences for clients and their users. Mutual respect for each practitioner and their expertise promotes successful outcomes despite differences of opinions that may arise.
Learn about the strengths and weaknesses of component-based and atomic CSS styling methodologies and which types of projects they are best suited for.