As presented at Big (D)esign 2011. This provides designers, developers, and product owners with tools to build a shared language for UX in Agile development, based on the tenets and terminology of the Agile community.
2. Is
about working across
functional lines
applicable to designers,
developers, product
owners, and managers
how to communicate about
design and development
during the process
Is
intro to Agile or how to get
Agile into your org
critique of Agile or how to
keep Agile out of your org
how to do better design
how to communicate
specific design elements
a definition of a specific
way of practicing Agile UX
how to cram 3 months
worth of design into a 2week iteration
2
6. Who am I?
Why might you care what I
think?
Without music to decorate it,
time is just a bunch of boring
production deadlines or dates
by which bills must be paid.
- Frank Zappa
6
8. For the attention span impaired
Talk about value
Refactor and reprioritize
Speak your team’s language
8
9. You’ve heard this part before
Design is different from development.
Years of waterfall thinking have created a divide.
By-the-book Agile is very development-centric.
Even the best professionals will
crawl into their comfort zone under pressure
use the secret language of their profession to
reinforce their authority
Is anyone surprised that we don’t communicate
well?
9
11. It’s in there, somewhere
Individuals and interactions over processes and tools
11
12. It’s in there, somewhere
Responding to change over following a plan
12
13. Common Goals
What is your goal at work?
Is everyone around you aligned on that goal?
Does everyone agree on the exact details of
everything that gets done each day toward
achieving that goal?
13
15. It’s all about value
Our highest priority is to satisfy the
customer through early and continuous
delivery of valuable software.
[We value] Working software over
comprehensive documentation
http://www.agilemanifesto.org
Deliver valuable working software at the end of
every iteration.
http://www.visualthesaurus.com
15
20. Who decides value?
User value
usability, appeal, efficiency, fitness to purpose
Business value
cost vs return (ROI)
Developer value
velocity and (usually) code quality
Your Product Owner defines value on your team
20
21. Why is user experience valuable?
Failure at the glass inhibits the value of
otherwise completed working
software
Usability is the last few inches of value
delivery
Is your user experience hiding value
from the users, or optimizing it?
21
22. Value questions
What you’ve requested is expensive / risky /
time-consuming / whatever.
Would you be willing to get this valuable
alternative instead, at lower cost / risk / time?
What would you ask for if you knew the project
would be shut down after this iteration?
22
23. Value exercises
Give everyone $100 to spend how they want
Every feature has a price proportional to effort
Adam Polansky “Spread It, Split It, Stack It”
bigdesignevents.com/2011/04/video-spread-it-split-it-stack-it-threemethods-for-qualifying-content/
Luke Hohmann’s “Innovation Games”
www.innovationgames.com
23
28. Planning
Release A
Design Itr 1
Release A
Design Itr 2
Release A
Design Itr 3
Develop Itr 0
Release A
Develop Itr 1
Release A
Develop Itr 2
Release A
Develop Itr 3
Release A
Release B
Design Itr 1
Release B
Design Itr 2
Release B
Develop Itr 1
Release B
Release Plan
Release B
Design Itr 3
Release B
Develop Itr 2
Release B
Develop Itr 3
Release B
Release C
Design Itr 1
Release C
Design Itr 2
Release C
Release Plan
1
2
3
4
5
Weeks
6
7
8
9
10
11
12
13
Release C
Develop Itr 1
14
15
16
17
28
29. Planning – User Story and Task
The fundamental units of work in Agile
Rae Scott
Reservation Agent
Work Experience
Rae Scott has been working as a Reservation Agent for the past 5 years. She is a high school
graduate. When she started her job, Rae spent weeks in company-sponsored training programs in
order to learn the reservation system and other travel-related
information and to understand airline rules and procedures.
After completing her classroom instruction, she worked under
the direct guidance of a supervisor and a lead for three months.
Goals and Tasks
User stories are not always about “users”
Reservation Agent
Experience: 5 years
Makes flight reservations and
accepts payment
As <persona> I want to <do something>
so that I can <achieve a goal>.
Gathers information from the
caller to identify customer needs
and determine appropriate action
Searches for availability, frequent
flyer miles, seats, car rentals,
hotels and history
Documents the conversation for
each call. Reports all actions at
the end of the shift
Needs to be efficient and quick
“I like the flexibility of
schedule that comes
Rae’s main responsibilities are to provide travel information
with this position!”
over the telephone to customers of the airline, make flight
reservations and accept payment over the phone for ticket
purchases. Rae assists callers with trip planning, car rentals,
seat availability, fare information, schedules, tours, meals and
other information relevant to the customer's flight plans. Rae
asks the caller for their travel dates and destination cities. Rae has to have access to the caller’s
frequent flyer miles information as well as to the caller’s family’s frequent flyer miles information as
using family members miles is very common. In addition, she needs to search for class and seats
available for frequent flyer miles travelers.
In the case of any change request, Rae looks up the itinerary based on the confirmation number of
the ticket. Travelers often call with a destination change or to change the schedule to a multi-city trip.
Rae has to have access to rules, fees and penalties associated with the requested changes. When
travelers request seats together with their companions, she needs to look up the seats available for
companion class and the details of the extra charges for that. Rae also has to lookup, change or
confirm car rentals and hotel reservations. At end of each call, Rae documents the conversation and
the decisions made. For some calls she needs to write a special note for Ticketing or Pricing Agents.
At end of each day, Rae needs to create a report with the number of tickets issued each day.
Work Environment
Rae works at the reservation call center which has individual desks four to five feet wide with a
divider between them. She operates a telephone headset and uses the reservation system on a
computer network. Rae uses a 17 inch monitor like the rest of the agents. Since her seniority level is
not that high, she does not always get the shift of her choice. Her shifts vary greatly as reservation
offices are open twenty-four hours a day. The call center environment is often hectic, noisy and
stressful. Rae has to work very efficiently and accurately, often handling multiple calls
simultaneously.
Design and development stories in one repository
Talk about them together
Task
Break it down. Everything can’t happen at once.
29
31. Planning – Iteration planning
How the work for the iteration (Sprint) gets defined
Everyone has to be in the game
or I guarantee you will be less successful
attend all iteration planning and estimating meetings
Iteration zero
aka “big architecture up front”
not always there, but listen for it and use it
31
32. Planning – Velocity
The true development capacity of your Team
When you know the how far the team will get
in an iteration you can keep specification,
design, and development flowing
http://www.chandoo.org
32
33. Planning – Sustainable pace
Iteration velocity bounds the sustainable pace
Detailed vision one step ahead of design
Detailed design one step ahead of
development
… but no more than that
33
34. Coping with change
Embracing change
Agile Manifesto:
We value “Responding
to Change over
Following a Plan”
Agile Principle:
“Welcome changing
requirements, even late
in development. Agile
processes harness
change for the
customer's competitive
advantage.”
http://www.agilemanifesto.org
34
36. Embracing change – Refactoring
(this one is important)
Everybody should be talking about refactoring
Refactor code as it is written
Refactor design as the product grows
Refactor vision as the market moves
36
37. Embracing change – Refactoring
“Why do the product requirements keep changing?”
“Why does the design keep changing?”
“Why are the developers changing code that works?”
“Why can’t <everyone else> just make up their mind??!!”
Beware of these poisonous pseudo-synonyms:
Refactoring ≠ Scope creep
Refactoring ≠ Gold-plating
Refactoring ≠ Rework
37
38. Embracing change – Documentation
Create no unnecessary documentation
do not detail stories that might not get worked
do not rush to high fidelity
Documents should be
lightweight
fast to produce
easily consumed
painless to change
38
39. Embracing change – Simple design
Simplicity – the art of maximizing the amount
of work not done – is essential
http://www.agilemanifesto.org
Build vision
create design
write code
for what you know you need
Defer everything else
39
40. Embracing change – Spike
Focused experiment
very short, as little as a half-day
usually vertical
reduces (or at least bounds) risk
Use design spikes to make fast decisions
paper prototype
A/B test
usability testing on the cheap
Don’t argue about it, spike it out
40
41. On the team
“The Team consists of developers with all the
skills to turn the Product Owner’s
requirements into a potentially releasable
piece of the product by the end of the
Sprint.”
The Scrum Guide, Ken Schwaber & Jeff Sutherland
http://www.scrum.org/scrumguides
41
42. On the team
Definition of done
Pigs and Chickens
Standup, aka Scrum
Pair programming
Iteration demo
42
43. On the team – Definition of done
Done = a potentially shippable increment of the product
How done is “done”?
coded?
unit tested?
documented?
performance
& scale tested?
integrated?
usability tested?
packaged?
installed?
Each Team defines “done”
who has authority to say that it’s not done until it’s usable?
43
44. On the team – Definition of done
There is no partial credit, only Done and Undone
Rollover is considered bad in many organizations
Dangerous anti-patterns
redefining “Done” to prevent rollover
allowing work to be “Done” without
a GUI
44
48. On the team – Pair programming
Design and develop real-time
(really – try it)
Practice pair designing
48
49. On the team – Iteration demo
Get feedback quickly and often
Let the Chickens see progress
Many teams show not-quite-done work
If yours does, show design for the next iteration
49
50. With your secret decoder ring,
now you can:
Turn disagreements into value discussions
what can we do to generate the most value?
Embrace change by refactoring
maximize what is not done – you’ll be smarter later
Speak the Team’s language
common terminology streamlines conversations and
accelerates value delivery
50
Your goal in an Agile environment is to act like a pig and be treated like a pig. I’m here to help.Sound good? I thought so.You can’t cram 3 months of design into a single iteration, but if you think that’s what you’re being asked to do then this presentation should help.
25+ years in software, mostly GUIs.Developer, designer, manager, change agent.Degrees in philosophy and CS – you’ll see both today.Previously with i2, ObjectSpace, Texas Instruments.Director of User Experience for Sabre Airline Solutions in Southlake TX.Enterprise / desktop apps, not e-commerce.Former chapter President DFW UPA.Professional Scrum Master, but that just means I can be on a Scrum Team.Lover of great music & greatart.
25+ years in software, mostly GUIs.Developer, designer, manager, change agent.Degrees in philosophy and CS – you’ll see both today.Previously with i2, ObjectSpace, Texas Instruments.Director of User Experience for Sabre Airline Solutions in Southlake TX.Enterprise / desktop apps, not e-commerce.Former chapter President DFW UPA.Professional Scrum Master, but that just means I can be on a Scrum Team.Lover of great music & greatart.
25+ years in software, mostly GUIs.Developer, designer, manager, change agent.Degrees in philosophy and CS – you’ll see both today.Previously with i2, ObjectSpace, Texas Instruments.Director of User Experience for Sabre Airline Solutions in Southlake TX.Enterprise / desktop apps, not e-commerce.Former chapter President DFW UPA.Professional Scrum Master, but that just means I can be on a Scrum Team.Lover of great music & greatart.
25+ years in software, mostly GUIs.Developer, designer, manager, change agent.Degrees in philosophy and CS – you’ll see both today.Previously with i2, ObjectSpace, Texas Instruments.Director of User Experience for Sabre Airline Solutions in Southlake TX.Enterprise / desktop apps, not e-commerce.Former chapter President DFW UPA.Professional Scrum Master, but that just means I can be on a Scrum Team.Lover of great music & greatart.
Reading most books on Agile development is the opposite of reading “The Inmates are Running the Asylum”.
Agile projects with GUIs do sometimes succeed, so there has to be something in there.My goal here is to make the “secret language” of Agile development translatable for all members of the Agile team.This should improve how UX is embedded into development.I will quote from the Agile Manifesto and the Scrum Guide along the way.All four principles are important, I’ll talk about two initially.
Individuals interact by conversation, but you have to be speaking the same language.If you use the same words to mean the same things your conversations will be far more productive.
This is harder than it sounds.
Other than a common enemy, the best thing to bring people together are common goals.Ask: What is your goal at work?- have a successful product- launch a new product- expand into new markets- get a paycheckconvince people of the importance of usability / designAll very laudable, but how do you make that goal concrete enough to agree on?
Value means many things.If we just say that “value is in the eye of the beholder” it doesn’t give us grounds for resolving disagreement.
The Agile Manifesto tells us what is valuable. Principle #1, Value #2.Agile says that value should be delivered at the end of every iteration. “If the project were shut down after this iteration, will we have delivered value?”In extreme cases some companies have the goal of delivering something of value every week, or even every day.
Detailed functional spec – what the system should do.
Low-fi wireframe – how the pages should be laid out.
Detailed mock-up – a developer could code to this.
What if you meet the functional specs, and it looks beautiful, but it cannot be used?Does it have value?Other than as a great photo for a book jacket, of course.
Is embedded advertising good or bad?What about badly designed software that is first to market?I cannot tell you what has the most value in your organization, but you definitely need to understand it and talk about it.To do that effectively you have to understand your organization’s definition of value – your Product Owner owns that definition.
If the value is not delivered, it does meet the Agile principle.[This is the last slide on value]
I use the generic“iteration” and “stand up” rather than the Scrum terms “sprint” and “Scrum”
I use the generic“iteration” and “stand up” rather than the Scrum terms “sprint” and “Scrum”
Lots of variations on this picture. But how do you know how far ahead design should be? How much lead time is available?How do we know what will get done in each iteration?
It’s hard for designers to break down the work.News flash: it’s hard for developers, too.What if I asked you to break out all the work for a 3-month project first into 1- to 2-week stories?What if I then asked you to break down the next two weeks into tasks of no more than a day or two, or smaller?You have to do that to get your work into the same queue as the developers.
Backlog = what is not yet done
And why don’t you want to get too far ahead?
Because things change.Let us embrace change – that’s so much more affirming than “coping”.
Refactoring is incremental improvement driven by increased knowledge.
These natural frustrations can result in misuse of the language.Rework is the result of oversights or shortcuts, intentional or unintentional, that need to be corrected later.
[Skip this one if time is short.]
A scrum team without UX, dev, and product owner is not a scrum team.Even if you are not a “developer” you have to plug yourself in the same as the developers you work with.
As one of my execs says, “Are you in the game or are you in the bleachers?”
Some say this is the single most important element of Scrum.The Team agrees on what “done” means to them.Good acceptance criteria can help.Who has authority…. YOU DO.
There is a dark side of “done” in some teams.Done/undone, combined with rollover, can create bad behaviors.
Wrong pig & chicken.
No pigs or chickens were harmed in the making of this comic.If you leave here prepared to be a better Pig, I have succeeded.Say it with me: “I AM A PIG!”
Scrum Master should ensure equal status for all Team members.If someone is waiting for you, it will be raised as a “blocked task” (bonus word). Listen for these & respond.
End-of-iteration demo.[This is the last vocab slide]
More than a half-century Tweet-less and Facebook-free.[Click for questions slide]
I cannot tell you what has the most value in your organization, but you definitely need to understand it and talk about it.
I cannot tell you what has the most value in your organization, but you definitely need to understand it and talk about it.
I cannot tell you what has the most value in your organization, but you definitely need to understand it and talk about it.I coach people, especially developers but also designers: Don’t say “We can’t do that”. Say, “Doing what you suggest would have substantial cost <in time, complexity, risk, usability, etc>. Could we do <alternate proposal> instead, which achieves the most important objectives at a lower cost?” To do that effectively you have to understand your organization’s definition of value.