SlideShare a Scribd company logo
UCD
introduction
A basic intro to user-centric design, as it relates to building software.
great software
at high speed
(the goal)
play book
Successful teams know what plays they’re running, why, and how. The principles of UCD (and IxD) help you setup
plays.
topics
topics
context
define
q&a
source:
source:
alan cooper
Godfather in Silicon Valley. OG.
indelible
Alan Cooper’s ideas have left an indelible mark on how software design’s approached.
dancing bear
Imagine one end of a town square, where a man bring’s in a bear, dressed in a tutu and clown hat, and gets the
bear to dance. People’s attention is captivated that is even possible. At the other end of the square as a world class
dancer pirouettes and piqué’s, few notice. As time passes, the novelty of the dancing bear wear’s off, and the
absence of technique and refinement becomes obvious. The human dancer stands out with consistency, emotion,
technique. We must beware of “dancing bear” technology products that distract with novelty, but have little long-
term value.
Example products, bleeding edge, don’t produce quality output, but stood out because, “holy shit this works!”.
UCD / IxD Introduction - User centric design, interaction design
UCD / IxD Introduction - User centric design, interaction design
context
In earlier eras of software development, applications were “system centric”. The CPU, memory, and graphics
abilities were limited and therefore defined what could be done. The physical size of a punchcard determined how
much information could be carried. These limitations have evaporated, increasing flexibility, but requiring more
design guidance to produce coherent products.
software quality
What the computer could do used to define what software did.
software quality
over time
Over time, technical capability has improved, and so has collective knowledge about building effective & intuitive
applications.
daily use
Daily use software is especially demanding of an over-arching approach to maintain coherence, and intuitive
experiences.
improvement?
How many have observed improvements in software in the past 10-20 years? Clearly, the proliferation of effective,
intuitive software has increased.
dog’s breakfast?
Still, we see applications that are mash-up of too much noise and incoherent navigation.
tolerance for bad design
impatience / friction
Gmail, iPhone, Amazon, TurboTax, Pinterest have raised the bar. As builders, we must elevate our craft. Tolerance
for friction and incoherence has diminished.
our context
What’s expected of software builders?
an engineer should:
code
test
do the interface
prototype
manage
scope
spec
document
communicate
be fast
pontificate
know everything
Many, many things are expected (concurrently).
TOO MUCH
(overload)
TOO MUCH
not fun
Over time, this results in reduced problem solving capability, job satisfaction, and output quality.
TOO MUCH
inefficient
Poor use of resources.
TOO MUCH
incomplete
Key parts of build and support get missed.
– scramble –
– too much –
– don’t support –
– crap –
– scramble –
– too much –
– don’t support –
– crap –
( repeat )
Engineering organizations get stuck in loops.
It becomes a continuous scramble to maintain systems.
break the cycle
shake shit up
get out of our comfort zone
This requires revisiting the same thing 3, 4, 5 times. Being brutally honest. Keeping egos in check. Nurturing the
best ideas.
what’s UCD?
What is UCD and can it help ameliorate these issues, and increase quality?
3 powerful tools
personas
goals
interactions
personas
personas
(not actual people)
If you build based on actual person, given enough time, then that person will inevitably dictate features that are
specific to them. Examples; applications become entirely mouse-driven, keyboard centric, or focused on granular
data to the extent that they bury the key insights they’re supposed to surface.
goals
tasks aren’t goals
A task is to secure-copy modified image slices to the server. A goal is to quickly replace content with an audit trail.
specificity
Goals need to be interrogated, refined, polished; not taken at face value in one discussion. Missed test cases,
incompatible features, and unanticipated risks come from a lack of specificity.
personal
Goals can be divided into 4 types. All types need to be considered. Example personal goals; 1. Don’t feel stupid
while using application. 2. Commensurate effort: Help user feel like amount of effort makes sense for desired
outcome.
professional
Examples: Launch quicker enough to capture market-share, beat competition.
practical
Accomplish the nuts and bolts. Example; accurately record orders. Create numerical model of business.
false
Some goals bleed into the realm of being a “false goal”. Example: Reducing processor use is a false goal if it’s
invisible to users, and not anticipated to become visible (as more people use the application). These are means to
an end, not ends in themselves.
clarity of purpose
If clarity of purpose is lacking, the underlying goals need more attention.
IxD
Personas lead to goals. Goals lead to…an interaction with a piece of software. As a result, the discipline is called
Interaction Design > IxD.
how we experience software
Interactions reflect how we experience software.
how we experience software
loops
With each sitting, we go thru a loop.
IxD
Designing and optimizing coherent loops is the focus of IxD.
user centric
What does it mean to be user “centric”.
not user driven
Not to be confused with user “driven”.
not user driven
Many software teams find themselves stuck in patterns that look something like this. End-users are given override
authority to put anything into an application.
not user driven
This shift is subtle at first, but takes over, and then drives the entire endeavor.
not user driven
not user interface
elements
This leads to very granular interface and business element determination by end-users.
not user driven
not user features
timing
This results in an unmanaged flow of features, and expectations about time requirements.
not user driven
not user features
timing
FML!
Maintaining a coherent experience, reliable code, clean data becomes impossible.
riding the tiger
This is called…riding the tiger.
diner that runs the kitchen
Another analogy…
where can we take this?
How can this be put in place?
what do we have?
Take stock
what do we have?
personas
goals
ask the right questions
Don’t assume we ask the right questions in the 1st, 2nd pass.
build quickly, without
making silly mistakes
Let the method guide us, not ride us.
can’t be done by one
By definition, is a collaborative endeavor.
can’t be done by one person
skill set
group
layer
This will fail if key pieces don’t get skin in the game.
define our environment
We know how many products, but how many domains do we have? How many applications? How many platforms
should this turn into?
define our environmentneeds
get out of our comfort zone
We’re used to working in the business, so working on the business will feel uncomfortable at first.
evolve how we do things
designing an entire experience
from sit-down to stand-up
Our overall goal is to design the ongoing software experiences that we require.
best in breed examples:
Amazon check-out
Gmail read/reply
Pinterest browse
JIRA list sorting
There’s good info out there! Don’t reinvent the wheel.
good artists copy
good artists copy
great artists steal
repeat:
user centric
personas > goals > interactions
coherence
Maintain coherence.
agility
Increase agility.
sanity
Improve sanity.
designed, not
incidental software
Good software doesn’t come out of nowhere, or happen by accident.
If Interaction Design (IxD) represents the yin of our ideation, then what about the yang, our production method??
How can we complete the picture?
Agile
Agile is the other half of this story. The method we can use to turn the designs into reality.
!
We can talk about that…
...next time
–ernest hemmingway
“write drunk, edit sober.”
Parting words of wisdom…
q&a

More Related Content

UCD / IxD Introduction - User centric design, interaction design