Användbarhet och användarcentrerad systemdesign Jan Gulliksen Vilka är era användare? Vilka bra frågor du ställer Våra användare är alla Våra användare är i medeltal kvinna på 58 år utan eftergymnasial utbildning Våra system skall fungera för blinda, döva, icke läskunniga Användarvänlig IT Vill vi att datorerna skall vara snälla mot oss? Användbar IT Vad innebär det att något är användbart? Tillfredsställande Lärorikt Enkelt Lätt att lära Förlåtande Snyggt Billigt Effektivt Nyttigt Felkorrigerande Inspirerande Självförklarande Kräver ingen manual Intuitivt Läcker design Vem som helst kan använda det Ändamålsenligt Omedelbart Farmor kan använda den! ISO 9241 Part 11 Guidance on Usability Definition of Usability The extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use. System acceptability Attributes of system acceptability Social acceptability Practical acceptability Usefulness Cost Compatibility Reliability Etc. From Nielsen (1993) Usability Engineering Utility Usability Easy to learn Efficient to use Easy to remember Few errors Subjectively pleasing 1
Användbarhetsmål - Mätbara Jag skall kunna registrera en ny kund på mindre än 20 sekunder. Systemet skall inte hänga sig mer än en gång om dagen. Jag skall inte göra mer än ett fel i timmen. CHAOS-rapporten I USA spenderades 250 miljarder dollars varje år på 175 000 olika IT- projekt. 365 IT- företag med 8380 olika IT- projekt analyserades 1995. 31,1 % av företagens projekt avbröts. 52,7 % utfördes med förändrade planer 16,2 % utfördes enligt plan. I snitt ökade kostnaderna för de förändrade planerna med 189 %. 81 miljarder dollars spenderas varje år på projekt som aldrig leder till några resultat. Källa: Standish Group, 1995 (www.standishgroup.com) Arbetsmiljölagen (Kap.2, 1) Arbetsmiljön skall vara tillfredsställande med hänsyn till arbetets natur och den sociala och tekniska utvecklingen i samhället Arbetsförhållandena skall anpassas till människors olika förutsättningar i fysiskt och psykiskt avseende. Arbetstagaren skall ges möjlighet att medverka i utformningen av sin egen arbetssituation samt i förändrings- och utvecklingsarbete som rör hans eget arbete. Teknik, arbetsorganisation och arbetsinnehåll skall utformas så att arbetstagaren inte utsätts för fysiska eller psykiska belastningar som kan medföra ohälsa eller olycksfall. Därvid skall även löneformer och förläggning av arbetstider beaktas. Starkt styrt eller bundet arbete skall undvikas eller begränsas. Det skall eftersträvas att arbetet ger möjlighet till variation, social kontakt och samarbete samt sammanhang mellan enskildas arbetsuppgifter. Det skall vidare eftersträvas att arbetsförhållandena ger möjlighet till personlig och yrkesmässig utveckling liksom till självbestämmande och yrkesmässigt ansvar. Föreskrifter för arbete vid bildskärm Arbete vid bildskärm som är starkt styrt eller bundet i fysisk eller psykiskt avseende eller är ensidigt upprepat får normalt inte förekomma. (AFS 1998:5 7) Gould & Lewis Design for usability Tidig fokus på användare Empirisk utveckling Iterativ utveckling Integrerad utveckling Tidig fokus på användare Systemutvecklare ska ha tidig och direkt kontakt med användare Tidigare, mer och bättre! Intervjuer, observationer, video, workshops Sambo med användarna 2
Empirisk utveckling Utvärdera designlösningar med avseende på användbarhet Utvärderingar Testa och verifiera lösningsidéer Ny kunskap och nya idéer Med eller utan användare Iterativ utveckling Stegvis utveckling och modifiering - baserad på utvärderingarna Testa lösningsidéer - fånga upp förändringar Vilja och möjlighet När ska vi sluta? Iterativ utveckling enligt RUP Iterativ utveckling: in the context of the software life cycle, a process that involves managing a stream of executable releases. Iteration: A distinct set of activities conducted according to a devoted (iteration) plan and evaluation criteria that results in a release, either internal or external. Integrerad utveckling En person/grupp ska ha ansvar Användbarheten från början till slut Användargränssnitt Innehållet i systemet (funktionalitet och information) Prestanda och tillförlitlighet i systemet Användarhandbok och andra manualer Installation, anpassning, drift och underhåll, support ISO 13407 Human centered design process for interactive systems. En inriktning av mjuk- och hårdvaruutveckling som identifierar fyra olika grundläggande principer: Vettig allokering av funktioner mellan användare och system Aktiv inblandning av användare Iterering av designlösningarna Tvärdisciplinära designgrupper ISO 13407 Human centered design process for interactive systems. identify need for human-centred design evaluate designs against requirements understand & specify the context of use system meets specified functional, user & organisational requirements specify user & organisational requirements produce design solutions 3
Övning Process för design och utveckling av fjärrkontroll till luftkonditioneringen. Kravspecifikation Det skall gå att reglera luftflödet från aggregatet. Det skall gå att reglera temperaturen. Kontrollen skall vara användarvänlig. Forskningsproblematiken Traditionella MDI-metoder fokuserar på produkten, t ex usability engineering Vi vill i stället lägga fokus på processen för att kritiskt granska denna Har alla som målsättning att göra användbara system?? Observationsintervjuer av gränssnittsutvecklare Arbetar som problemlösare och programkod är resultatet av deras arbete (det faktum att deras kod producerar ett visuellt gränssnitt innebar inte att de såg sig själva som ansvariga för dess utseende). Fattade designbeslut som påverkade gränssnittet omedvetet. Användarnas roll Användarna i utvecklingsprojekten har ofta svårt att abstrahera och uttrycka sig i termer av modeller. Först när man kommer till gränssnittet förstår man att man inte förstått. Möjligheterna att åstadkomma förändringar i verksamhetsmodellerna är nu mycket begränsade. Användarnas upplevelser av systemutvecklingsarbete att komma till gränssnittsdesignen efter användningsfallen var som att komma ut ur en lång mörk tunnel jag var lycklig över att ha lärt mig bemästra en abstrakt process, däremot kan jag inte se att vi på något sätt påverkat det slutgiltiga systemet 4
Work activity goals Design goals Design constraints Work activity goals Design goals Design constraints Work activity goals Design goals Design constraints Reengineering the systems development process Modelleringar av RSVs systemutvecklingsprocess ur ett användarcentrerat perspektiv Användare, gränssnittsutvecklare och metodansvariga Syftade till att utgöra grunden för en modifierad systemutvecklingsprocess Krav på en användarcentrerad process - Låt arbetet styra utvecklingen. - Aktiv användarmedverkan: - Domänexperter - Riktiga slutanvändare - Tidig prototyping - Kontinuerliga iterationer - Tvärdisciplinära design team. - Integrerad design. Baserad på: ISO 13407 och Gould & Lewis (1985) Modellering av RSV SKRUV Modellering med verksamhetsfolk från RSV Presentation layer User analysis Task analysis Other activities... Business layer Use case model covering 10 20% Information layer Growing software starts with conceptual design, mock-ups and grows into the product Feedback Evaluation Use case modelling Analysis Design Conceptual information modelling Feedback Evaluation Analysis Design Feedback Evaluation Data base design Analysis Design Goals/requirements fulfilled Tests 5 sätt att förbättra din användarcentrerade process Tydlig förståelse av iterativ design Riktlinjer för användarmedverkan Prototyping redan från första början Ny arbetsroll: Användbarhetsdesigner Helhetssyn Vad betyder iterativ design egentligen? En iteration måste innebära 1) en analys av användarnas arbete och sammanhanget, 2) en prototyp design fas, och 3) en dokumenterad utvärdering av användbarheten hos prototypen som resulterar i modifikationer i det efterföljande arbetet. Riktlinjer för användarmedverkan När, var och hur bör användarna delta i arbetet? I deras egen arbetsmiljö? På distans i deras egen arbetsmiljö? Med deras egen terminologi? I analys? I design? I utvärdering? I konstruktionen? 5
Riktlinjer om feedback från användarna Samla in och dokumentera alla användarnas kommentarer. Adressera alla användarkommentarer Besluta att förändra i enlighet med kommentarerna Besluta att inte vidta några åtgärder Motivera för användarna varför inte systemet har ändrats till följd av deras kommentarer. Meddela användarna resultatet av besluten. Riktlinjer för användarurval Hur väljer vi ut användare? Slumpmässigt urval Maximera skillnaderna Flexibla och förändringsbenägna Social kompetens Representativa användare Frivilliga? Anonyma? Grupp storlek och karakteristik Användarna i majoritet Slutanvändare Domän experter Användbarhet mer än gränssnitt T ex 3-skikts client-server lösning Gränssnitt Verksamhetslogik Databas Användbarhet mer än gränssnitt T ex 3-skikts client-server lösning Gränssnitt Verksamhetslogik Databas Användbarhet mer än gränssnitt T ex 3-skikts client-server lösning Gränssnitt Verksamhetslogik Databas Prototyping av gränssnittet Tidigare prototyping 6
Prototyping När kan/skall man prototypa? Development of business processes Development of business processes Feedback? Feedback? System development process Prototyping activities System development process Prototyping Testar detta hos RFV ev. på RSV Prototyping redan i samband med verksamhetsanvändningsfallen Development of business processes Prototyping activities System development process Prototyping activities Prototyping av gränssnittet Tidigare prototyping Prototyping för att samla kraven Deltagande prototyping Kontextuell prototyping Behovet av en ny arbetsroll: Användbarhetsdesignern Användbarhetsdesigner Utvecklarorganisation Användarorganisation Systemutvecklingsprojekt Användbarhetsdesignern Kunskap om Människa- datorinteraktion Viss konstnärlig design förmåga Kapacitet att förstå komplexa arbetssituationer Viss utvecklingskunskap Det är viktigt att denna roll inte förfaller till att bli en programmerare! Användbarhetsdesigner»Definition av rollen«ser till att utvecklingsprocessen hålls användarcentrerad. Deltar aktivt i designprocessen och de designbeslut som rör användbarheten. Deltar i alla utvecklingsfaser och användbarhetsrelaterade aktiviteter. Jobbar nära både användarna och utvecklarna. Vara»specialist«inom området människa- datorinteraktion. 7
Motiv för en sådan ny roll som användbarhetsdesigner Användarna vet inte alltid vad som är bäst för dem. Systemutvecklarna saknar ofta kompetens, intresse eller speciell förmåga att åstadkomma bra gränssnittsdesign. Systemutvecklarna har sällan tid för en mer dedicerad gränssnittsdesign Systemutvecklarna har sällan möjlighet att skaffa sig den erfarenhet som krävs för att bli en god gränssnittsdesigner Undvik My-baby-syndromet Dokumentationen från utvecklingsarbetet är ofta tidsödande och komplex att förstå för andra än de som deltagit i utvecklingsprojektet. MDI och domänkunskap är ofta väldigt komplex. Helhetssyn Integrerad Design Organisation Människan Man Competence Kompetens Verksamhet Work Work och activity arbete Technology Teknik Arbetsmiljö Integrerad design Utnyttja den möjlighet att Avdelningen för MDI faktiskt inom sig rymmer kompetens att studera alla dessa delar. Integrerad analys Integrerad design Integrerad utvärdering Fler viktiga komplement för användarcentrering Användar och uppgiftsanalys Designförutsättningar Organisatoriskt stöd på alla nivåer (från ledning till utvecklare/användare) Projektarbete och projektstyrning Trovärdighet på IT-utvecklarnas nivå Projektstyrning och projektarbete Hur kan man planlägga iterativt arbete? Hur vet man när man är klar? Hur många varv skall man iterera? Hur motiverar man användarcentrering för projektledning och beslutsfattare? Systemutvecklingsprojekt Följer ofta en given modell (t ex RUP) Följer sällan modellen Stor potential till effektivisering av projekten och ökad kvalitet i resultatet 8
Detaljdesign Konstruktion Test Projektplanering Kravspecificering Systemdesign Iterativ konstruktion Systemkonstruktion En iteration Iteration #n Detaljdesigdesign Detalj- Tester Konstruktiouktion Konstr- Systemomlggning Test Tiden Vattenfallsmodell Test Angreppssätt Teoretiska studier av kommersiella systemutvecklingsmodeller Observationsintervjuer av deltagare i systemutvecklingsarbetet. Särskilt fokus på de delar som har inverkan på gränssnittet och dess inordnande i utvecklingsprocessen. Moderna utvecklingsprocesser RUP Process DSDM Process RUP & ACSU RUP är en utmärkt utvecklingsprocess för industriell produktion RUP innehåller lite eller inget stöd för användbarhetsarbete Stödjer RUP ACSU enligt t ex ISO 13407? RUP och användarcentrering Lokalanpassa utvecklingsprocesserna Värdera nyttan av varje metodsteg Usability designer Möjliggöra tidigare prototyping Ifrågasätt användningsfallen Hur pass strukturerad skall gränssnittsutvecklingen vara? Ingenjörsmässigt eller Fluffigt Verksamhetsmål Design mål Design förutsättningar Återkoppling Utvärdering Analys Design Utmaningar för framtiden Eftersom organisationerna ändå väljer att köpa in dessa kommersiella utvecklingspaket måste vi definiera hur dessa skall kompletteras för att fokusera på användbarhet och ACSU Metoderna måste anpassas till organisationen Kasta inte allt gammalt och bra! 9
Human Factors Success stories $ 41.700 sparades första dagen vid förenklad inloggning (kostnad $ 20.700) 3 2 piloter på Boeing 757 3000 150 ord i en bläddringsinstruktion A$ 536.023 sparades genom att göra blanketter lättare (tid. medel 7.8 fel/sida) Vad skulle inte vi kunna spara??? Rapporter och publikationer Användarcentrerad systemutveckling Dynamiskt uppdaterad rapport http://www.hci.uu.se A user centred design approach to object oriented UI design in van Harmelen (ed.) (2000) Designing interactive systems. Object modelling and user interface design. 10