In the first part of the story, we’ve talked about two main points that will have a big influence when organisation is trying to take a design driven approach to the software development process:
- Allocation of User eXperience Team in the organisation
- UX and Dev work alignment
Let’s talk about the second point now:
UX and Dev work alignment
I like to compare User eXperience to the icebreaker ship. Just like icebreaker that smashes the ice in order to make the way for other ships – User eXperience helps product development to find the best way to solve a user problem. UX drives testing of assumptions and uses real data to prove or adjust the vision set by the product management.
It very important to align UX and Development work properly in order to have as much data as possible tested before actual product development starts. Ideally, UX involvement begins as feature direction is being defined, using sketches to help Product Management validate and test assumptions. Sketches are constantly being updated and tested again, pushing the feature to it’s logical completeness.
As project scope becomes more clear and designs become better defined — less involvement of UX team will be required. Development team will start from picking up backend tasks, and than move on to front-end, while UX will be providing some final support. As project moves to an end — UX team will have more and more time freed up, to start planning for next feature, involving Developers in the process soon after.
Lean UX is big help
Lean UX is a call to work iteratively, to streamline design and eliminate waste, to collaborate on cross-functional teams and, most importantly, to maintain a customer-centric perspective in our decision-making.
Lean UX principles are very handy throughout the feature development process, as they use Agile approach to unify developers and designers in the Agile process of product development.
Lean UX is driven by a set of core principles, each focused on maximizing value and minimizing waste in software design. Here is 4 Lean UX principles that have really helped me in setting up better collaboration between UX and Development:
1. Move from uncertainty to clarity. UX helps to take early assumptions and verify them with real users, so that when developers start building the product — they can be sure that what is being created solving real user’s problem.
2. Driving away from long debates to actions. Instead of lengthy meeting about who’s idea will solve user’s problem in best way — it is better to quickly prototype the solutions and test them with users in order to find out the real answer.
3. Removing waste — early validation. Developer’s time is so expensive. Lean UX allows development teams to not waste their time on building the wrong thing. Let UX team run couple of user tests first, in order to be set to a success directly.
4. Shared understanding! This one is very important and is often being forgotten. Let all the data to be shared, every perspective be heard as early as possible in the process. Do not exclude developers, designers, testers and whoever is set to be working on the feature from a brainstorming sessions, discussions with users, requirements gathering, etc. As earlier they are in room — the more understanding and ownership over the feature they will build. And you will simply save up time on explaining everything again later!
Some final words
We’ve talked about UX being an icebreaker. But after the icebreakers, there are usually icebergs left. How to make sure that UX and Dev are really in sync and working collaboratively to achieve the common goal? Couple of simple tips that helped us in XebiaLabs to get UX and Dev to new level of collaboration:
- UX Team member attends Dev team’s daily stand-up. NO EXCEPTIONS!
Make sure to time box your stand-ups in order to meet people’s expectations. If a standup will constantly be going over the set time — people will quickly loose their motivation to join. Make sure that only work related topics are being discussed and that everybody is present not only physically, but also with their mind.
- “UX design required” column on scrum board.
This helps UX members to be quickly aware if there is anything that Development team needs from them. As soon as a JIRA issue is being dragged to a “UX design required” column — UX team would be notified by email (or will spot it during the stand up) and would address the problem immediately. This way Developers wont never need to make a design decisions again!
- UX Team member attends Dev team’s retrospective. NO EXCEPTIONS!
Retrospective — is the time and place where improvements and processes are being discussed. It is crucial to be present, be ready to speak and listen! As bonus — it is a place to discuss how the improvements on UX and Development collaboration are going 😉
- Infuse UX team into Dev rituals!
Having detailed refinement sessions with Development team before the coding starts helps to address all the questions about the planned feature between designers and developers. Add a check with UX team to be part of Definition Of Done for developers, so all changes that influence UI are agreed and approved. Make sure your Quality Assurance team helps with testing design requirements too!
To summarise all said earlier, here are things that matter when trying to to infuse UX into Development to build killer features together:
- Communicate teams achieve greater results TOGETHER
- Correct allocation of UX resources is a baseline of success
- UX is an icebreaker
- Lean UX: more important than ever before
- UX team in Dev rituals, Dev involved into UX