Upload
memi-beltrame
View
110
Download
3
Tags:
Embed Size (px)
DESCRIPTION
User Centred Design (UCD) and Agile Development are two of the most exciting and productive Methods to achieve high quality appication both desired by the customers and loved by the users. UCD and Agile Development are though often said to be impossible to combine and that despite their great advantages any attempt would most certainly lead to disaster. This talk picks up the main points of both methods, shows the key issues and tries to offer a pragmatic approach on how to successfully combine User Centered Design and Agile Development.
Citation preview
JUST MARRIEDMemi Beltrame
phpDay Verona May 13th 2011
User Centered Design and Agile
Working on the web since 1997+10 years of php Degree in cinematographyFilm & photo enthusiast
I work for Liip in ZurichWe do Agile Web DevelopmentI run the UX Team
About me
Bringing UCD and Agile together.
It‘s a process ofChange Management
Nobody likes change.
Be prepared:It‘s a long process
Be prepared:You‘ll find a lot of obstacles
You‘ll hear a lot of excuses
Be prepared:You‘re in for a ride full ofself-doubt & trust issues
Be prepared:You can‘t do it alone
Be prepared:Every single person has to be
informed, involved & motivated
This talk is about what it takes to bring UCD and Agile together
User Centered Design?
User = most likely not you or me
or the customer
No User Centered Designwithout research.
• Who are your users?
• How do they tick?• What are their tasks?
User Centered: Business objectives based on
satisfying user-needs
New Paradigm: The return is generated by
offering real value to real users
Business Centered: Business objectives based on
organizational constraints
„Our site must show all products by type“
„We want to have more traffic“
„We want to centralize our websites“
In contrast to
Design? Be careful.
Design ≠ Grafic Design
- Information design- Workflow design- Functional design- Interaction design- Grafic design
User Centered Design and Development
User Centered Design
UCD is often perceived as a waterfall process
The problem is not the UCD process
The problem is its integration
The the standard project structure
ImplementationDesign
Handover
FAILYour implementation may be agile.This global structure is not.
User Centered Design and Agile have to be one process.
Design is too important to leave it to designers.
Development is too important to leave it to developers.
The Agile Approach
Implementation Design
It‘s all about involvement.
Involvement
Aim for:Early developer involvement
Make Developers take part in the Ideation Process
Involvement
Implementation Design
What happens in theideation process?
User Centered Designfollows the 5S Pattern
The Process
Mission, Focus Groups
Personas, Tasks
Workflows, Information Architecture
Prototypes, Design Patterns
Screens
Well executed UCD is an iterative process of refinement
Research > Ideate > Test > AdaptResearch > Ideate > Test > Adapt
Research > Ideate > Test > Adapt
Research > Ideate > Test > AdaptResearch > Ideate > Test > Adapt
How Developers can contribute during ideation
Involvement
• Help finding good and technically viable solutions
• Help avoiding conceptual failures due to technical limitations
Benefits of early developer involvement:
• Higher identification with the users, costumer & project
• Less knowledge transfer needed
• Higher acceptance, because they could help & contribute
Aim for:Constant designer involvement
Make Designers take part in the Development Process
Involvement
Implementation Design
What happens in thedevelopment process?
The translation of a concept into a product
Product Backlog
Sprint Backlog
Sprint(n days)
24hDaily
Meeting
Product Increment
BacklogTasks
SprintPlanning
SprintReview
The Agile Process
How Designers can contribute during implementation
Involvement
• Design reviews
• Coaching & pair design
• Defining and verifying design deliverables
Benefits of constant designer involvement:
• Quality Assurance of usability & design
• Developers have a design coach• Less refactoring due to bad interface
implementation
Important possibilities of early developer involvement
Strategy Have developers assist the creation of the projects Mission and establishing the Focus Groups
Important possibilities of involvement
Scope Have developers take part in the creation of the Personas and in the definition of their main Tasks.
Important possibilities of involvement
Structure This is the moment when a lot of prioritization happens: - workflows are defined - the relevant vs the costly are evaluated
Let the developers help make these evaluations
Important possibilities of involvement
Structure Important possibilities of involvement
Cost
Business relevance
Task
Task
Task
Task
This helps developers in getting a feeling for:
• What matters to the user
• What matters tothe customer
Task
Skeleton Important possibilities of involvement
Make developers review prototypes
Have developers sit in prototype-testing sessions
Surface Important possibilities of involvement
Make developers review visual designs
Give developers functional prototypes of complex interactions.
Important possibilities of constant designer involvement
Definition of done Important possibilities of involvement
Take the user experience and user centered design view into account when formulating the DoD.
Sprint planning Important possibilities of involvement
Have a designer review the user stories
User StoriesImportant possibilities of involvement
Have designers watch & label user stories
This works for virtual and physical boards.
Dailies Important possibilities of involvement
Have designers take part
They will know what is going on and they can help with impediments
Reviewing Work Important possibilities of involvement
Have designers review the work done
Here is where labeling becomes important and allows designers to be autonomous.
Usability TestingImportant possibilities of involvement
Have designers set up usability tests
Empowerment
Collective Code Ownership Agile
Collective Design Ownership UCD & Agile
Empower developers to understand design decisions
Empower developers to make responsible design decisions
Have design principles
Design principles for developers:
1. Be consistent2. Give humanoid feedback3. Minimize distractions
4. Observe alignments & orientations5. Group elements according to function6. Use color and form to convey meaning7. Offer undo8. Details are not just details:
They make the product, so honor them.
makeyourown!
Usability Testing
Very uncomfortable topic.
Developer concern #1:
The race condition
Usability testing racing condition
Tests for sprint 1
done during sprint 2
have effect on sprint 3
BUT: • Features are almost never evolve linearly
• Topics of sprints differ from one sprint to another
• Usabilty Testing during the same sprint creates unneccessary stress
A lot of excuses.
„It‘s not in the budget“
It costs virtually nothing- Hallway/guerilla testing- Remote testing
„Didn‘t you test the prototype“
Would you drive a car that relies on prototype testing?
„We don‘t want others to see what we are working on“
You don‘t want others to be excited about your
new product?
„We know it works.“
You never know until you know.
Inform, Involve & Motivate
Inform- Who- What- Why- Coach
Involve- Meet up- Assign tasks- Empower- Network
Motivate- Give Control- Be Positive- Celebrate- Show respect
Thanks!
I‘m @bratwurstkomet
This talk: liip.to/UCDagile
liip.ch * memibeltrame.ch