When we think of Agile, we often think of the more prominent characteristics of Agile environments—the fast pace, the iterations, the daily standups—that we forget it can also represent a truly collaborative environment for user experience (UX) professionals. In the past, we’ve focused on how to fit our practice into the various implementations of this rapid, iterative development approach, but haven’t always explored how Agile can complement, and even enhance, UX work. Now that the discussion around Agile UX (the practice of UX within an Agile development team) has matured to the point where we can talk about mastering the technique, we can avail ourselves of the unique opportunities inherent in the philosophy of Agile.
The Agile Manifesto (www.agilemanifesto.org) should be the starting point for any discussion around Agile. The Manifesto lays the groundwork for creating a collaborative environment, and the frequent iterations inherent to any Agile process are well-suited to accommodate user feedback. While it may not have been designed with the UX role in mind, the Manifesto provides an ideal setting for us to include internal and external stakeholders in the design process.
The Agile Manifesto: Involve Customers in the Design Process
The Agile Manifesto places a high value on customer collaboration, opening a wide door for user feedback to be part of the development process. Admittedly, the value is framed in terms of customer collaboration being more important than contract negotiation, so I may be putting a certain amount of UX-centered interpretation on the phrase. However, I choose to read it in its most broad definition: of seeing the customer as a partner in every way and not as an adversary at the negotiating table. Regardless of how you translate it, the presence of the term “customer collaboration” within the Agile Manifesto validates the idea of partnering with the customer and, ultimately, allows for a different kind of conversation to be had with the production team. Not only does it mean that we can talk about usability testing and user research, but we can extend our efforts to include collaborative design techniques. It is incredibly powerful to work with a philosophy that speaks to the idea of engaging with the customer as a partner in the design process.
Different Methods and More Voices at the Design Table
While research and testing are valuable tools that UX teams have relied on for decades, the more tools we can add to our UX arsenal the better we can contribute to a positive outcome. Working in an Agile environment can mean new, different, and quicker ways of getting the desired information. This might mean conducting co-design sessions or leveraging the RITE (Rapid Iterative Testing and Evaluation; http://bit.ly/cfafJ7) method and involving your customers in the design process in new and different ways. Consider working with Agile UX as your opportunity to add to the techniques in your repertoire; a chance to explore all your options for getting end users involved in the design process.
In the Agile Manifesto, the concept of “customer collaboration” isn’t positioned as something solely owned by a UX person; it is assumed to be part of the development process. While those of us with research backgrounds feel a certain sense of ownership around soliciting user feedback and conducting research, this “ownership” can also put walls between us and the rest of the team. While it’s great that we can serve as an advocate for the user and represent their perspective during the design process, it’s important to empower the other functional areas to share this responsibility. This may mean more voices in the conversation about what the user wants to do, but ultimately this is a good thing. When the whole team is thinking in terms of the user, it increases the odds that the end product will better serve the customer.
“User Stories” Increase Developer Curiosity
Agile provides the greatest opportunity for user-centric thinking by asking developers to think in terms of “user stories” instead of features. Before contemplating a solution, developers must consider the problem from the perspective of the end user. Team members are often asked to contribute to the creation of user stories, and their work is framed in this context as well. This can increase team member interest in discovering different usability and design exercises. At the very least, it increases their curiosity in the perspective of the client during feedback sessions. Knowing that they, too, will have to speak for the user gives the developer a little more motivation to better understand the customer.
Greater User Feedback Opportunities
Not only do Agile methods allow for the increased awareness of the user’s perspective through user stories, the frequent iterations allow more opportunities to incorporate user feedback into the production cycle. Often, at the beginning of a release, despite our best efforts, “we don’t know what we don’t know.” Usability testing and/or customer feedback sessions often uncover new requirements. In the darkest days of the Waterfall method, these findings were likely to occur towards the end of the release cycle and would have been tabled until the next release, typically a year or more down the road.
Agile proves that if you engage in frequent sessions with your customers, you are better able to uncover these issues sooner, in time for the team to react to them. If the issues are a high priority, they can often be incorporated into the next development cycle. The key is to interact with users early and often. Don’t wait until you have a stable working prototype to begin the conversation. Schedule regular sessions during every sprint and show the customer whatever you have at that moment. Conceptual designs, workflow diagrams, screen grabs, and Balsamiq drawings can all be used to great effect as a communication tool to engage with the client and gain insight into their needs. Making usability tests and user feedback sessions part of the regular cycle creates an expectation of, and receptivity towards, these insights. It also makes integrating usability into the process a routine event.
Increased Communication and Collaboration Across Teams
Agile offers an opportunity for increased teamwork within the company. The fast pace will force improved and more frequent communication among production team members. A common understanding of the user stories, as well as the design and direction of the work is critical to successfully producing the output for each development iteration. In other words, working on the design alone in your office and then presenting to the team is not the most efficient method. The entire team must have transparency into each other’s work to fully understand how it will impact their own efforts. Constant communication is not only more efficient, it is required.
The Agile Manifesto doesn’t stop at encouraging a more cohesive production team; it also recommends frequent communication with internal stakeholders. Often, we have our heads down and are so focused on producing our work and meeting release dates that we neglect to look up to insure we are executing appropriately on the business needs. Production teams are ready to execute, so once we start, we rarely look back or check to make sure that we are on track. The Agile Manifesto, in its supporting principles, suggests that “Business people and developers must work together daily throughout the project.” Granted, the “daily”-ness of your interactions with your business owners may be aspirational depending on your organization, but the idea of frequent contact is another opportunity for collaboration. Our business partners may have information that can help inform our choices and priorities; keeping in close contact allows that information to flow directly into the product. It is also important to maintain an open dialogue with partners as we execute on their requirements and business goals. If a team is producing something that is not aligned with the business side of the house, we aren’t doing our part to keep the lights on.
The User Experience
Agile is intended to create and support a more collaborative environment. Leveraging the unique knowledge and skills of each team member, regardless of role or title, provides fertile ground that can lead to the best design solution possible. Take full advantage of this by making sure you are incorporating all team members into your efforts and using them as a source of inspiration and information. Furthermore, allow your work in an Agile environment to open your eyes to what collaboration truly means—and who is included in that definition. Think of your customers and your immediate product team, but also of your internal stakeholders. Tapping into the full complement of resources available to you will allow for the production of a very rich well-informed design. And that will lead to an incredible user experience.
UX and Agile at Involution Studios
We have three teams (development, client, and design) in three geographically disparate places. Agile is helping us focus on specific development areas in the design during the sprints. We dive deep into these areas with everyone in the room or on the phone so we make sure we solve business needs, and define design requirements and technical feasibility in one fell swoop. We make decisions and move on. It’s action-oriented, not “action item”-oriented.
On the downside, the fit and finish is atrocious out-of-the-gate. For instance, I spent at least ten hours on calls with the team last week talking them through changes, as they hot- swapped out code and fixed things in real-time before we showed it to the client.
But Agile also allowed us to uncover a handful of issues that needed client feedback or client input along the way, which we’d each not thought of during the design process or the scoping process. We added these issues to the list and regularly knocked them out on the next set of client calls and emails!
– Lisa Caldwell, director of user experience, Involution Studios
Agile Brings Timely Design Decisions
My first Agile project was at a large company that had a very well-defined design and development process. Typically, the designers would work out a conceptual design based on requirements, present this to the team for feedback, and then iterate and move on to the detailed design. And this worked well, but often meant that I was hashing out designs by myself with only sporadic interaction with the team prior to the formal review sessions.
Once we switched to Agile, there were no review sessions and we had to start meeting constantly. It wasn’t always daily, but it was fairly often. At one point, while designing one small piece of the UI, I checked in with the team and discovered that, because of legacy issues, the design was completely infeasible. So, we sat down and hashed it out and designed a solution together. In the old way of working, that conversation might not have happened until the review, and we would not have addressed it with the same urgency. Agile allowed us to be more efficient and tackle the issue right away and prevent it from impacting the rest of the design.
– Diana Brown