Bridging the gap between design and development

UX/UI designers and developers approach software from very different perspectives. Because of this, it is challenging to understand where the other person is coming from or why specific (design) choices are made. Even though they may have the same goal of developing a great product, this is not always apparent to the other group. Misalignment worsens when the design and development processes are separated, and communication only happens through a design file. Misalignment leads to frustration and unnecessary rework. It is not that disconnected design and development teams cannot produce excellent results, but it is less likely [1]
Communication gap
When the design and development teams work independently, designers still make great designs for users, but do not consider the changes developers have to make to accommodate them. However, some seemingly minor changes to what data is displayed where can have significant repercussions for development time. If developers then receive a design they do not feel is logical or unnecessarily complicated from a development perspective, they will either implement it in a way that is efficient from a development perspective or use valuable time to implement it exactly as specified. However, they do know if a specific detail that takes a lot of time to develop is critical to the user experience, or is just a fun detail. They are simply not looking at the design from a user’s perspective. Making the wrong choice will lead to rework or delays. Of course, they could consult the product owner during refinement to determine the right choice, but that can take up a lot of time (of which the PO probably already has little).
Teams could resolve these issues by improving communication between designers and developers, so they do not need the PO to decide on the details of how a certain feature is implemented. Examples of this include involving developers earlier in the design process, conducting a warm handover of designs, and working in multidisciplinary teams that include designers and developers [2]. However, involvement alone will not solve everything. For communication to be effective, one needs to understand each other without needing to explain everything. You need social cognition between designers and developers.
Social cognition
Social cognition is our ability to understand others [3]. It enables us to understand other people’s mental states and to interpret their intentions. It enables us to understand other people’s intentions, feelings, and experiences without requiring them to be explicitly expressed. This skill allows for humans to work effectively in large groups. Its efficiency is due to not having to explicitly state what you mean all the time, as others can infer your meaning based on shared experiences, non-verbal cues, cultural norms, and other variables. However, if two individuals have different knowledge about the world and limited information about someone else’s experiences, not being explicit about what we mean starts working against understanding each other. Misunderstandings like this occur on a large scale, where people from different cultures experience communication difficulties. However, it can already cause problems for two specialists from other fields of expertise to try to understand each other [3].
So, what can you do?
A good way to lower this barrier without any significant organisational changes is by learning about the experiences of the person you are working with. This can, of course, be done person-to-person by discussing their work, concerns, and passions with them. Although I would advise everyone to build a good working relationship with their colleagues in this way, you can accelerate this process if you already have a basic understanding of their field of expertise. Having an understanding of the meaning of the basic concepts others refer to and the everyday challenges they face reduces the effort both parties have to put in to understand and be understood, as they can rely more on social cognition. Furthermore, it will allow you to provide more effective feedback on the work of your colleagues. So, if you are part of a multidisciplinary project, knowing the basics of what your colleagues are working on will allow you to work together more efficiently.
When this idea is applied to software development, it can be concluded that early, continuous, and effective communication between different disciplines is key. When both designers and developers have sufficient knowledge of each other’s expertise, they are significantly more likely to create efficient software that meets users’ needs effectively. Thus, creating positive outcomes for the project they are working on.
[1] Liang, T., Liu, C., Lin, T. and Lin, B. (2007), “Effect of team diversity on software project performance”, Industrial Management & Data Systems, Vol. 107 No. 5, pp. 636-653. https://doi.org/10.1108/02635570710750408
[2] 8 Tips On Bridging The Gap Between Design & Development | by Queble | UX Planet
[3] Social Cognitive Neuroscience: A Review of Core Processes | Annual Reviews