Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan...

28
Idekatalog for integrering af usability- arbejde i agile udviklingsprocesser Lars Bo Larsen og Jan Stage Institut for Elektroniske Systemer / Institut for Datalogi Aalborg Universitet [email protected] / [email protected]

description

Oplægget blev holdt ved InfinIT-arrangementet Temadag om integrering af usability-arbejde i agile udviklingsprocesser, der blev afholdt den 6. maj 2014. Læs mere om arrangementet her: http://infinit.dk/dk/hvad_kan_vi_goere_for_dig/viden/reportager/hvordan_kombineres_agil_udvikling_og_usability-arbejde.htm

Transcript of Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan...

Page 1: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Idekatalog for integrering af usability-arbejde���i agile udviklingsprocesser

Lars Bo Larsen og Jan Stage

Institut for Elektroniske Systemer / Institut for Datalogi

Aalborg Universitet

[email protected] / [email protected]

Page 2: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi 2 2

��� 1.  Introduktion

2.  Explorativ user research i requirement-fasen

3.  Usability-evaluering i en SCRUM-proces

4.  Litteratur

Oversigt

Page 3: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi 3 3

��� 1.  Introduktion

2.  Explorativ user research i requirement-fasen

3.  Usability-evaluering i en SCRUM-proces

4.  Litteratur

Oversigt

Page 4: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

Scrum-metoden

•  Agil udviklingsmetode

•  Opdeler udviklingsprocessen i et antal sprint

•  Inkrementel/Iterativ

4

Page 5: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

Udfordringer

1.  Hvilke modsætninger er der mellem Scrum og usability-arbejde, som gør det vanskeligt at integrere dem

2.  Hvilke forslag og erfaringer findes der om integrering af Scrum og usability-arbejde

Svar på 1:

• UX-folk oplever det som meget krævende at integrere UX-praksis i agil udvikling

• Scrum afviser Big Design Up Front (no BDUF) ���Usability-arbejde kræver en sammenhængende vision om brugen af systemet og et overord-net design af brugergrænsefladen

• Udførelse af usability-evaluering med omfattende analyser er for tidskrævende til korte sprint

5

Page 6: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

Infinit-Miniprojekt

Usability- og UX-metoder ifm. agile produktudviklingsprojekter med relation til apparater

•  Den teknologiske udvikling har gjort, at selv tilsyneladende simple apparater kan indeholde megen kompleks funktionalitet

•  Mange softwarefokuserede IT-virksomheder er begyndt at benytte agile produktudviklingsprocesser

•  Det giver behov for usability- og user experience-metoder, der kan levere relevante resultater, som passer ind i rytmen for det agile flow

•  Formål: at afprøve og evaluere anvendeligheden af og økonomien ved brug af udvalgte usability- og user experience-metoder, der er relevante for agile produktudviklingsprojekter med relation til apparater med en fysisk betjeningsgrænseflade og med eventuelle supplerende laptop/tablet betjeningsmuligheder.

6

Page 7: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi 7 7

��� 1.  Introduktion

2.  Explorativ user research i requirement-fasen

3.  Usability-evaluering i en SCRUM-proces

4.  Litteratur

Oversigt

Page 8: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi 8 8

��� 1.  Introduktion

2.  Explorativ user research i requirement-fasen

3.  Usability-evaluering i en SCRUM-proces

4.  Litteratur

Oversigt

Page 9: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

Grundholdning

•  De agile metoder er udviklet af programmører og adresserer primært implementering

•  Derfor er der risiko for at overse brugerinteraktion og usability

•  Udvikling af en brugeroplevelse af høj kvalitet kræver også fokus på interaktionsdesign og usability-evaluering

•  Hele udviklingsteamet skal anerkende betydningen af disse to aspekter

9

Page 10: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

X. Integrering af interaktionsdesign

Grundspørgsmål:���Hvordan kan udviklere designe konsistente og sammenhængende UI arkitekturer inden for en agil udviklingsproces

Tre muligheder for integrering af interaktionsdesign:

1.  Forudgående UI design

2.  Integreret UI design

3.  Parallelt UI design – et sprint foran

10

Page 11: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

X1. Forudgående UI design

•  Integrere UI design i agil udvikling ved at starte med det og derefter fortsætte med en almindelig agil udviklingsproces���[Constantine, 2001]

•  Problem: UI design-processen bliver en flaskehals i den samlede proces og står i modsætning til den agile filosofi

Realisering – hvad kræver det som minimum:

•  Processen starter med et sprint 0

•  Heri undersøges og beskrives brugerbehov, workflow i brugernes arbejde, personas og scenarier

•  Disse resultater kan genbruges i efterfølgende projekter

11

Page 12: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

X2. Integreret UI design

•  Integrere UI design i agil udvikling ved at hvert sprint indeholder interaktionsdesign

•  Problem: inkrementelle tilføjelser kan gradvist fjerne sig fra det overordnede design og dermed ødelægge den samlede usability

Realisering:

•  Undgå at brugergrænsefladen ender up som et kludetæppe

•  Bottom-up UI design giver en forvirrende samlet brugeroplevelse (omtales som Linux-syndromet)

•  Fasthold en sammenhængende vision for UI designet – udarbejdet i sprint 0 – samtidig med at designet udføres løbende, hvilket minimerer risikoen for at videreføre et vildskud i starten

12

Page 13: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

X3. Parallelt UI design – et sprint foran

•  Software-udvikling og UI design kører parallelt i to separate processer

•  UI design er hele tiden et sprint foran, så når softwareudviklerne skal udvikle en feature, så er UI designet af den netop på plads

•  Kræver omhyggelig kommunikation og koordinering mellem de to processer

13

Page 14: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

Y. Integrering af usability-evaluering

Grundspørgsmål:���Hvordan kan udviklere evaluere brugbarheden af interaktionsdesign inden for en agil udviklingsproces

Tre muligheder for integrering af usability-evaluering:

1.  Afsluttende UI evaluering

2.  Integreret UI evaluering

3.  Parallel UI evaluering – et sprint foran

14

Page 15: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

Y1. Afsluttende UI evaluering

•  Usability-evaluering udføres efter sidste sprint

•  Problem: usability-problemer konstateres, når der ikke kan gøres noget ved dem

•  Samme svagheder som ved vandfaldsmodellen

15

Page 16: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

Y2. Integreret UI evaluering

•  Usability-evaluering gennemføres som en integreret del af hvert sprint

•  Problem: det er vanskeligt at få tid til usability-evaluering i et allerede tidspresset sprint

Realisering:

•  Evaluer nye ideer, når de er på bordet

•  Et større antal små, fokuserede usability-evalueringer kan give lige så gode eller bedre resultater end færre større evalueringer���[Lee and McCrickard]

•  Ugentlige evalueringer er praktisk gennemførlige og giver mulighed for integrering af bestydeligt bruger-feedback selv i korte sprints���[Jacob Nielsen]

16

Page 17: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

Y3. Parallel UI evaluering – et sprint foran

•  Software-udvikling og UI evaluering kører parallelt i to separate processer

•  UI evaluering kører sammen med UI design som en samlet aktivitet

•  UI evaluering er hele tiden et sprint foran, så når softwareudviklerne skal udvikle en feature, så er både designet og evalueringen af den netop på plads

•  Kræver omhyggelig kommunikation og koordinering mellem de to processer

•  Har den højeste dokumenterede succes

17

[Najafi and Toyoshiba, 2008]

Page 18: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

Opsummering

X Integrering af

UI Design

Y Integrering af UI Evaluering

1. Før (Sprint 0) Overordnet UI design

1. Efter (sidste Sprint) Samlet (summativ) usability evaluering

2. Integreret i Sprint Aktivitet i sprintet Aktivitet i sprintet

3. Parallelt Fælles aktivitet med design og evaluering Kører parallelt med udvikling Et Sprint foran udviklingen

18

Page 19: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

To eksempler fra samme organisation (1)

•  Sprints are two weeks in length, with seven of the ten working days of the Sprint dedicated to implementation by engineering and three to QA for testing

•  The agile cross-functional development team includes a product manager, Engineering, QA, User Experience, and a project manager

•  The Engineering team, consisting of three to eight developers, implements and delivers to QA a feature or set of features per sprint

•  The User Experience team, consisting of three to four members, were responsible for planning and conducting user research and testing

•  Dokumenteret i Najafi and Toyoshiba, 2008

19

Page 20: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

To eksempler fra samme organisation (2)

Falcon

• The User Experience team was asked to participate in the release planning and Sprints

• The project was a true collaborative effort among all of the cross-functional team

• UX activities and IU design were 1 sprint ahead of the technical development

• The User Experience team was able to adapt its processes to deliver designs as the engineering team began implementing them

• As implemented features were user tested, refinements to the design were accommodated in the remaining Sprints

• The Falcon Project was released on schedule and satisfied all of its requirements as a consumer-based Web site to purchase and manage security devices.

Razor

•  The User Experience team initially requested participation in release planning and Sprints

•  The high level designs and a prototype were provided to engineering

•  A nine hour time difference excluded the User Experience team from participating in the release planning, Sprints and Scrums

•  The original scheduled release date could not be met

•  To prevent further misinterpretations of the design, the User Experience team was requested to provide detailed specifications for all planned

•  The beta release showed that some users were not able to complete the purchase process

20

Page 21: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

To eksempler fra samme organisation (3)

•  The Falcon Project •  Successfully incorporated the User Experience team and UED practices with positive

results •  User Experience involvement in the Sprints was a key factor in focusing the cross-

functional development team’s efforts on the requirements of the users

•  The Razor Project •  Did not satisfy its requirements of increasing sales and improving customer retention •  Geographical separation and unwillingness by the Engineering team to collaborate with the

User Experience team made the Engineering team interpret and implement the designs incorrectly.

•  Discrepancies in the flows User Experience originally designed and the flows that Engineering implemented were preventing users from completing their tasks

•  As development progressed, no opportunities for user testing or refinement of the designs were allowed and the Agile process was eventually abandoned

21

Page 22: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

Nye krav til metoder

Fælles dokumentation:

•  Storyboards og anden skriftlig dokumentation

•  Prototyper på interaktionsdesign, inklusive papirprototyper

•  Udvikles inkrementelt/iterativt

Mindre tidskrævende metoder til usability-evaluering:

•  Instant Data Analysis

•  Remote usability-evaluering

22

Page 23: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

Nye roller

•  Både ‘customer’ og ‘user’

•  Gatekeeper som holder styr på krav og ændringer og på kommunikation mellem UX teamet og Engineering teamet

•  IU designer, som faciliterer udarbejdelsen af UI design. Det er godt at involvere hele teamet i designet, da det er væsentligt at generere mange alternativer

•  UI evaluator, som gennemfører usability-evalueringer. I mindre udviklingsorganisationer og -teams kan dette udføres af udviklere, som også har denne rolle

23

Page 24: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

Nye organiseringer

Usability-specialister er distribuerede i de enkelte udviklingsteam

Hvert udviklingsteam har sin egen usability-specialist, interaktions-designer, visuelle designer, informationsarkitekt, tekniske writer osv.

IT-virksomheder har ikke tilstrækkeligt med usability-specialister – uddan udviklere til denne rolle

Behov for central funktion til at skrive og vedligeholde UI standarder og guidelines, opsamle usability metrikker og udvikle UX arbejdsformer i projekterne

Co-lokalisering af alle medlemmer af udviklingsteamet overskrider en “dem og os” kultur

24

Page 25: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi 25 25

��� 1.  Introduktion

2.  Explorativ user research i requirement-fasen

3.  Usability-evaluering i en SCRUM-proces

4.  Litteratur

Oversigt

Page 26: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi

Litteratur

Constantine, L. L. (2001) Process Agility and Software Usability: Toward Lightweight Usage-Centered Design. Information Age, vol. 8, no. 2. Reprinted in L. Constantine (Ed.), Beyond Chaos: The Expert Edge in Managing Software Development. Addison-Wesley, Boston, MA, 2001.

Gothelf, J. () Lean UX. O’Reilly 2013.

Jia, Y., Larusdottir, M. K. and Cajander, Å. (2012) The Usage of Usability Techniques in Scrum Projects. Proceedings of HCSE 2012.

Larusdottir, M. K., Cajander, Å. and Gulliksen, J. (2012) Informal Feedback Rather than Performance Measurements – User-centred evaluation in Scrum projects. Behavour and Information Technology.

Lee, J. C. and McCrickard, D. S. (not dated) Towards Extreme(ly) Usable Software: Exploring Tensions Between Usability and Agile Software Development.

Najafi, M. and Toyoshiba, L. (2008) Two Case Studies of User Experience Design and Agile Development. Proceedings of Agile 2008.

Singh, M. (2008) U-SCRUM: An agile methodology for promoting usability. Proceedings of Agile 2008.

Sohaib, O. and Khan, K. (2010) Integrating Usability Engineering and Agile Software Development: A Literature Review. Proceedings of 2010 International Conference On Computer Design And Appliations (ICCDA 2010).

Wolkerstorfer, P., Tscheligi, M.,Sefelin, R., Milchrahm, H., Hussain, Z., Lechner, M. and Shahzad S. (2008) Probing an Agile Usability Process. In CHI '08 Extended Abstracts on Human Factors in Computing Systems (CHI EA '08). ACM, New York, NY, USA, 2151-2158.

26

Page 27: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi 27

Page 28: Idekatalog for integrering af usabilityarbejde i agile udviklingsprocesser af Lars Bo Larsen og Jan Stage, AAU

Institut for Datalogi 28