The document discusses user experience (UX) design in an agile development process. It defines UX design and the roles of a UX designer. It then describes some problems with traditional "waterfall" design and how agile UX addresses these by taking an iterative, prototype-driven approach with frequent testing. The benefits of agile UX include chunking work, close developer collaboration, and fast feedback. Challenges include feeling rushed and ensuring designs are truly iterative rather than just additive.
2. What is User Experience (UX) Design? What does a UX Designer DO anyway? Designing in Waterfall Problems with Waterfall Designing in Agile or Agile UX Integrating with Development Advantages Challenges Types of Designers Closing Thoughts Agenda
4. A “user experience” encompasses all aspects of the interactions an individual has with a company, its services, and its products . An exemplary user experience meets current end-user needs and anticipates future needs, exceeds end user expectations , sends a clear and strategic message , and delights the end user with innovative solutions. In Short: Useful, Usable, Desirable Definition
13. Value Efficiency is no longer enough to be competitive in the global market. User experience design: Increases productivity Reduces help desk/support needs Increased conversion rates Reduced training costs Decreased drop off rates Increased time on site and engagement
19. Agile UX The question is not “how do you fit UX into Agile”, its “how do you fit Agile into UX” There is an assumption that the standard set of UX activities and outputs should simply slot into agile development practices unchanged Lets flip the question and ask what would a UX Design project look like if you were to manage it following Agile principals.
20. Agile UX The UX approach is crafted around the same principals that drive our development methodology. It’s an approach that values: Working software over comprehensive documentation to get a faster feedback cycle, and better experience design Highly iterative and test driven design Individuals and interactions over processes and tools
21. Working software over documentation Standard Approach create documents of increasing visual fidelity which imply functional behavior AUX Approach create prototypes of increasing functional and visual fidelity in order to model and test functional behavior and the interactive user experience
22. Highly iterative and test driven We design using short iterative design steps and regular testing cycles, ensuring we craft prototypes that are built with customers in a collaborative manner. The only way to know with any certainty if your solution is the right one is to test it early and often with the people who will use the system . Involving your customers throughout the process also ensures that strategy is aligned with the customer needs
25. Integrating with Development UX Inception Workshops UX Prototype Iteration 1 UX Prototype Iteration 2 UX Prototype Iteration 3 Initial Discovery Research Customer journey Sketch boards Interaction design & wireframes Context, Customer, Scenarios Interactive Prototype Development Usability Test Usability Test Usability Test Usability Test Showcase Showcase Prioritize design analysis UX Prototype Usability Test design analysis UX Prototype Usability Test design analysis UX Prototype Usability Test Discovery Iteration 0 UX Prototype Stories Scoping Showcase Showcase Ongoing Discovery Research Time boxed analysis, development and user testing cycles focusing on collaboration, testing and fast feedback
26. Integrating with Development UX Dev iterating the UX design and Dev implementation tracks simultaneously Short iterative design steps and regular testing cycles, ensuring we craft User Experiences that are built with your customers in a collaborative manner
27. Advantages of AUX Chunking of design enables designers to also be agile to changing requirements Frequent testing and checking back with the end users Close communication with developers Open and visible with less documentation The team becomes responsible for design Working software over beautiful documentation Feasibility is ensured
28. Challenges of AUX Designers often feel rushed Incremental (“add-to”) versus iterative (“re-do”) Agile focuses on the customer, which isn’t always the end-user Developer-centric, developers need to change their mindset too Designers can become a bottle neck, the ratio between designers and developers is key
30. Characteristics Generalist Strong development knowledge Able to implement “guerilla” techniques Excellent communicator Embrace Agile, change their mindset, let go of control
A company may have many touch points with its customers/end-users. For example, I could interact with Apple via the online store, in the physical store, on Itunes, calling customer service. All of these interactions make up the ecology of a user experience, not just the web interface. Customer’s don’t see these touch points as different systems, they see it as interacting with Apple. They must all work together and be useful, usable, and desirable.
UX concentrates on the end-users goals and tries to balance it with business needs. This honeycomb diagram represents the various aspects that makes up a good user experience.
Each individual advocates for their own speciality, and when we work as a team we make sure to balance out all of those needs. BA’s concentrate on the business needs, developers on the technical needs, and user experience designers on the user needs.
Jesse James Garrett came up with this elements of user experience in the early 90s. A user experience designer plays a role in each of the layers. In some large corporations, designers can have roles that only concentrate on information architecture or interaction design or visual design.
The main job of a UX designer is to communicate. Designers have many deliverables, such as wireframes, whose sole purpose is to communicate layout/design ideas to others. It is important that the designer understand the best way to communicate with the team members, clients, and end users, and in some ways work as a liaison between all the groups.
Although I only show one activity per user experience element, there could potentially be several activities per layer. For example, I can observe and conduct research to obtain user needs and site objectives.
The purpose of design is to generate new ideas, insights, and understandings. Through the research, designers often find out that problems being experienced by organizations are actually symptomatic of deeper issues, and then come up with creative solutions to the deep problems. Over time, the multitude of ideas gets refined into a focused direction for the design.
When people are engaging with software, they are doing so to accomplish a goal. Their goal does not involve figuring out your software, so the more invisible that software can be, the more productive will become, which will effect your bottom line. Additionally, design can be used to influence user behavior to help with specific business goals.
Generally, designers go through a research, strategy and design phases which involve the steps shown in the slide. Traditionally, designers will take a long time designing the entire site / system.
The designer throws documentation over the wall to the developer. Theoretically, getting the design done up front will ensure rework later. However there is such a long time between design and implementation, that business requirements often change and rework is necessary anyway. Often time problems appear in later phases that could have been uncovered in the early phases.
With agile, design is no longer thrown over the wall, but rather worked on incrementally. Many times, developers can start building before design is finished, and use command line interfaces to test for input. When the designer gets finished with the design, they no longer just hand off the documentation but rather have a conversation with developers and walk them through the design. Therefore, in agile, we can start building at the first responsible moment.
It’s not about squeezing the current ux design into the agile process, but rather making the ux design process itself more agile.
The good news is that the the principles of UX jive really well with the agile principles.
Instead of having increasingly higher fidelity on paper, in agile designers will have increasingly higher fidelity of interaction. This means that the interactions and functions of the site are going to get tested and fleshed out first, and the visual design will come later in the process. So although the product might not initially be “pretty”, it will be functional and meet user needs.
Testing design is as important as conducting QA for development. You would not release documentation into production without testing it first, why would you do it for design? Testing both the code and design is essential for building quality software.
Design can also broken up into small vertical chunks, where ux designers can “go deep” into one area of the design. So perhaps for the first iteration, a designer will do the information architecture, interaction design, and flows for the home page, and in iteration 2 they will do the same for the home page. This allows designers to also be agile when unexpected changed come up.
The discovery phase is still very important for the project so that designers can understand both the end-users and the business needs, and be able to make educated design decisions. It is also really important that designers get an iteration 0 for every project to be able to prototype and test various prototypes. Although three prototype iteration cycles are presented, the number of iterations will differ based on the project.
The designer stays one iteration ahead of the development so that there is never a moment where development is sitting idle, waiting for design. While working on the next iteration, the designer is also working closely with developers on any adjustments that need to be made in the current iteration. At this point, it is crucial that there is a good ratio between designers and developers, because otherwise the design will start to become a bottleneck.
Design find similar benefits from agile as development, we can begin chunking, being more transparent, and responsive to change.
For AUX to be successful it is important that the entire team is responsible for design. Developers will need to help with cleaning up front-end code, and designers need to be flexible to development constraints.
UX designers come to the field from various entry points that may not be technical. The most successful AUX designers will have a solid technical understanding in order to be able to communicate with designers.
It is important that every agile team attempt to follow agile principles, but not necessarily be dogmatic about the practices. If your team needs more documentation to enable communication, then go for it. Adjust as needed based on your culture and the individuals involved.
Any questions, comments, thoughts? azollers@thoughtworks.com