UCD with Agile Development Process is Possible!
The Agile methodology has taken the software development world by storm over the last two decades, and with good reason. The focus on iterative and incremental development, cross-functional teams, and working software over laborious documentation fits well with our need to respond rapidly to an ever-changing technological landscape. However, the move to Agile has left many product owners, development teams, and user experience (UX) professionals scratching their heads over the best way to incorporate UCD (user-centered design) into the process while balancing the demands of an aggressive development schedule.
At first, this might seem like an impossible pairing
How do you fit a usability study, which could take months to prepare, conduct, and report on, into a development cycle where the product is different after each sprint? Believe it or not, building a customer feedback loop into the Agile process is not only possible, but is a natural extension of the Agile philosophies of incremental changes and iterative development. However, building this feedback loop in takes some thoughtful changes to your team composition, work processes, and deliverables. This post is the first of a two part discussion on integrating User-Centered Design (UCD) with an Agile development process, and covers the first 3 of 7 Tips for Success. Look for the other 4 Tips next week!
Because each Agile team works a little (or a lot!) differently, finding the right process for your team may take some experimentation. In the past decade, many organizations have begun reporting on their successes and challenges integrating UX work into their Agile process – see, for example, some of the seminal case studies by Desirée Sy and Lynn Miller, as well as Aviva Rosenstein’s more recent Boxes and Arrows article and Janet Six’s UXmatters article, both of which are based on interviews with UX experts working in Agile environments. Out of these case studies and interviews, some interesting trends and best practices have started to emerge.
If you are part of an Agile team seeking to add UX work into your current process, or if you are a UX professional working with a Waterfall development team that would like to convert to Agile, here are some practical tips and resources that can help you incorporate user-centered design into an Agile development process. These tips are based on trends I’ve seen reported in the UX literature (see references below for additional reading), which also resonate with my own experiences working with an Agile team.
Tip 1: Build a team of collaborative, cross-functional people.
Work with your organization to build a team of people who are naturally curious about other disciplines, work well with others, and are flexible. The team should include everyone needed to get the project done – product owner, developers, analysts, quality assurance, UX specialists, designers, etc.
Agile is by nature a highly collaborative approach to project execution, and therefore requires team members who enjoy offering up their specialized insight into all aspects of the project work. Cross-functional teams provide multidisciplinary perspectives on all project ideas, which lead to better design solutions. If possible, co-locate team members to encourage interaction. However, when co-location is not possible or economical, having good remote meeting solutions works well too.
Tip 2: Bring UX researchers and designers onto the team from the very beginning of the project.
Be sure to bring UX specialists and designers onto your team from the very beginning so they can help establish and test the big picture vision for the product, and help keep the team’s eye on this vision as the project unfolds. Bringing UX specialists onto your team early helps the team work together in setting up work processes that maximize collaboration and efficiency between the testers, designers, and developers. In addition, it gives the UX team members time to establish their own testing/design protocols and develop study participant lists, which is difficult to do in the thick of sprinting. (In the Agile world, a “sprint” is a set period of time during which specific work must be completed and made ready for review, usually a matter of a few weeks.)
Tip 3: Take a collaborative, not a siloed approach to doing the work.
While team member specialists are still responsible for delivering their pieces of the work, the difference comes in how Agile teams approach the work. Teams that successfully integrate UX into their process do so by involving all team members in the usability studies and design work, and by iterating the design based on solutions agreed on by the team. UX specialists and designers, in turn, work hand in hand with analysts and developers as they build the design into a working product.
This type of close collaboration helps foster a shared vision for the product, build trust, and increase team efficiency. In addition, it helps ensure that the design is constantly accounting for the realities of development, while development is always informed by the user needs. Aviva Rosenstein’s Boxes and Arrows article cited above, The UX Professionals’ Guide to Working with Agile Scrum Teams, provides some recommendations for developing strong team relationships based on understanding of and respect for one another’s strengths.
Next week
We’ll talk about experimentation, rhythm, focus and quality, and their role in the pairing of UCD with an Agile process, so visit again. And if you’d like to introduce user research into your product development process, contact TecEd and we’ll share how we can help you meet your business objectives whether in an Agile environment or not!