- 13 September, 2019
- Article - Teams and Culture
Collaboration between user experience (UX) and development is essential for building great solutions. Using the abilities from both disciplines in tandem provides a definite edge that is impossible without collaboration, communication, and compromise.
Organisational structures differ from company to company, where larger organisations may have different departments for UX and development. However, the best approach is to have dedicated multi-disciplinary teams on projects, breaking down silos by having both UX Engineers and Software Engineers as part of the team.
Designing for development is about finding the solution that produces the best possible user experience with the least moving parts. Because UX Engineers specialise in what makes sense for the user, and Software Engineers specialise in what makes sense for the computer, below are 3 ways to start building a team that grows together – and builds better software:
1. Act as one team
In many organisations, Software Engineers are often excluded until it’s time to develop what has been designed. Avoid exclusion by engaging as one agile delivery team from day one. Validate designs and uncover technical considerations sooner, that might cause roadblocks later on.
UX Engineers should actively take the time to understand the development and technical feasibility, while Software Engineers take the time to understand user needs and design influences. Constantly working together throughout the process gauging technical feasibility, timelines and capabilities, allows the team to draw on each other’s strengths.
2. Create a culture of open communication
UX Engineers and Software Engineers often see things very differently as a result of their own skills and strengths. These differing viewpoints can be leveraged to establish an open communication policy.
By involving Software Engineers in design reviews and workshops, they are given the opportunity to provide earlier input. By urging UX Engineers to attend sprint planning, they will have a more holistic understanding of the project to keep refining their designs when new or changing requirements emerge throughout the development process.
Work towards a shared understanding of goals, and establish clear and frequent updates. Collaborative design and development need constant feedback and input from both parties. This will ensure that business, design, and technology perspectives are integrated into the project from day one.
3. Compromise when needed
Being constantly involved in each other’s processes allows for a better understanding of requirements and constraints. Ultimately, there will always be compromises, or at the very least, adjustments required between what UX Engineers envision and Software Engineers implement. Most often, these are compromises to meet business objectives, while still meeting user needs.
When project roadblocks do happen, take the time to understand why a missing feature is crucial or how an unnecessary element isn’t feasible given constraints of the platform. Understanding the reasoning behind the roadblock will make it easier to compromise and collectively come up with a solution.
Without proper communication and leveraging each other’s skillsets, the user experience provided will lack efficiency, engagement, and value. Promoting transparency on tasks and timelines, and nurturing a feedback culture within the team as a whole, is critical to ensure you’re creating great products with the best user experience possible, without compromising on robustness and maintainability.