36
Agile UX: the ultimate in user- centred software engineering? Prof Helen Sharp, Centre for Research in Computing The Open University, UK [email protected] IRIS/SCIS 2014 With acknowledgement to: Jennifer Ferreira, Laura Plonka, Hugh Robinson, and all my industrial collaborators

Agile UX: the ultimate in user- centred software engineering?people.cs.aau.dk/~nis/iris2014/IRIS 2014 keynote Helen Sharp.pdf · Overview! • Agile software development! • User-centred

  • Upload
    buiphuc

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Agile UX: the ultimate in user-centred software engineering?

Prof Helen Sharp, Centre for Research in Computing

The Open University, UK [email protected]

IRIS/SCIS 2014

With acknowledgement to: Jennifer Ferreira, Laura Plonka, Hugh Robinson, and all my industrial collaborators

My perspective

•  Software practitioner and scrum master •  Empirical studies of software practice •  Human and social aspects •  Agile studies in practice since late 1990s

•  Taught HCI/Interaction Design since 1990 •  Interaction design textbook

Overview •  Agile software development •  User-centred software engineering, UX design,

and Agile UX –  From the designers’ perspective –  From the developers’ perspective

•  Agile UX: approaches and trends •  Problems persist: 4 potential research questions •  So is Agile UX the ultimate in user-centred

software engineering?

“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

•  Individuals and interactions over processes and tools •  Working software over comprehensive documentation •  Customer collaboration over contract negotiation •  Responding to change over following a plan

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

Agile software development

http://agilemanifesto.org

•  Many different ‘brands’

•  The cost-time-scope trade-off

Agile software development

traditional (plan-based) agile

•  Iterative and incremental delivery •  Short timeboxes/iterations, or limited

‘wip’ (Kanban) •  Disciplined team working

Key characteristics of agile software development

•  Minimal documentation, increased communication •  Regular demonstrations to product owner (user?)

•  Cross-functional teams

Overview •  Agile software development •  User-centred software engineering, UX design,

and Agile UX –  From the designers’ perspective –  From the developers’ perspective

•  Agile UX: approaches and trends •  Problems persist: 4 potential research questions •  So is Agile UX the ultimate in user-centred

software engineering?

•  User-centred design (Gould and Lewis 1985) –  Early focus on users and ���

tasks –  Empirical measurement –  Iterative design

•  Early focus on users and tasks (Rogers et al, 2011) –  Users’ tasks and goals are driving force –  Users’ behaviour and context are designed for –  Users’ characteristics are designed for –  Users are consulted throughout –  All design decisions are taken in user context

User-centred design software engineering

UX Design •  Designing “how the product behaves and is used

in the real world… how it works on the outside, where a person comes into contact with it and has to work with it…”

•  Tends to be the term used in ���industry to cover HCI���activities including UCD

Jesse James Garrett (2003) The Elements of User Experience, New Riders

•  Agile UX is about integrating ���UX Design and agile

•  Challenges to integration of usability in software development (Seffah et al, 2005) –  The meaning of usability –  The people gap: UX designers and software engineers are

different –  The responsibilities gap: user interface vs functionality –  Subsystem decomposition, separating the user interface

from ‘the rest’ –  Attitude: usability takes too much time –  Shortage of training and UX design experience –  Attitude: organisational shift (resistance)

Integrating HCI and software engineering

A. Seffah, J. Gulliksen, M.C. Desmarais (2005) Human-centred software engineering: Integrating usability in the software development life-cycle, Springer  

✔  

✗  

✗  ✗  

✗  ✗  

✔  

Agile UX: the design perspective •  “The design process is stuck in the world of print”,

(Ratcliffe and McNeill, 2012) •  UX design not addressed (still) in agile methods •  Lean UX (Gothelf, 2013)

–  Remove waste from UX design process –  Create cross-functional collaboration to bring non-

designers into the design process –  Mindset shift to experimentation –  Design thinking (focus on what people ���

want and what technology can deliver) –  Agile development philosophy –  Minimal viable product

L. Ratcliffe and M. McNeill (2012) Agile Experience Design, New Riders: p4 J. Gothelf with J. Seiden (2013) Lean UX, O’Reilly

http://blogs.versionone.com/agile_management/page/9/

Agile UX: the developer ���perspective

•  None of the agile methods regards UX as different from any other sub-discipline (e.g. database design, testing)

•  XP’s Whole Team practice: “What the whole team was missing was a sense that they were roped together” (Beck and Andres, 2005, p74)

•  Design thinking and agile development are complementary

K. Beck and Andres (2005) Extreme Programming Explained (2nd edition) p74

What’s the big deal?!

Overview •  Agile software development •  User-centred software engineering, UX design,

and Agile UX –  From the designers’ perspective –  From the developers’ perspective

•  Agile UX: approaches and trends •  Problems persist: 4 potential research questions •  So is Agile UX the ultimate in user-centred

software engineering?

Agile UX: approaches and trends

•  “Whole team” practice (cross-functional) •  Techniques, e.g. personas, discount usability •  Processes, e.g. ‘train tracks’ integration, joint

stand-ups, common demos •  Tools, e.g. common application framework

makes sure User Interface is ‘designed in’ •  Recommendations or principles •  Articulation work, e.g. the need for���

detailed interaction between ���individuals

XP’s “whole team” practice •  Relying on cross-functional teams assumes that

bringing people together leads to the integration of concerns, but does it?

•  Bringing people together may not be achievable, or considered desirable: –  Integration with ‘business-as-usual’ systems needs

to be conducted according to organisational QA standards

–  UX designers work best when they are separated from the issues of software construction because these issues hamper creativity

Integrating UX techniques: ���the persona

•  Persona reminds developers who the user is

•  Personas become part of the discourse

•  Can be used to help address ‘pain points’

Integrating UX and agile processes

Desirée Sy and Lynn Miller, Autodesk

•  Application framework to bring interface and interaction design consistency

•  Interface/interaction design plus code

Integrating UX: tools

•  Jeff Patton’s 12 patterns of common behaviours: •  Research, model and design up front, but only just

enough •  Buy design time with complex technical stories���

•  Neilsen Norman group report recommend:

•  Development and design in different tracks •  Maintain a coherent vision ���

•  UX practitioner advice •  Professional communities, e.g. UX magazine,

balancedteam.org •  Experience reports, e.g. at CHI and Agile conferences

Integrating UX: principles

•  Integration is contingent on the context •  Day-to-day achievement •  Timing and scheduling issues •  Visibility issues •  Four themes: •  Integration as mutual awareness •  Integration as negotiating progress •  Integration as engaging with each other •  Integration as expectations about acceptable behaviour

Integrating UX: day-to-day

Ferreira, J., Sharp, H. and Robinson. H. (2012) ‘Agile Development and User Experience Design Integration as an Ongoing Achievement in Practice’, Agile 2012

Overview •  Agile software development •  User-centred software engineering, UX design,

and Agile UX –  From the designers’ perspective –  From the developers’ perspective

•  Agile UX: approaches and trends •  Problems persist: 4 potential research questions •  So is Agile UX the ultimate in user-centred

software engineering?

Problems persist ���(many of which have nothing to do with agile)

•  Misunderstandings •  Unexplored assumptions •  Boundaries and responsibilities

•  “lack of communication” but what to communicate, how and when?

•  Level of precision in upfront design: less is more •  Design documentation: what is ‘enough’ •  When to do User Testing: not the same as demos

L. Plonka, H. Sharp, A.J. Gregory and K.J. Taylor (2014) ‘UX design in agile: a DSDM case study’ in Proceedings of XP 2014

4 Potential research questions 1.  How to integrate professional cultures more

successfully? 2.  How to recognise when ‘enough’ user research/design/

detail has been done before implementation starts? 3.  How to ‘chunk’ designs for incremental delivery without

losing the design vision? 4.  How to identify and track ���

dependencies between different ���functions/responsibilities

BUT  Remember that agile is a lightweight approach!  

RQ1: Integrating professional cultures

“each profession has a different ‘‘cognitive map’’ …. The cognitive map develops as a consequence of the educational and socialization experiences of the students of each profession, built on each student’s own unique cognitive and constitutional make-up. This map is a major component of the culture of each profession. A major challenge facing proponents of effective inter-professional teamwork is to provide opportunities for team members to understand each other’s cognitive maps”

Hall, P. (2005) ‘Inter-professional teamwork: Professional cultures as barriers’, Journal of Inter-professional Care, Supplement 1: 188–196

Professional culture •  Education/apprenticeship: how to do things •  Tools of the trade: what is important •  Boundaries: what’s in my responsibility/

competence •  Identity and socialisation: what does it mean to

be a ‘designer’, a ‘tester’, a ‘developer’ etc •  Misunderstandings •  Unexplored assumptions •  Boundaries and responsibilities

RQ2: When is ‘enough’ enough? •  Less precision in design is better

–  Prioritision & de-scoping lead to waste of pixel perfect designs

–  Issues with design found when implementing –  Pixel perfect design increases resistance to change –  No distractions, focus on most important –  Quality improved through early input from developers

•  How much detail is needed to progress a working prototype?

•  What kind of ‘design decision’ to be made by which expert? Does it matter? Is training enough (but see professional cultures comments)?

RQ3: Chunking the vision •  Design disciplines emphasise a coherent vision

–  Consistency –  Overall experience: smoothness, attractiveness –  Emotional Design (Donald Norman, 2005)

•  Short iterations require ‘chunking’ –  Traditionally, designers produce overall design ‘upfront’ –  Designers’ output is designs, developers’ working code

•  Top-down versus bottom-up

RQ4: Keeping track of dependencies

•  Agile ‘documentation’ is not good at this (Sharp et al, 2009) –  Stories and The Wall –  Code repositories etc keep implementation dependencies,

not user scenario-based overview •  Problems with UAT (user acceptance testing) can

be traced to the loss of overall business function view

H. Sharp, H., H.M. Robinson, and M. Petre (2009) ‘The Role of Physical Artefacts in Agile Software Development: two complementary perspectives’, Interacting with Computers, 21(1-2) 108-116

Overview •  Agile software development •  User-centred software engineering, UX design,

and Agile UX –  From the designers’ perspective –  From the developers’ perspective

•  Agile UX: approaches and trends •  Problems persist: 4 potential research questions •  So is Agile UX the ultimate in user-centred

software engineering?

UCD/SE and agile compared

•  Agile iterates on code while UCD iterates on design •  Agile talks mostly about ‘product owner’ or

‘customer’, not necessarily ‘user’ •  Design has traditionally been documentation-heavy

while agile is documentation-light •  In agile working, developers have more authority

and designers feel side-lined

•  Both are iterative •  Both focus on business/user/customer •  Both consult business/user/customer throughout •  Both focus on measurable completion criteria

Is Agile UX the ultimate user-centred software engineering?

Maybe, since many HCI/SE integration barriers have reduced …

Indeed, it will be if …

Pragmatic, lightweight approaches can be found to…

•  Support continuous communication and integrated working between different professional cultures (RQ1)

•  Identify the optimum point at which designs can move into implementation iterations (RQ2)

•  Robustly divide an overall, coherent design vision for development in short iterations (RQ3)

•  Maintain user-based dependencies once iterations start (RQ4)

Closing remarks Practitioners are pragmatic and will find answers to these challenges, but they don’t have time to stop running and reflect Researchers have time to reflect and develop theory-based approaches but they must be practical, lightweight, and preferably a side-product of ‘normal’ work

Any questions?

Thanks for listening

What does culture affect? •  Techniques, processes, tools, recommendations •  Terminology: ��� ‘sketch’, ‘prototype’, ‘design’

•  Assumptions: ���“I assumed it would work this way”, timeframe, what is important

•  Priorities: ���focus on user, focus on working code

•  Approach/philosophy: ���consider many alternatives, find one that works well

•  Expectations: ���re-work, stability, level of detail, what is my output

What is UX design? •  Designing “how the product behaves and is

used in the real world… how it works on the outside, where a person comes into contact with it and has to work with it…���every product that is used by someone has a user experience: newspapers, ketchup bottles, reclining armchairs, cardigan sweaters”*

•  Wireframes, visual designs, interface���widgets, user characterisations, user ���research, usability testing….

*Jesse James Garrett (2003) The Elements of User Experience, New Riders: p10