TDT4140: Kravinnhenting Torbjørn Skramstad IDI / NTNU Introduksjon til objektorientert design Agenda Kravprosessen Forståelsesproblemet Teknikker for innhenting av krav Intervju Scenarier Etnografi Eksempel Den organisatoriske dimensjonen Deltakende design 1
Kravprosessen 1. Innhente krav 4. Spesifisere krav 2. Klassifisere og organisere krav 3. Prioritere krav Kravprosessen Use case 1. Innhente krav 4. Spesifisere krav 2. Klassifisere og organisere krav 3. Prioritere krav 2
Kravprosessen 1. Innhente krav Dagens tema 4. Spesifisere krav 2. Klassifisere og organisere krav 3. Prioritere krav Forståelsesproblemet Naturlig språk er ikke alltid entydig og kan lett misforstås 3
Årsaker til forståelsesproblemer Teknisk forståelse Kunden har liten forståelse for tekniske muligheter og begrensninger Systemutvikleren ser ikke ut over teknologiske løsninger Domenekunnskap Kunden/brukeren utrykker krav som forutsetter kunnskap om arbeidsprosesser Systemutvikler kjenner ikke fagspråket Intervju Intervjuer (1/2) En organisert samtale mellom intervjuer og intervjuobjekt Intervjuer: Systemutvikler(e) Intervjuobjekt: Kunde / interessent To teknikker Åpent intervju Lukket / strukturert intervju 4
Intervjuer (2/2) Styrke: Gir oversikt Hva gjør brukerne Hvordan de interagerer med systemet Problemer brukere har med eksisterende system Svakheter: Domenekunnskap Vanskelig for systemutviklere å forstå nyansene i språkbruken til brukerne Brukere kan ha vansker med å sette ord på og forklare kunnskap de tar for gitt Kjennetegn på effektive intervjuere Lytter til brukerne Stiller spørsmål som gir pekepinn på svar Scenarier Scenario: Konkret beskrivelse av en interaksjon med systemet Styrke Lettere å relatere til konkrete enn abstrakte beskrivelser Verktøy for interaksjon mellom bruker og systemutvikler Use case kan betraktes som en form for scenariemodellering 5
Etnografi Etnografi Observasjon av brukere i deres naturlige omgivelser Etnografen skriver daglige feltnotater Styrke Rik forståelse av operasjonelle arbeidsprosesser Rik forståelse av den organisatoriske sammenhengen arbeidsprosessene er en del av Fanger opp uutalte forutsetninger og nyanser i språkbruk Svakheter Tidkrevende Eksempel (1/2): IKT-bruk for trygge og pålitelige olje- og gassoperasjoner Subsea & offshore operations Information integration Operator Supplier Reservoir - seismics Fiber cable Downhole sensors and - - process equipment Onshore operation centers 6
Eksempel (2/2): IKT-bruk for trygge og pålitelige olje- og gassoperasjoner Den organisatoriske dimensjonen Systemutvikling som organisasjonsendring Ny programvare endrer eksisterende arbeidsprosesser Maktperspektivet Systemutvikling som verktøy i kamp om kontroll mellom individer, profesjoner, avdelinger Ulike grupper har ulike interesser: hvem har påvirkningskraft, hvem har beslutningsmyndighet? Systemutviklerens rolle Uhildet ekspert Partsrepresentant Forhandler 7
Deltagende design Representanter fra brukerne er med å utformer og prioritere krav til systemet Styrker Anerkjenner at ulike grupper har ulike interesser Påvirkning på egen arbeidshverdag Svakheter Kvasi-medvirkning Hvilke grupper skal tas med på råd? I avtaleverket mellom ansatte og arbeidsgivere (LO/NHO) er det kav om at de ansatte skal være representert i prosjekter som utvikler programvare som får innvirkning på de ansattes arbeidsmiljø Brukerkrav / Systemkrav Brukerkrav: Tjenester systemet skal tilby til brukere Systemkrav: Detaljert, formell spesifisering av systemfunksjoner, tjenester, og beskrankninger Funksjonelle krav: Spesifisering av systemfunksjoner og tjenester Ikke-funksjonelle krav: Beskrankninger på systemfunksjoner og tjenester 8