Agile UX: IXDA Austin
Tonight, Lynn Pausic of Expero presented to IXDA Austin with the suggestion that Agile & UX are possible. We met at frog (beautiful offices) and turnout was excellent.
Here are my notes from her presentation.
For UX & Agile to coexist, UX must first understand what Agile is.
- “Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.”
- UXers often don’t like it because requirements are vague. And it moves so fast — there’s often not time for design, there’s often not time for testing.
- Why the disconnect? Agile is a software development process. Why are we trying to force-fit Agile into OTHER disciplines?
- Think about Agile as a set of principles that can be applied to any discipline.
- Waterfall: One phase before the next. Can be difficult to judge UX quality until very late. Requirements (the base of the project) can change when cycles are too long - making work from subseuqent other phases irrelevant.
- Pure Agile: Development owns requirements, design, implementation, and testing. This can suck, because developers aren’t expects are requirements definition, IxD, usability, etc.
- Scrum: Project management methodology. Working closely together. Quickly reacting to changing requirements.
- The Mashup: Traditional Waterfall Requirements Gathering & Design, Agilee Development
- None of these work perfectly.
Getting out of the Deliverables Business (Lean UX)
- Judge Receptivity: Where is your organization today?
- Determine Current Method(s)
- Understand Release and UX Quality Goals. UX has to be a part of the MEASURED SUCCESS of a project.
- Adhere to specific time cycles for judging progress.
- Find Your Cadence
Guidelines for Integrating UX and Agile
- Work toward the bigger picture and near term in parellel. You can’t focus on one thing at a time in Agile — that’s waterfall.
- Customer (user) collaboration
- Multi-tasking during a single cycle (Development does this every sprint)
- Mingle with other disciplines
Why Agile is GOOD for UX (A countdown)
Unlike in waterfall, where we often don’t see development products until Alpha, Agile calls for code that’s always in a releasable state. It should be possible to judge UX progress and quality at any time. Additionally, there should be sprint demos. (On the flip side, UX needs to be transparent with the designs and associate clear status with each of them.)
3. Built-in Quality Control. Sprint Zero is the UX Designer’s best friend. Use it to:
- Set UX Quality goals for the release
- Get familiar with Epics
- Identify Users (if not already done)
- UX input on backlog (especially if the backlog already exists)
- Propose a UX cadence that will support release goals
- Do a little bit of design
- UX needs to have input on the user acceptance criteria for each user story.
2. Customer (End User) Collaboration
- End-user and the “customer” might be different.
- User feedback should be gathered on design prototypes and other artifacts NOT JUST implemented code.
- Purists - Development driving user research — not best skillset match.
- Be sure that these activities are baked into the cadence. (Maybe it’s user testing every other Wednesday.)
- Get comfortable that with ambiguity.
- We don’t know what we’ll be testing.
- Or what users we’ll need to test
- To reach release goals, this is our expected cadence
- Internal/First Line of Defence (Professional Services, Application Engineers, or Support folks)
- Customers, prospects, etc.
- Do your job — communicate findings. Don’t freak out about polish. Use low-fidelity outputs.
- Encourage observation during user sessions for transparency
- If management needs “fancy reports”, pick a milestone. Something significant. Don’t do it all the time.
- Triage feedback: Put it into either New Functionality, Feature Enhancements, Usability Issues, Defects. Product Backlog. Design Backlog. Own the responsibility for having action TAKEN on each finding.
1. Highly Iterative.
UXers need to be comfortable in murkier waters. Don’t be TOO top down, TOO bottom up, or TOO fast. UX needs to understand the users, the bigger picture, and the context — not the eensy weensy details. But development wants chunks of work that are easy to comprehend, estimate, and test. Therein lies the rub. Understanding where others come from can help you meet the needs or each party instead of focusing on the conflict about the “right” way to do it.
You can learn more about Lynn’s approach to Agile UX in her blog series, entitled, “Integrating UX and Agile.”