Opbygning af domænekendskab
Udviklingslog (Status & Planer)
01 KM 2/10-2016 Første udkast (baseret på forløbsbeskrivelsessabelonen). 40 % færdig,
Helt færdig efter review - medio oktober?
Introduktion
I dette kapitel arbejdes der med emnet domænekendskab.
Formålet er at anvises metoder til at undersøge den kontekst et nyt produkt skal indgå i. Intensionen med kapitlet er at beskrivelsen vil give eleverne en forståelse for, at udviklingen af et godt produkt forudsætter et godt domænekendskab.
Domæne-kendskab indgår i mange af de faglige mål - på et overordnet niveau. Domæne-kendskab er en forudsætning for:
- at anvende konkrete arkitekturer ved udarbejdelse af simple it-produkter
- udvikling af it-produkter
- at kunne realisere udvalgte interaktionsdesign i et konkret it-produkt
- innovative udviklingsprocesser og for at kunne skitsere idéer til innovative it-produkter.
Emnet vil typisk blive introduceret i Informatik C, men er desuden relevant for Informatik B.
Domænekendskab er primært relevant for udviklingsprocessens første del. Domænekendskab er oplagt baggrunden for brugerdreven innovation.
Der er opgaver til emnet (sammen med de omliggende kapitler) i afsnittet "Arbejdsopgaver, domænekendskab" (klik på "grundbog" til venstre og "Arbejdsopgever, domænekendskab" kan ses i vinduet til højre under "domænekendskab"):
Forudsætninger
- Det er en fordel at have gennemgået kapitlet om "Et problem, et dilemma, et behov (behovskonflikt, problemløsning)" inden man tager hul på dette kapitel.
Materiale
Domænekendskab er vigtig - et eksempel
Preben kan ikke svømme. Det vil være svært for Preben at skrive en vejledning i at svømme.
Preben mangler viden om at opholde sig på dybt vand; hvor hurtig synker man, hvad sker der hvis man har tøj på i vandet, hvor hårdt skal man sparke bagud når man svømmer osv. Han mangler domænekendskab.
Preben kan øge hans domænekendskab ved fx at interviewe folk der kan svømme, ved at læse om svømning og ved at se videoer af folk der svømmer.
Dorotina kan svømme. Dototinas forståelse af genstandsområdet "svømning" er bedre end Prebens. Hvis Dorotina skulle skrive en vejledning i at svømme, vil hendes domænekendskab gøre at hendes vejledning sandsynligvis bliver bedre end Prebens.
Det første der sker i udviklingsprojekter i informatik, er at programmøren opbygger domænekendskab. Man kan ikke lave et succesfuldt produkt eller en ny app der bliver god, uden domænekendskab.
Opbygning af domænekendskab
I SRP, SRO og SSO sammenhæng opstilles en problemformulering der fokuserer på nøgleproblemet. Nøgleproblemet sættes i kontekst ved at beskrive tre/fire problemstillinger der belyser nøgleproblemet.
I informatik opbygges domænekendskab inden forskellige krav til et nyt produktet kendes. I større projekter fastholdes kravene i en kravspecifikation.
Som gymnasieelev har man stor domænekendskab i "det at være gymnasieelev" og vil umiddelbart kunne gennemskue de problemer og muligheder der er i domænet "en gymnasieelevs hverdag". Skal der laves en ny overbliks-app til gymnasieelever, vil det være forholdsvis enkelt at belyse og beskrive de krav, der skal opstilles. Det vil være svært for en 50-årig ejendomsmægler at opstille de samme krav. Ejendomsmægleren har ingen domænekendskab.
Omvendt, hvis vi skal udvikle en app til en ejendomsmægler, der kan hjælpe med at planlægge han/hendes hverdag, er vi helt på bar bund. Der opstår straks 1000 spørgsmål.
- Hvad laver en ejendomsmæler ud over at sælge huse?
- Hvordan sælger man huse?
- Snakker man meget i telefon eller skrivers der mest e-mail - skypes der mest?
- Brugers der PC, laptop, tablet eller smartphone?
- osv
Før vi kan programmere en god app til en ejendomsmægler, skal vi vide mere om ejendomsmægleren og de ting han/hun går og laver. Vi skal have svar på de 1000 spørgsmål.
Det bedste er at tage ud og snakke med ham/hende, så de kan fortælle om de ting der driller i hverdagen.
Forholdet til den viden vi har
Det tager tid at opbygge et godt domænekendskab. En af farerne ved domænekendskab er vores forhold til den viden vi har. Det er forskel på hvad vi tror og på hvad vi ved. Pas på. Fordi ofte tror vi, at vi ved meget om en sag, uden at vi reelt gør det. Og vores fordomme kan forstyrrer billedet.
Det er fx kun en jæger der ved hvad der foregår i hans hverdag. Hvad der optager ham/hende og hvad der er af problemer. Mange fordomme om jægere handler om våben og dræbe - og vi ved at jægere har våben og skyder dyr i naturen.
Hvis vi skal lave et reklamespil for jægerforbundet til deres nye hjemmeside, kunne man fristes til at lave skydespil med sniper-rifler og hjorte.
Men det viser sig det er mange forskellige ting der foregår i en jægers domæne. Forholdet til naturen, datoer for jagtsæson, ulve-diskussioner, hvilket klokkeslet står solen op, diskussion om landbrug kontra vildtpleje, knivlov osv.
Hvis vi umiddelbart går i gang med at løse et problem inden vi forstår domænet (hvis vi udvikler et reklamespil på baggrund af den viden vi tror vi har - og på baggrund vores fordomme), bliver det sandsynligvis ikke godt produkt som brugeren tager til sig. Et skydespil vil nok ikke falde i jægerforbundsts smag fordi det kun rammer en lille delmængde af deres aktiviteter (og så vil et skydespil puste til fordommene om dem).