The collaboration between designers and developers on any design project is essential for creating a beautiful, yet functional design. Without the proper alignment and synergy of skill sets, the user experience you provide your users will lack efficiency, engagement, and value.
Every company has different organizational structures when it comes to development and design. Larger brands may have two distinct departments, while smaller companies may have designers and developers working in tandem under one department, sharing similar tasks. To foster
In this article, You'll learn about the major challenges often faced and some suggestions on how to tackle them. This post was written from the perspective of designers, mainly intended for external teams and entrepreneurs. However, these tips may come in handy for developers and product managers as well.
In this blog, we cover:
I. Five challenges and solutions
- Challenge 1 – Linear, one-way collaboration
- Challenge 2 – Insufficient collaboration during the planning stage
- Challenge 3 – The misconceptions about UX design work
- Challenge 4 – Implementation gone wrong
- Challenge 5 – Rushing to finish, new requirements appear at the end
II. The relevance of the whole teamwork, not just the developers and designers
Let's begin with,
- Linear, one-way collaboration.
Problem: Some clients, probably because a of lack of experience with integrating design teams into their processes, misconceptions about UX design, or unclear responsibilities within the organization, etc, tend to follow a linear project management approach when dealing with UX design teams.
A linear project management approach which is also referred to as a waterfall project management approach, is a clearly defined sequence of execution with project phases that do not advance until a phase receives final approval. It’s a method where each phase of a project depends on the deliverables from the previous phase. In this case, the product development phase depends on the deliverables of the design phase.
It is until the design phase ends that development begins. This is most times always costly and difficult as compared to agile methodology, especially when there are issues from the previous phase to be revisited.
What then is the solution?
You should, during your first meeting with your client or stakeholders, present the process you follow for your designs, explain the process to them in detail and also in the same vain point out the importance of collaboration between designers and developers at every step of a product management process.
Here are a few things you should highlight during your first meeting
- Your design process.
- Why agile collaboration is crucial?
- How do you think the designer-developer workflow should be set up?
- The time and media for daily or weekly meetings.
- Project Management platform to be used (Between designers, developers, and stakeholders), etc.
If after this, the cooperation doesn’t really take off, just stick to delivering your work in smaller increments, involve devs from time to time, and get feedback whenever a part of the design is done.
The client’s team will surely notice the benefits of these methods. They deliver insights very fast, and they require involvement for everyone and may start developing your designs sooner than originally planned.
- Insufficient collaboration during the planning stage.
Problem: The output of planning should be a timeline that includes the upcoming tasks as well as new features, scheduled in a synchronized way together with the developers. Designers and devs will focus on the same feature at different points in time, as only finished designs should enter the development phase. Designers always have to be ahead of developers, but there can be times when you need to just give the devs something. This can be very stressful and hard to do in a meaningful way, so having clear and well-defined processes is crucial.
There can also be times when designs get delivered much faster, and a decent amount of work piles up for the devs, so it may be the time for you to make some UX design improvements and have a look at the backlog, ask devs if something needs correction in the designs instead of jumping into new features.
Business analysts and other actors may also be needed in larger projects, so their work has to align with the work designers and the devs too.
The solution to insufficient collaboration,
Get yourself invited to project planning, or arrange it yourself (if it’s not happening in an organized way) where you discuss the MVP features, user stories and define milestones. Share your current processes and modify existing steps or add new ones. Schedule discussions with the whole team from time to time to catch the weakest parts of the processes and refine your workflow by solving these problems.
Agree with the stakeholders on a clear definition of done and a definition of ready. There are many possible design processes for inspiration; the one we find the most useful is an iterative usage of the double diamond model. Add or modify steps, and customize it until it describes the workflow most suitable for your team. Schedule weekly or daily meetings for quick status check-ins.
Set up or join a collaboration platform (e.g., Jira, Basecamp, Slack, etc) to organize tickets or to-dos, maintain it well, and keep it up to date and tidy. Invite developers to the chosen design tool if possible so they can leave comments on the designs (e.g., in Figma). Review new designs and their implementation with the devs at milestones. Explain the design system, and discuss the method by building it together.
Create personas, user stories, and user journeys and keep them transparent and visible to the whole team. Try a design cycle approach, and learn about the best agile adaptation for your team. It requires constant experimentation, refinement, and discovery, but it’s absolutely worth the time.
- UX design work misconceptions
Problem: Some developers are not interested in the design work and consider it an extra burden they need to handle. This originates from the lack of understanding regarding our goals and way of thinking as designers. It is also possible that they have had a bad experience with creative professionals in the past.
Mass-manufacturing pretty screens and cute animations for developers is not what a UX designer’s job is about. Making an interface aesthetically pleasing is just the tip of the iceberg. A UX designer’s job is to create well-functioning, easy-to-use, feasible products that achieve the business goals and solve the right problem for the users. Therefore the design we create as designers is not a “nice to have” beautifying retouch maneuver but a core part of a good product development process.
They develop these misconceptions, and these misconceptions tend to create discrepancies later on.
What then is the solution?
Involve the devs in parts of the creative process, sketching, wireframing. Have brainstorming sessions together as they often bring valuable insights and ideas from a different perspective. Explain the mental process and reasons behind decisions when presenting your designs, share the UI patterns and best-practices you considered in the design process. Invite devs for usability tests or at least share the insights with them.
This can be a very insightful, interesting experience for them if they’re not familiar with the user-centered approach. If the dev team is large, keep close collaboration with their representatives, such as leads or architects. If endeavours for close collaboration fail, try to come up with suitable solutions to keep them up to date with the latest designs at least. Make screen recordings, frequent design exports, give view access to the design files.
Developers and designers tend to have different backgrounds, mindsets, and approaches to work, but this doesn’t mean we can’t understand each other and make a great team.
- Implementation gone wrong
Problem: If design discussions don’t happen with the dev team throughout the design process, more explanations will be needed later to make sure everything is clear about the design decisions and how the developers should be working on the interface. Figma comments and info boxes can pile up and become daunting for the developers. Writing a hundred-page-long specification in a pdf with embedded screenshots is not ideal either.
If the developers start interacting with the design tool and understand the structure of the design system, it can make the whole process easier for them, and it quickly becomes a habit, a core part of their workflow. If you can’t use a collaborative design tool like Figma, Zeplin is your answer.
The solution:
Define exactly what deliverables are needed from the design side. For example, if the dev team is already using a UI kit and pre-defined components, low-fi prototypes might be enough in most cases.
Set up a tool (or combinations of them) that allows devs to check the designs often and explain the software’s basic usage.Decide on the logic, naming conventions, design system building methods early on.
Guide the devs toward component-based development. The atomic design method proposed by Brad Frost is a good starting point.Discuss UI framework constraints upfront, chosen coding libraries, and systems (e.g., React libraries for building graphs faster, Material design system, etc.)
Provide short and straightforward documentation for the design system, including design principles, consistency rules, tone of voice, and other guidelines for future use. You can make this inside your chosen design tool (e.g., Figma, Sketch, etc.) or in a separate tool, like Frontify, or Zeroheight.
Keep visual hygiene (remove hidden layers), keep naming consistencies, have all elements in the design system as components with the right styles, remove unused styles.
- Rushing to finish, new requirements appear at the end
Problem: Change in the scope or extra requirements may inevitably occur in larger projects, and they often do so at the last minute, so the latest designs may not get to be clarified properly, or we need to jump back and forth between features.
The solution:
To avoid the crazy rush at the end of a feature or a project, try to work in smaller increments. When unplanned, new modification requirements or ideas arise, remind the client about the time restrictions and reprioritize the tasks.
Be cautious about taking on something extra that will hardly fit the remaining time. Naturally, some businesses would often like if extra tasks could fit within the existing scope without extra time added, so it’s important to explain to the stakeholders that if a new requirement comes up, it will affect the schedule.
Unexpected and urgent to-dos also take time to finish, just like the planned ones, and we can’t create extra time, nor would we like to overwork and burn ourselves out because of this. Promote the importance of a staging environment during development, get access to it and review the developed designs at each milestone, so mistakes and wrong implementations will not burn up a huge amount of time at once.
All in All,
It has been established that designers and developers approach their jobs from different perspectives. Designers tend to lean toward the visual and functional part of the product, while developers focus on the technical side of the process. They have different roles, but are from the same coin. So it's important that they develop a very good collaboration. When designers and developers are open to each other’s perspectives, they create a synergy that ultimately leads to good product design.
Want to receive regular updates on Product design, Web design, UI/UX?
SUBSCRIBE to our newsletter Today!