User Experience in Agile Development

I recently attended the 2008 UPA conference in Baltimore Maryland where I had the pleasure of attending a presentation by Jeff Patton. Patton’s name is well known in the Agile community where he focuses on improving UCD within Agile environments. You can read more about him and his ideas on his website AgileProductDesign.com.

Jeff started out the session by providing a high level overview of the history of Agile development. Including a brief overview of it’s many branches (SCRUM, XP, FDD, DSDM, Crystal, etc). He then discussed the main values and principles of the practice of Agile development.

Next he talked about a 4 quadrant graph where he illustrated the impact of user experience and Agile within different types of organizations based on the product or service they provide. This graph compared a company’s purpose to its user adaptation. In the upper right quadrant high voluntary adoption meets sales. Companies such as Google, Yahoo, Amazon and Expedia are highlighted. Here he emphasizes that in these companies user experience is likely to be a critical piece to their success and highly integrated into the development process.

The lower left quadrant provided the opposite effect. Here companies have users who are compelled to use the software due to internal use, such as employee time tracking or HR software. These are products the user is typically required to use and they are generally cost reducing products that don’t directly generate revenue. Here user experience gets lost in the shuffle and is often only an after-thought of the product development.

I found it interesting that Patton then credited this quadrant with the creation of Agile development. This quickly made it clear to me why many companies find it hard to integrate user experience into Agile environments. It’s not that user experience isn’t an extremely important piece, but instead that the product being developed will not directly generate revenue for the company using it, and its use won’t be optional for employees of that company. Therefore improving the software to provide a pleasant experience and efficiency over the competition is no longer the most important factor, instead the focus turns to features.

Below is a diagram I created from my notes showing roughly what Patton displayed on his slides to illustrate the different Agile environments:

We then did a group activity that even more clearly showed the difficulty of design in an agile environment. We split into teams and nominated roles: user, product manager, developer and designer. The product manager was given a blank puzzle intact, and asked to sketch out the requirements from the user, in this case a sketch of a car. Then in agile fashion the puzzle pieces were detached and given one at a time to the developer and designer. For the developer to build the skeleton and pen in over the penciled lines the process worked well. However, when the designer was handed their piece they were unable to determine how to color it in without knowing where it would fit in the puzzle as a whole. Were they looking at the windshield of the car, or a tire, or the hood? When the puzzle was then reassembled at the end, the outlines of the requirements were intact, but the pieces were multicolored and the design was hardly streamlined or consistent.

The takeaway from this presentation for me was that, while given the ability to more quickly develop a solution in manageable pieces, Agile’s origins have predisposed it to issues when it comes to evaluating the product as a whole for improving the user experience. In order to integrate user experience into the cycles or sprints, adaptations must me made based on the product a company is providing. User experience must be integrated in an iterative cycle that also allows for periodic checks, as well as research of the solution as a whole. When the product is designed for a company’s internal use, and required by a majority of its users, it is even more important to ensure that the user experience doesn’t get lost. It is here, where users don’t have an option, that ease of use and learnability become even more important as they can reduce internal costs and improve efficiency and moral.

To read more about Patton’s thoughts on user experience in Agile environments I recommend his article “Is user experience relevant where you work?“.