Remote Product Development: Why Teams Should Design and Code Together, Anywhere
This article is part of a multi-part series on remote digital product development. As a fully-distributed organization since 2016, DockYard’s experienced teams of project managers, designers, and engineers have learned a lot about how to seamlessly collaborate across disciplines and time zones.
From my five years of experience in user experience (UX) product development, I’ve seen product teams struggle to foster collaboration across disciplines and break down silos, especially between designers and developers. As someone who has worked both in an office and remotely, I know this can seem like an even greater challenge for distributed teams. However, with modern tools and a culture of experimentation, you can create a practice of remote designer-developer pairing that is even more effective than being in an office together.
Process Down to a T
The best process doesn’t put strict limits on who does what, or prescribe every stage of design and development. Instead, product teams should hire “T-Shaped” individuals, who have deep expertise and skill in needed areas, but have wider experience, context, and anticipation in surrounding steps of the process.
The first advantage for remote teams is they can hire for the top experts, regardless of where candidates are located. This allows distributed companies to find the best contributors from a more diverse and inclusive candidate pool. In order to have a successful process, you need team members who question assumptions, find what’s essential to the user, and adapt their workflow, tools, and solutions to each challenge.
A strong designer-developer process is all about specialization without being territorial. If a product or feature kick-off benefits from a sketching session, then designers and developers can sketch together, talk about constraints and opportunities, and figure out UI design in parallel with accessibility considerations, data structures, component state, and so much more.
Developers aren’t stomping on designers’ turf just because they might sketch a button. Similarly, designers aren’t diminishing the importance of developers if they happen to write some pseudo code to convey their thoughts. Instead, each team member can use their cross-domain knowledge to bridge between disciplines. Egoless decisions made together will save time, confusion, and bugs down the road. If teams don’t throw work over the wall for the next team to pick up, each discipline doesn’t have to perfectly predict the next step in the process.
Distributed team members can bring other disciplines into discussions and pairing sessions fluidly as needed. Teams don’t have to bet on unpredictable meeting room availability, and it’s much easier to spin up an impromptu call than to gather people from different teams in an office. This democratizes both the design and development process by creating shared access and influence to shaping a product.
Remote teams can more easily be composed by client, product, or feature area instead of by discipline or department. So, the closest peers are those who span other disciplines and share a common project, not a common silo. As projects change, teams can have entirely new members without worrying about moving desks and equipment, so designers and developers have no boundaries for pairing.
Remote Pairing for the Best Work
Designers and developers have a spectrum of options for remote pairing that allows everyone to go deep with blocks of focused time, while also getting reactive support for blockers. Team members can send asynchronous messages, hop on a quick pairing call to talk through a tricky problem, or plan a dedicated working session for larger chunks of meaningful collaboration.
Remote working sessions are key to unlocking the best partnership with designers and developers. Cross-discipline teams can do their best work in parallel, and everyone has their own preferred setup. Contributors can naturally flow between heads-down time and jam to their favorite music, then unmute to ask a quick question or look at an idea together. With our modern tools, we now have incredible options for remotely pairing across both design and development.
Need to sketch or whiteboard an idea? Reach for a tool like, Miro, Mural, or InVision Freehand. Exploring visual directions and creating mockups? Take advantage of Figma Multiplayer and design a dropdown menu while a developer is optimizing an SVG. Ready to prototype? Hop into a VSCode Live Share session and test a user flow by building an initial experience in the browser together.
This type of pairing is frictionless with remote teams, which empowers designers and developers to iterate and increase fidelity together in both designs and code. Dan Mall and Brad Frost advocate for this type of fluid collaboration, and if done right, designers and developers can produce more polished, more ambitious work in less time, all while working from their favorite setups.
Stop Worrying About Strict Responsibilities and Start Working Together
Our industry obsesses over questions about roles and responsibilities. Should designers code? Should developers design? The truth is, the best teams are made of specialists who can comfortably bridge to other roles. Furthermore, everyone involved in building a product is involved in design and influences the user experience.
So, stop worrying about who does what, and instead, create the time and space for meaningful remote collaboration across design and development. Each discipline brings their own expertise, but great products are a shared responsibility.
DockYard is a digital product agency offering custom software, mobile, and web application development consulting. We provide exceptional professional services in strategy, user experience, design, and full stack engineering using Ember.js, React.js, Ruby, and Elixir. With a nationwide staff, we’ve got consultants in key markets across the United States, including San Francisco, Los Angeles, Denver, Chicago, Austin, New York, and Boston.