INF1500 Introduksjon til design, bruk, interaksjon Kapittel 10 Identifisere behov og etablere krav 19. September 2016 Institutt for Informatikk, Universitetet i Oslo johe@ifi.uio.no
Behov? – Krav? 19.09.16 Inf 1500 - kapittel 10
Krav og behov, kapittel 10 Behov Krav Måter å etablere krav Måter å representere krav 19.09.16 Inf 1500 - kapittel 10
Behov “with UI, we are faced with counterintuitive interaction methods that are tailored to the needs of a computer.” Cooper Journal (August 29-2012) 19.09.16 Inf 1500 - kapittel 10
Behov og krav Behov (needs) Krav (requirements) Noe som ikke er koplet til spesifikke teknologier eller andre mennesker Behov for trygghet, forflytning, samhørighet, integritet, næring….. Krav (requirements) Noe som er koplet til strategier/løsninger/teknologier/plattformer Ønsker/forventninger/ambisjoner? Noe vi alle vet hva er? 19.09.16 Inf 1500 - kapittel 10
Startpunkt.. Videreutvikle løsninger som finnes Erstatte løsning med noe “helt nytt” Lage et produkt/løsning for massemarkeder, innomhus eller på kontrakt Hvem og hvordan etableres kravene? 19.09.16 Inf 1500 - kapittel 10
Hvorfor, hvordan, hva? Hvorfor? Forstå så mye som mulig om brukerne, oppgaver, situasjoner, mål, behov Etablere stabile krav – som kan brukes under utviklingen Hvordan? Datainnsamling Dataanalyse Utrykke, beskrive, artikulere krav En iterativ prosess – med brukere/aktørerne 19.09.16 Inf 1500 - kapittel 10
Etablere krav Hva ønsker brukerne? Hva har de behov for? Hva er ønsker? Hva er behov? For hvilken aktør/brukergruppe? Hva er krav? I forhold til oppgaver? Aktiviteter? Mål? Hvorfor ”etablere”? Krav etableres ved å forstå brukernes behov i sammenheng Krav, sett i lys av de data som er samlet inn 19.09.16 Inf 1500 - kapittel 10
Typer krav Funksjonelle krav Ikke-funksjonelle krav Omgivelse Hva systemet skal gjøre? Funksjoner Ikke-funksjonelle krav Fx. Responstid Omgivelse Lys, fuktighet, risting Sosiale krav Kommunikasjon, deling, gruppe Organisatoriske krav 19.09.16 Inf 1500 - kapittel 10
Hvem er brukerne - i kravhåndtering? Aktører (stakeholders) Sluttbruker Kunder Innkjøper De som drifter systemet De som vedlikeholder De som reparerer De som videreutvikler Andre aktører? Ikke brukere? ... 19.09.16 Inf 1500 - kapittel 10
Hvem er brukeren? Brukeren Karakteristika, bakgrunn, holdninger til datamaskiner Novise Ekspert Hvilke sanser – sterke/svake Frekvens Daglig, ukentlig, en gang i året, en gang i livet? 19.09.16 Inf 1500 - kapittel 10
Personas Beskrive brukerkarakteristikker Ikke reelle personer, men skapt fra reelle brukere Ikke ideelle Gi liv – ved å gi navn, mål, bakgrunn; være konkret Utvikle flere personas 19.09.16 Inf 1500 - kapittel 10
Oppgave Lag en persona for en som reiser kollektivt I Oslo Vis til sidemannen og diskuter 5 minutter. 19.09.16 Inf 1500 - kapittel 10
Datainnsamling for etablering av krav Intervju Med ”props” Eksplorerende Fokusgrupper Gruppeintervju For å oppnå konsensus – eller å fremprovosere konflikter Individer kan dominere… 19.09.16 Inf 1500 - kapittel 10
Datainnsamling for å etablere krav Spørreskjema Ofte i bruk sammen med andre teknikker Kan gi både kvalitative og kvantitative data Bra for å finne ut av spesifikke spørsmål fra en (stor) populasjon Innsamle data fra ”liknende” tjenester/produkter/applikasjoner Bra for å sammenligne – få opp krav 19.09.16 Inf 1500 - kapittel 10
Datainnsamling for å etablere krav Direkte observasjon Aktørenes faktiske oppgaver Bra for å forstå brukerens situasjon Indirekte observasjon Bra for å få bilde av eksisterende oppgaver 19.09.16 Inf 1500 - kapittel 10
Datainnsamling for å etablere krav Studere dokumentasjon Prosedyrer og regler er ofte nedtegnet i manualer Bra for å forstå stegene som gjennomgås Bra for å forstå lovgiving og bakgrunnsinformasjon Tar ikke opp tid blant aktørene (brukere, kunder) Brukes sammen med andre måter å samle inn data 19.09.16 Inf 1500 - kapittel 10
”Contextual Inquery” En mye brukt metode – oversikt over aktiviteter i praksis med det formål å etablere krav sammen Brukeren er ekspert Utvikler er novise Fire hovedprinspipper Context: Se ”arbeidsplassen” og hva som skjer Partner: Bruker og utvikler Tolkning: Observasjoner tolkes av både utvikler og bruker Fokus: Formulere fokusområder 19.09.16 Inf 1500 - kapittel 10
Utfordringer ved datainnsamling 1 Identifisere aktører Brukere, ledere, støttepersonell… Engasjere aktørene Intervjuer, verksted (workshop) Reelle brukere vs andre (ledere, representanter, ”proxy” brukere) 19.09.16 Inf 1500 - kapittel 10
Utfordringer ved datainnsamling 2 Håndtering av krav, versjonskontroll, behandling av nye krav, eierskap til krav Kommunikasjon mellom partnere Innen utviklingsteam Mellom utvikler og brukere Mellom brukere Domenekunnskap Hvordan fører du et regnskap? Hvordan sykler du? Tilgjengelighet til brukere og nøkkelpersoner 19.09.16 Inf 1500 - kapittel 10
Utfordringer ved datainnsamling 3 Politisk innen organisasjonen/gruppen Dominans av ulike aktører Økonomiske endringer Teknologiske endringer Balansere funksjonelle krav og brukbarhetskrav 19.09.16 Inf 1500 - kapittel 10
Retningslinjer 1 Fokusere på aktørenes behov Involvere ”alle” aktører Involvere mer enn en person fra hver gruppe Bruke flere teknikker for datainnsamling 19.09.16 Inf 1500 - kapittel 10
Retningslinjer 2 Støtt aktiviteten med props – prototyper og oppgavebeskrivelser Kjør pilotundersøkelser Hvordan analysere dataene som kommer inn Vurder nøye hvordan data tas opp og lagres, format etc. 19.09.16 Inf 1500 - kapittel 10
Tolkning og analyse av data Start rett etter innsamling av data Initial analyse før ”dypere” analyse Ulike teknikker Klassediagrammer for objekt orienterte systemer Entitet relasjoner for data intensive systemer Hva er ”egentlig” analyse? 19.09.16 Inf 1500 - kapittel 10
Oppgavebeskrivelser Scenario Use cases En uformell fortellende historie, spesifikk for en bruker, ikke generaliser Use cases Forutsetter interaksjon med et system Forutsetter detaljert forståelse av interaksjon 19.09.16 Inf 1500 - kapittel 10
Oppgaveanalyse Oppgavebeskrivelse brukes for å se for seg nye systemer/tjenester Oppgaveanalyse gjøres for å undersøke eksisterende oppgaver – for å informere ”nye” Fokusere på viktige aktiviteter Hva ønsker brukeren å oppnå? Hvorfor gjør de det? Hva gjør de for å få det til? Hierarkisk oppgaveanalyse er den viktigste teknikken (HTA) 19.09.16 Inf 1500 - kapittel 10
Hierarkisk Oppgave Analyse (HTA) Bryte ned helhet i deloppgaver Fokuserer på fysiske og observerbare aktiviteter Også de aktiviteten som ikke direkte angår ”datamaskinen” Starte med brukerens mål – og de oppgaven som gjøres for å komme dit 19.09.16 Inf 1500 - kapittel 10
Øvelse Oppgavebeskrivelse for - skriv tekstmeldingen ”ahoy, hva skjer?” på mobiltelefonen. Oppgaveanalyse? Hva betyr brukerens situasjon for oppgaven? 5 minutter 19.09.16 Inf 1500 - kapittel 10
I et nøtteskall 19.09.16 Inf 1500 - kapittel 10
Oppsummering Krav og behov er ikke det samme! Forskjellige typer krav Datainnsamling for å etablere krav Spørreskjema, observasjon, fokus grupper, direkte observasjon, studere dokumentasjon, studere tilsvarende tjenester/produkter Scenarier, ”use cases” kan bruke for å artikulere eksisterende og nye/tenkte arbeidspraksiser Oppgaveanalyse – viktig for å undersøke eksisterende systemer og praksiser 19.09.16 Inf 1500 - kapittel 10