Just Married: User Centered Design and Agile

Preview:

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

Recommended