Practicing UCD in an Agile development environment can be daunting, frustrating and scary for the traditional user experience designer. After all, we like to design, research, survey, ask questions and create informed designs which get passed to development. UCD naturally fits better in a waterfall methodology.

Here’s the problem: It’s too damn slow. All that work takes time and unless you have great project management who can effectively stack concurrent activities you become the bottleneck. The designer is seen as the obstacle and not the problem solver. Agile development relies on everyone on the team working together in an iterative fashion to complete the work. But wait! what about my research? How can I influence the design if code is being written on day one? How can I survey users? How can I do my job?

UCD in Agile

You need to change mediums. You need to get closer to your product. You need to transition your skills and you need to get more involved. User’s don’t use your wireframes and photoshop mocks, they use your product. You need to learn the skills necessary to influence change within that product’s interface layer. For webapps you’ll need to bone up on your XHTML/CSS and JavaScript chops. You’ll need to get your hands dirty and work along side your engineers.

It may take some time to gain the skills and the trust to allow you into the codebase for a lot of organizations but that is where you need to be. It’s where the decisions are made it’s where you can have the greatest control it’s where you can influence change.

Since Agile is iterative you maintain the option to make changes during the development cycle. You don’t need to get everything “right” from the start. Let’s face it, we can survey, interview, test and design until we’re blue in the face but we’re not always going to hit a home run. Agile allows you to chip away at the large chunks and create the fine lines later in the cycle. You have the opportunity to test during development and make changes on the fly. It’s faster and more liberating since you are in control of the layer you and your users care most about, the UI.