Now that organizations realize the importance of a good customer experience, teams using Agile now face unique challenges. How does an Agile team working in Scrum manner follow a design process that could take weeks? How do you validate and test the experience? How do you instill the importance of user experience in your development teams?
Barriers to delivering a good customer or user experience include not having the right user experience talent (user experience designers, information architects, and others). The design process may seem foreign, or a traditional design process takes too long to implement in a scrum. Some may leave the user interface work to the development team, with a disappointing result.
Lean UX, introduced by Jeff Gothelf and Josh Seiden in their 2013 book Lean UX: Applying Lean Principles to Improve User Experience, removes these barriers.
If you haven’t read it, I strongly encourage you to. Lean UX is based on a series of lean core principles applied to the design process. Fundamentally, you build the experience, test the experience, and measure effectiveness so changes can be made. Sounds like a logical fit with Agile, right? Well, yes and no. Let’s dive into more about how Lean UX works.
With Lean UX, the whole team is involved in the design process. This means the user experience types are mixed with the technical and quality team members. This team conducts white-boarding and concept work to get to a rapid prototype in a matter of hours or days. Very little documentation is created; the interactive prototype is the deliverable. The prototype is tested with the users to determine what modifications are needed.
This is a powerful process if managed correctly, but you need to have the right talent and dynamics in place to move from concept to prototyping in a tight timeframe. You also need a mid- to advanced level of Agile maturity to design in a traditional scrum. You may need to extend your scrum timeframe. A lot of work will be needed in a traditional scrum cycle to “right-size” the design process.
UX Implementation Models
Examine a these areas when deciding the best way to deliver a good user experience:
- Project Focus: Identify the type of project and experience you are trying to deliver. Are you delivering a heavy B2C solution where there will be a lot of customer interaction, or is your project a line of business application where users are doing a job function? The characteristics of the project will help you identify how to best incorporate Lean UX into your process.
- Organizational Maturity: If you have mid- to high-level of Agile delivery maturity, you will be able to apply more Lean UX principles.
- UX/UI Talent: Do you have internal UX/UI talent or do you need to leverage outside partners/resources? Often times if you need to leverage outside talent it is challenging to include their activities within a normal scrum process.
- Design Processes: What organizational design processes do you use? The design process and associated artifacts needs to be adjusted to fit into an agile framework.
- Feedback Loops: It is important to establish a feedback process. How this is managed and incorporated will have a direct impact into your UX development and your agile approach.
- Timelines: What are your overall timelines and general release schedule? You may find that LeanUX is overkill in some cases.
After you evaluate these criteria, consider different implementation models. Here are three that will help support the UX design and development for Agile environments. Each model has unique pros, and cons.
The Unified Team
Here, your scrum team consists of user experience talent (e.g. UI/UX designers, usability consultants, content strategists, and others) who participate in the sprint, in which Traditional Lean UX is leveraged heavily. All the principles mentioned above are performed within the sprint. This works best where the end goal is a B2C experience and the organization has a high degree of agile maturity. Extend your sprint time to three to four weeks and focus on which design components are needed. Determine up front how to implement your feedback processes.
The Staggered Approach
Offset your design and development sprints; adjust the design to be several cycles ahead or to be closer to development based on your agile velocity.
This works best where you are delivering more of an application like experience or perhaps have a lack of UX talent. Establish a set of design patterns or libraries up front to be used in each sprint. Your end product of each design sprint should be a prototype and starting point for the development sprint.
The Sprint 0 approach moves most of the core user experience activities into an upfront sprint. Often this sprint is used to validate product direction, provide product grooming, and initial A/B testing.
This works best for an experience-driven or application-driven solution. If you are using outside user experience talent like an agency or design firm, this approach works well. The big negative here is that you sacrifice speed and time to market. You might sacrifice feedback loops in development sprints and their effectiveness. Create design patterns and libraries to support development. Include UX/UI in each sprint.
Lean UX provides a great roadmap for delivering a good user experience. If you examine your project dynamics and organizational maturity, you will be a good position to include Lean UX fundamentals in your agile processes.