#UX101: On working with developers and project managers
No man is an island – to be an effective UX professional you need to work and partner with people with different backgrounds, skills, and priorities. If you don’t build solid relationships with the many people responsible for executing the design ideas you have created, there’s the very real possibility that none of your ideas will ever reach the end-user.
This article covers some of the people you will work with, and some hints on how to build the working relationships you will need to produce results.
Project managers are the “schedule-keepers”… the person who is responsible and accountable for the on-time delivery of the project. They are usually very organized and structured people, and they tend to be “Type A” personalities. Finally, many of them don’t like uncertainty… which, when it comes to an iterative design process, can sometimes be a challenge.
A good project manager will challenge you and want to understand your design process in great detail… not only so that he/she can make sure all the steps that are in said process is in the project plan, but also so that they can communicate the process to stakeholders and in project updates.
It’s important to “overcommunicate” with project managers, especially early on, during project planning. Let them know what you are doing when, and more importantly WHY these activities are important. A project manager who is misinformed and/or has never done a UX project before may push to compress design activities, or jump to detailed design with no user testing. Push back – hard – against this if it happens: skipping steps usually results in a less-than-optimal final design.
There’s a cliché about developers that you frequently see on TV and movies: developers are anti-social nerds who don’t like human contact, obese men with neckbeards who slams down Mountain Dew while they spend 12 hours a day coding with Cheetos-dust covering their fingers. Like most clichés, it’s simply not true.
Yes, you will find some anti-social eccentric developers out there, the same way you will find eccentrics in every profession. But the idea that developers are these second-class odd code monkeys is insulting and untrue. I’ve worked with a lot of developers in my time, and in most instances I have found them to be incredibly smart friendly and creative people.
Yes, I used the word CREATIVE, because it’s true… software development is a creative exercise in the same way that user experience design is, just in a different way and with different tools. If you think it’s not… well, just try and design a model-vie-controller based UI architecture that scales to millions of users.
Go ahead. I’ll wait here.
When you are working with developers, understand that they have ideas, too… sometimes very good ones. And while you will be tempted to be very dogmatic with your designs when you hand them over to be coded, try and be open to their feedback. Explain WHY certain design decisions were made, so that they know the “back-story” about what drove the design direction.
Optimally, engage with developers throughout your design process – collaborate with them, listen to their ideas, and most importantly… discuss the viability of your design ideas. The last thing you want to have happen is you and/or your design team comes up with a design approach that isn’t technically possible based on the constraints that exist.
Finally, make sure you properly document your design, so that there is no ambiguity. Developers (and after them, QA) don’t like ambiguity, because that usually means bugs and rework.
I started this section with one cliché, and I’ll spout another one to wrap up: There is no I in team… successful execution of a UX design means active conversations and collaboration with everyone who is responsible for executing the project. Don’t work in a vacuum, partner with your team leads to increase the likelihood of success.
Next: On the Software Development Life Cycle…