Each day, more and more companies are adopting the agile development methodology while still trying to keep a focus on UX design, which makes for an interesting approach to application design and development. These two disciplines share a focus on iterative development, the desire to receive user feedback frequently, and user input driven development. However, they differ in their focus and deliverables. The agile methodology was created to develop software in manageable chunks of work, while UX design typically focuses largely on the ‘big picture’ and overall experience.
So, how do we design an ideal user experience while still adopting the iterative nature of agile?
Here are a few tips:
Engage in Sprint Zero – Sprint zero is a preliminary sprint that is dedicated exclusively to preparing for the first sprint. Designers are able to take a step back, look at the big picture, and address any initial user experience concerns.
Incorporate Design Spikes – If sprint zero does not allow enough time to create solidified concepts and design solutions, consider adding in design spikes to the agile process. A design spike is a sprint dedicated to strictly user experience related issues. They allow team members to focus on holistic design concerns, rather than detailed design concerns that scrum sprints sometimes emphasize. The goal is to provide design decisions in the form of wireframes, mockups, and sometimes even prototypes.
Create a Flexible Design – When working in agile, UX designers must be flexible because business requirements can change quickly, even in the middle of the sprint. Many designers initially opt to design for the ‘dream state’ when approaching a new project. The dream state represents all of the features, functionality, and visual design that are to be included in the final design. However, designing for the dream state may not work well with agile development. Only some of the features may be developed during a sprint, while others are pushed to the backlog and developed later on down the road. This requires the user experience design to be flexible and segmented, so that when some of the features are removed, the design does not break. Design elements should be able to stand apart, and with one another, in anticipation of only partial development of the dream state design.
When UX designers are able to engage in the initial planning stages of an application, incorporate extra time for design-focused work into their sprints, and create a flexible design, they will be more likely to create a solid user experience. It is very important to obtain a good balance between agile and UX, and to learn how to work within the iterative nature of agile in order to deliver a successful application.