Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General •...

33
Agile Software Development Agile UX Work Kati Kuusinen Researcher @ TUT / Pervasive / IHTE [email protected]

Transcript of Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General •...

Page 1: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Agile Software DevelopmentAgile UX Work

Kati KuusinenResearcher @ TUT / Pervasive / IHTE

[email protected]

Page 2: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Contents

1. Introduction / Motivation2. Agile software development3. User experience work as integral part of SW

development4. How is it done in practice – experiences

from industrial development projects

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 2

Page 3: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

What does AGILE mean in softwaredevelopment?

How can you produce good UserExperience in an Agile software project?

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 3

Page 4: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Can you make money with it?Will people want it?Can you deliver it?

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 4

What is desirable?

UX

BusinessTechnology

Product triangleedited fromCooper.com andHyysalo, S. 2009

Page 5: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Will people want it? – Howdo we know?• Let’s research it thoroughly and design it well

– Big design upfront

• I have an idea – let’s just implement it and see– No design upfront

• Let’s do some research and test it soon inpractice – we can always change it– Some/little design upfront

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 5

Page 6: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Waterfall Development

• Sequential• Phase ready and

correct when movingto next one

• Big design upfront:basically everythingdesigned beforeimplemented

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 6

Requirements

Design

Implementation

Verification

Maintenance

Page 7: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Agile Methods

• Born in 1990’s when noticed that in somecases, waterfall is not an ideal model– You cannot get everything right beforehand– More lightweight methods were needed– Waterfall is still a good model for e.g. in

industries where iterative work is costly

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 7

Page 8: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Agile Manifesto

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 8

Individuals andinteractions

Working software

Customercollaboration

Responding to change

Processes and tools

Comprehensivedocumentation

Contract negotiation

Following a plan

over

over

over

over

while there is value in the items on the right, we value the items on the left more.

…we have come to value:

Page 9: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Agile Methods

TRUE:ü Iterativeü IncrementalüCooperativeüShort feedback cycles

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 9

FALSE:No planningJust codingNo rulesNo documentation

Page 10: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Scrum Framework

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 10

Fourceremonies

ThreeartifactsThree

artifactsThree

artifacts

Page 11: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Scrum Team Members(adopted from Marie-Elise Kontro)

• Product Owner (PO)– owns the product (backlog)– Scope vs. schedule

• Scrum Master (ScM)– owns the process– ”Team servant”

• Development Team– Delivers product increments– Cross-functional and self-organizing

• Other roles are stakeholders

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 11

Page 12: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Lean Development

Maximize the ability to create customer value,work less

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 12

Seven principles:1. Eliminate waste2. Amplify learning3. Decide as late as possible4. Deliver as fast as possible5. Empower the team6. Build integrity in7. See the whole

Page 13: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Kanban

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 13

Agileproductdesign.com

• Visualize• Limit WIP• Manage Flow• Make policies

explicit• Implement

feedback loops• Improve

collaboratively,evolveexperimentally

Page 14: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

ISO 9241-210:2010

Standard for HCD

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 14

VisionConcept creationEvaluationDesign & Development

Page 15: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Contents

1. Introduction / Motivation2. Agile software development3. User experience work as integral part of

SW development4. How is it done in practice – experiences

from numerous development projects

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 15

Page 16: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Agile User ExperienceDevelopment in General• Agile UX is user experience work that is conducted in accordance

with Agile (and Lean) principles and methods, thus integrating (ormerging) UX work and human-centered design practices with Agile(and Lean) development practices

• The goal is to adapt an efficient way of working that constantly leadsto desired user experience of the outcome– The desired level of outcome quality and project effort naturally varies

• Business, user, and technical requirements should be in line andsupport each other

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 16

Page 17: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Agile User ExperienceDevelopment in General• UX work aims to Lean development; less unneeded features, less

expensive correcting work• Leads to cumulative savings in time, in maintenance costs, in

development costs, training and manual costs• Leads to better usability, efficiency, effectiveness and satisfaction• Leads to better reputation, increased customer loyalty• Systematizing UX work is not a cost, it is an investment• Less repeated work by templates, guidelines, heuristics, metrics…• Systematic and early work decreases development and

maintenance costs (rework, refactoring, maintaining unneededfeatures etc.)

• Systematic and early UX work increases product quality

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 17

Page 18: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

UX Work

• Is iterative• Emphasizes early phases• Is cooperative• Quality over quantity• Aims at lean process & outcome• less wasteful features, less expensive

wasteful work• Aims at happy people :)

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 18

Page 19: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

A Commonly RecommendedAgile UX Model

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 19

D. Sy 2007

Page 20: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

U-Scrum – Involving a UX-PO(Adapted from M. Singh 2008)

PO

UX-PO

Developers

Architects

Testers

UX Designers

Scrum master

Customer

Stakeholders

Backlog

UX vision

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 20

Page 21: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Scrum Process with UX Tasks

21-March-2014

Katu guest lecture – Kati Kuusinen – Spring2014 21

Sprint backlogSprint

Tasks generatedfrom sprint backlog

Daily Scrum

Productbacklog

New functionsthat can be

demonstrated

1-2 weeks

24 h

Pyrähdyksensuunnittelu-palaveri

Sprint review

RetrospectiveSprintplanningmeeting

Vision V, Evaluation E, Concept creation C, Design and Development D&D, and Shipping S

Page 22: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Common Agile UX Practices

• Little/Some Design Up Front, LDUF (inherently an agile practice)• Close collaboration• Prototyping (particularly lowFi)

– at early phases, also as a communication tool• User stories• User testing• Inspection evaluation / usability inspection• Refining the UI for the next iteration• UX one or two sprints ahead of development• Big picture of the project needs to be maintained• Scenarios & Personas are commonly in use

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 22

Page 23: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Recommended Practices

• Cooperation is a key issue• ”All together from early on” (J. Coplien)

• UX, architects, developers, customers, business…

• Emphasizing early work, it is affordable• Parallel design with short feedback cycles

• Best way to have a good idea is to have lots of ideas, don’t fixwith one idea too early

• UX team should be agile too, e.g. UX sprints• However, some upfront design is needed• Good UX comes from the process and cooperation. UX team

should lead the UX work, not serve development on order-basis• Keeping the big picture in mind is essential

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 23

Page 24: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

General Advice

• Heavier studies conducted outside project work• Generalize & reuse

• Define & understand ’good user experience’• Easy to use, fun, efficient, aesthetic, convincing, reliable…

• Fail and learn quickly, waste cheap time• Cooperate! Business, UX, architects, developers…

• Early and continuous feedback• From users, developers, customers, other stakeholders

• Many methods and ways of working may lead toexcellent outcome, no one single right way exists

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 24

Page 25: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Contents

1. Introduction / Motivation2. Agile software development3. User experience work as integral part of SW

development4. How is it done in practice – experiences

from numerous development projects

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 25

Page 26: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Some Tasks UX Specialistscommonly Participate• Design: determining HOW the system should work

– not what it should look like (graphical design)

• Sales, budgeting / pricing• Feasibility studies, roadmap planning• Design upfront (planning, doing user studies and design work before

implementation is started)• Backlog and feature creation, clarifying user requirements• Planning, conducting and analyzing user studies and tests• Designing the user interaction or user flow (the core of UX designer’s work)

• Doing graphic design for the user interface• Implementing the user interface• Reviewing user interface designs or implementation

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 26

Page 27: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Communicating UX Design forDevelopment• High fidelity or photorealistic images of UI screens (such as PhotoShop)

• Wireframe images with explanation texts (interaction and navigationpresented with e.g. text and arrows)

• References to style guides (guidance for selecting UI components and styles)

• Paper prototypes (physical low-fidelity models. E.g. cardboard, post-it)

• Low-fidelity software prototypes (sketches of screens, mockups, storyboards.E.g. Balsamiq)

• Mid-fidelity software prototypes (fairly detailed but simple and approximatemodel with simulated functionality. E.g. PowerPoint, MS Visio, Axure RP, Omnigraffle)

• High-fidelity software prototypes (detailed graphics with some actualfunctionality (often simulated back-end), such as AppSketcher, FluidUI, Adobe FlashCatalyst)

• Working software, source code (such as HTML and CSS)

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 27

Page 28: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Research Example

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 28

Multiple case study of three mobile development projects supervised by asingle product owner in a company

Reported in: Kuusinen, K., Mikkonen, T. Designing User Experience forMobile Apps: Long-Term Product Owner Perspective. In Proc. of the 20thAsia-Pacific Software Engineering Conference 2013 (APSEC'13), pp. 535-540, IEEE Computer Society Order Number E5158, December 2013

Page 29: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Project team locations

21-March-2014

Katu guest lecture – Kati Kuusinen – Spring2014 29

Page 30: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Setting in project 1

PO

UX-PO

Developer

Developer

Scrum Master

Backlog

• UX on product level• Early work• Has power of decision

• Learning between PO and UX-PO• PO able to do UX tasks• UX able to do PO tasks

• High overhead costs• Two POs coordinating a

distributed team• Whom to contact, PO or UX-PO

Developer

Developer

Developer

Communication

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 30

Page 31: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Setting in project 2

PO

WP Developer

VisualDesigner

AndroidDeveloper

iOS Developers

Backlog

• Shared UX tasks• User studies (PO)• Visual design (UX)• Platform style (Developer)

• Everyone can be a UX person• Shared ownership

• Everybody participated to ideation• Developers (WP and Android) had

face-to-face communication withUX person

• Easy to get immediateanswer

• UX vision should be quite clearwhen using this approach

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 31

Page 32: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Setting in project 3

PO

WP Developer

iOSDeveloper

AndroidDeveloper

UX Designer

Backlog

• Shared UX tasks• UX vision, user studies (PO)• Visual design and HTML style

(UX)• Platform style (Developer)

• Design task allocation betweendeveloper and UX designer

• UX designer role needs to bestronger in distributed project

• Ensuring UX implementationquality

• Higher cost of communication dueto distribution of the team

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 32

Page 33: Agile Software Development Agile UX Work€¦ · Agile User Experience Development in General • Agile UX is user experience work that is conducted in accordance with Agile (and

Summary

• UX work should be included in softwaredevelopment practices

• Some design upfront (DUF) is usually needed– Studying and concepting before starting development

• UX, business, and technical goals should bealigned

• Agile principles should be applied on UX workalso: short feedback cycles (iterations), constantcommunication, limited DUF etc.

21-March-2014Katu guest lecture – Kati Kuusinen – Spring 2014 33