At a recent federal/industry roundtable
discussion, Greg Godbout, former director of 18F Consulting, suggested that user
experience can be incorporated into agile development through the use of
something called a Discovery Sprint. GSA's boutique agile shop provides
this service as one of the short-term offerings on its menu. Now called a Design Sprint, following Google Venture's
model, its purpose is "…to assess your team's or organization's readiness,
understand your customers and their needs, brainstorm ideas, and provide
guiding principles and recommendations to move forward."
This advice reflects an understanding that, for all its strengths, one
of agile’s downsides is that it’s not a user centered method. Agile scrum is
optimized for rapid development and release of working code. It’s not optimized
to make products that will get adopted by end users.
Agile can result in products
that work for the consumer, but to do this reliably it’s necessary to make an
agile practice also a user centered
practice. I’m aware of two ways agile scrum
can be refactored to include user centered design.
Idea 1:
Sprint 0 (aka Discovery Sprint or Design Sprint). Add a Sprint
0 in front of development for each release. This is where UX folks can carry out
UX activities that will set the development team up for Sprint 1. Thereafter,
keep UX ahead of development by a duration (i.e. in Sprint 1 do the UX for Sprint
2).
Pro: UX becomes
part of the development process. Hurrah!
Con: When design
is a different class of sprint, the team is siloed. Separated by a sprint, UXers
and developers are never focused on the same things. Sprint 0 works against the
idea of applying the strengths of a multi-disciplinary team to solving
problems. And it breaks iterating on solutions into hand-offs.
Workaround: Have the
whole team participate in the discovery sprint.
This leads to the following idea…
Idea 2:
Agile+Lean UX. Incorporate UX into the work of everyone on the team, using Lean Startup principals and methods. Lean UX is a collaborative, cross functional approach to product development that starts
with a multi-disciplinary team of UXers, coders, product managers, and other
relevant perspectives and skillsets. The team focuses foremost on finding and
solving the right problems. They jointly develop and test hypotheses, ensuring
technical viability and user satisfaction. From these shared understandings the
team continues to iterate, learning more about how the website, app, service,
or product they’re building should behave, building ever-richer features and
elaborations, with each stage tested and corrected in its turn.
Pros:
- User engagement begins at once. Starting with a pool of representative end users lets the team conduct immediate interviews that inform the very first design decisions.
- End user testing is lightweight and continuous. Concepts on possible solutions and low-fidelity prototypes get tested with real users even as the first sprint kicks off. Testing continues throughout design and development.
- All team members do design. Design thinking methods that are proven to be effective are baked into how the team comes up with ideas and solves problems.
Con: Concerned that Agile+Lean UX (or any approach
that deeply incorporates UX into
development) will slow the team down? The counter proposition is that nailing
the right problem and the right solution will deliver the right product, faster
overall.
Tools for
Design Thinking
Here’s a short list of practical “how-tos” for doing rapid and
effective design thinking and user experience within an agile environment.
These can be applied in both Sprint 0 and Agile+Lean UX environments.
- Planning documents (Lean UX Plan, “Ziegler Day Plan”)
- Team design charette exercises (10+10 Design Thinking, Reversing Assumptions)
- Shared understanding methods (Lightning Talks, Business Origami)
- User Assumptions documents (“We Believe” worksheet, Lightweight User Profiles)
- Lo-fi to higher-fi prototypes (paper prototypes, digital wireframes, interactive prototypes)
- Discount user testing (Featherweight UserTesting)
No comments:
Post a Comment