Getting Design Agencies and Engineering Teams to Work Together
Someone I know is about to kick off a big project with separate companies managing the design and development. I’m sorry to say I’ve seen this arrangement fail far more than I’ve seen it succeed because I’ve been the one called in to fix it.
Design agencies and engineering teams are filled with talented and experienced people. The challenge is that they have different mindsets, skill sets and processes. Both agencies and engineering team are often evaluated based on the quality and quantity of their individual output. To overcome this both groups need come together to make something greater than we they can do alone.
In my experience, design agencies and engineering teams can successfully work together if they have the right structure, oversight and mindset in place. Here’s what I found works:
Run a Pre-mortem
The first few weeks of any product development effort are tricky. You are trying to figure out what you’re doing and how to work together. The expectations are always high and the timeline is short. Prospective hindsight, imagining that an event has already occurred, increases the ability to correctly identify reasons for future outcomes by 30%.
At 3Pillar we often run a post-mortem or retrospective to talk about what went wrong. By doing a pre-mortem at the start of the project we all acknowledge the risks without pointing fingers or being pessimistic. If the design agency and the engineering team know ahead of time what the potential is for trouble is they will be able to spot it and address it sooner.
Be Crystal Clear About Your Vision and Objectives
Everyone needs to know what mountain they are climbing and what it will look like from the top. If they aren’t working from a common vision, their own preferences and motivations will often drive them. The vision should be a single page and include the mission, values, target, user and business. It should be revisited regularly.
Sort out Your Calendar
This one seems kind of silly but it matters. Very quickly you need to establish a schedule so the team can start going through the motions of working together and carving out time to actually do the work. Different groups have different needs and may work different hours, knowing when people are available and when they need to focus helps to forge good working relationships.
|Planning and Operational Meetings||Design Meetings|
Leadership Check-in (30m)
Review with stakeholders (60m)
Session with Engineering (60m)
|Every Sprint or Iteration (~2wks)
Sprint Planning (60m)
Review and Retrospective (60m)
Plan how to Plan
Design agencies tend to work on big ideas then break things down. Engineers are trained to work in an iterative fashion on small and independent pieces of work. These two approaches can lead to scheduling challenges and re-work.
As a group you need to figure out how to estimate, prioritize and plan work for the next couple of sprints. It’s not going to be perfect but you don’t want design and engineering too disconnected or the rework will pile up.
One thing that has helped 3Pillar’s clients is to brainstorm stories and estimate as a group. If I wanted to do a remodeling project, I could have a contractor tell me if my ideas are going to cost a $100 or more than a $1,000. With that information, it gets easier for me to decide what I really want to do with a limited budget.
When we estimate together we learn the level of difficulty for both designers and engineers and we’re able to think through tradeoffs. Maybe we can use an existing pattern or library for login so we can spend more time time on a data visualization.
Sort out Oversight
The leaders of the teams should have a weekly check-point to talk about how things are going. They should work as a team to sort out any miscommunication or performance issues. Leaders of both teams should expect that there will be miscommunication, confusion and conflict. At 3Pillar we like to say that we should always be #oneteam regardless of who is on that team and the example has to be set by the leadership.
When the project starts it also important to understand how problems are escalated and who has the final say when things can’t be resolved through consensus.
Get Designers’ Tools Built for Speed
Pursuing pixel perfection is a waste of time, there is just too much device diversity to make that work. We typically use tools like Sketch or Framer to create design assets and we’ve made UI kits so our designers don’t have to start from scratch every time. We also use Zeplin so that our engineers can see things in code.
Designers should also be working towards a design system full of components that can be reused. This helps in consistent quality, speed to market and maintenance.
Put Things in Your Customers’ Hands Early and Often
Imagine you are standing on the stage, Steve Jobs style, and you are going to pitch your product in 30 seconds. If a feature isn’t something is worth talking about on the stage, it’s not worth building in your MVP. Those are the things you should work on first and you should get them in front of your customers.
We believe in minimizing time to value and that value only exists when you put something in the hands of your customer or stakeholder. Value doesn’t exist on a whiteboard, your local machine or even a dev environment. The “something” in their hands can be a prototype, landing page, journey map or working code.