I have been hearing a lot of buzz around Agile and User Experience (UX) Design in the tech industry. Most of my UX colleagues seem to have come to the conclusion that the two methodologies cannot work together. Well, I am happy to report that I just finished up my first true Agile UX project and it was successful.
Let me start by defining the terms Agile and UX so that we are all on the same page. Agile is a development methodology that values customer satisfaction, adaptation to change, quick delivery, and team collaboration over processes, tools, and bulky documentation. UX Design is a discipline that focuses on creating effective experiences for users via research, measurement, and validation.
Let's look at the Agile Manifesto. It clearly states that Agile values "Individuals and interactions, working software, customer collaboration, and responding to change."
Both Agile and UX rate shipping early and often as a high priority. They both value collaboration with users and responding quickly to change. Agile enables software to be built and pushed out to users quickly. UX allows for development teams to understand needs of users and to quickly adjust to user feedback. So far it seems like the two were destined for each other, right?
Here is where it gets tricky. The beauty of true UX Design is that it encompasses all elements of the user experience including: Interaction Design, Visual Design, Communication, Computer Science, Information Architecture, Industrial Design, Psychology, Philosophy, Cognitive Science, Sociology, Motion Design, and even Sound Engineering. It is nearly impossible to find a UX professional that is fully versed in all aspects of UX and many development teams are lucky to have one UX designer at all. UX designers understand how important User Experience is to the success of a product, so they spend as much time as possible researching users while trying to fill all of the essential UX roles.
Typically the UX process is quite lengthy. In depth UX research is extremely beneficial to the success of a product, but it can significantly slow down the development process. Since Agile values quick delivery, heavy research can be its worst enemy. So how can we fit a fully developed UX process into an Agile project?
Well, it isn't easy. Both sides must be willing to give up some of their values without compromising the integrity of the project.
Agile development is broken up into short development windows called Sprints. These are usually 2-4 weeks long. True Agile teams will want to start development as soon as possible. This is where some of the methodology sacrifices come into place. It is important for the entire team to understand the importance of collecting user research before development begins. For our recent Agile UX project, we started off the project with what we called "Sprint 0". This short time period allowed our UX designers to do a significant amount of research before we began development. Our designers were able to strip the research process down to the bare necessities. Instead of being caught up in long-term research, we focused on talking to real users, discovering the major problems, and establishing the core business goals up front.
UX Professionals are a wonderful resource for understanding stakeholders. Many have been trained in human factors and have a strong understanding of how to elicit important information via interviews, observations, and research. As part of Sprint 0, our Experience Strategist (a type of UX designer) met with all of the stakeholders to understand key business goals and create a list of Business Success Criteria.
Moving forward into development Sprints, my Agile UX team focused on the Agile principal of delivering the essential functionality as quickly as possible. Because Usability is one of the fundamental UX values, the UX designers ran usability tests on our working software during the first two days of each Sprint. This gave the UX Designers room for hands on research while allowing the developers to move forward with development.
After conducting quick usability tests, the UX designer will have the ability to provide insight to the rest of the development team. Naturally, UX suggestions carry a lot of weight with User Interface (UI) design and development decisions. The UX designer is also responsible for holding the development team to UX standards throughout the entire process.
The number one benefit of using Agile and UX together is that both developers and designers have access to each other at all times. In older development methodologies such as Waterfall, an outdated linear system that leads to high risk and a lot of waste, designers would finalize a design and then send it off to get developed. There was no feedback cycle, little user research, and a lot of unnecessary cost down the line (to fix bugs and usability issues). Because designers and developers are working collaboratively, many issues can be solved early in the process eliminating a lot of risk.
Agile allows for the entire team to contribute to each part of the development process. Though there may only be one UX designer on your team, every member should have the opportunity to contribute to the overall UX of the product. Each team member owning a part of the design is beneficial because it increases team motivation and collaboration throughout the entire process. My team is a great example of this. Because we all played a major part in design decisions, we all feel like the final product is our own.
Fail early and fail often. For decades, the tech industry has been following slow, ungainly development processes. Teaching enterprise executives that failure is actually a powerful development technique, is not an easy task. By testing users each Sprint, our development team was able to identify key problems quickly and address them in a short period of time.
Integrating UX into an Agile development methodology proved very successful for us. Understanding our users' needs and desires helped us avoid risky design and development decisions while in production. The most valuable lesson learned was that usability should not be scarified for scope. Testing users often allowed for actual users to contribute to the overall product concept and design.