Projektbeskrivelse
I semesterprojektet til 3. semester, skulle vi finde en klient og lave et studierelevant gruppeprojekt for klienten. Under projektet skulle grupperne filme deres arbejde, så de kunne lave et dokumentar om processen.
Forberedelse
Der var to udfordringer i starten af projektet:
- At samle en gruppe
- At finde en klient
Begge var heldigvis uden store problemer for min gruppe. Jeg slog mig hurtigt sammen med en anden studerende fra frontend, hvorefter vi begyndte at sende beskeder til forskellige firmaer i håb om at finde en klient.
Vi fik vores første klientsamtale mandagen før den oprindelige deadline for valg af klient og samtalen gik godt. Klienten var imødekommende og forstående for, hvordan et samarbejde ville fungere. Vi fik svar på grundlæggende spørgsmål og bekræftede, at begge partier var med på et samarbejde.
Vi havde et møde med en anden klient kandidat et par dage efter, men måtte rykke det, da vores gruppe modtog et par nye medlemmer fra content og derfor skulle bruge en dag på at etablere en sund gruppedynamik via en gruppekontrakt.

Mødet med den anden klient skete i stedet om fredagen, hvilket var en dag efter den oprindelige deadline for valg af klient. Den deadline blev dog rykket, hvilket gav os tid til at mødes med den anden mulige klient.
Mødet med den anden mulige klient gik også fint. Klienten havde et stærkt overblik over sin forretning og gav et overskueligt indblik i de problemer, der kunne arbejdes på.
Gruppen mødtes næste hverdag for at vælge en klient. Efter et møde, blev gruppen enig om at arbejde med den første af de to mulige klienter: Svendborg Brætspilscafé.
Problemformulering
Først og fremmest arbejdede vi på at opnå en bedre forståelse af klientens problem. Vi startede ud fra problemformuleringen “Hvordan kan vi skabe en løsning der hjælper Svendborg Brætspilscafé med at ramme sin målgruppe med minimal arbejdsbyrde for ejeren?”
Den problemformulering skulle snævres ind, men det krævede først at vi skabte en dybere forståelse for klientens målgruppe og industri standarderne for brætspil caféer.
Proces
Vores proces startede, som altid, med projektplanlægning. Vi planlagde at mødes ofte for at bevare kommunikationen. Vi aftalte at bruge Scrum til at organisere, men faldt fra det over tid og skiftede til at bruge Kanban.
Vi startede derefter dataindsamling. Vi brugte et spørgeskema til at samle data fra klientens kunder mens vi lavede desk research. Jeg var dog fraværende i en uge af dataindsamling perioden, da jeg var meldt til BiP forløbet. Da jeg kom tilbage, havde vi fået nok svar på spørgeskemaet til at begynde at finde muligheder deri.
Spørgeskemaets data tydede på at spilcafeens brætspilsudvalg var en af det største motiverende faktorer for om folk blev kunder. Vi bekræftede også at andre brætspilscafeer har lister over deres spil tilgængeligt online. Ud fra det var det besluttet at frontend-delen af vores gruppe skulle arbejde på en web app der kunne fremvise cafeens spil.

Vi tog beslutningen at udvikle den web app i Vue3, da vi regnede med at skulle bruge et for-loop til at sætte listen op, hvilket vi for nyligt havde lært at lave og justere mere effektivt i Vue3 end i normalt JavaScript.
Det var heldigt for mig, at valgfagsprojektet for frontend handlede om at arbejde med databaser og API-calls. Vi havde lov til at lave dele af vores eksamensprojekter som valgfagsprojekter i frontend, hvilket betød at jeg havde mere tid til at arbejde. Jeg brugte det næste stykke tid på at sætte en Firebase database op og skrive kode der kunne interagere med den.
Jeg stødte dog på et problem, da jeg testede koden. Jeg fik konstant en CORS fejl. Da jeg ikke havde erfaring med emnet, tog det meget tid at finde frem til en løsning. Det viste sig at jeg bare skulle tilføje “.json” til slutningen af database linket.

Her stødte jeg dog på et andet problem. Måden test-dataen var sat op i app’en fungerede ikke når dataen skulle hentes fra en ekstern database i stedet for bare at være et array. Jeg var derfor nødt til at læse op på, hvordan man konvertere hentet json data til et array af objekter.

I midten af denne travle proces, skulle der også findes tid til at planlægge og optage A-roll til projektets dokumentar. Vi brugte en dag på at forberede og en dag på at optage A-roll.
Jeg fandt derefter ud af, at koden der skulle bestemme hvordan spillene blev vist på siden (rækkefølge, antal spil pr. side, osv) ikke virkede ordentligt. Fejlen lå i den key værdi jeg havde givet mit v-for-loop, hvilket var navnet på spillene. Siden flere spil havde samme navn, gik der fejl i måden koden håndterede dem. Jeg ændrede det til at have id som key værdi, da alle spil tilføjet til Firebase databasen får en unik id af Firebase.

Omkring dette tidspunkt blev jeg opmærksom på, hvor meget tidspresset havde distraheret mig fra at samle data undervejs til at bestemme sidens design. I den begrænset tid jeg havde tilbage, kunne jeg ikke nå meget dataindsamling eller test uden at mangle tiden til at udvikle siden. Derfor udførte jeg i stedet A/B desirability tests på et begrænset antal folk i målgruppen hvor jeg også spurgte ind til hvilken information testpersonerne gerne vil kunne se om et brætspil de ikke kender på en oversigt som den jeg arbejdede på. Jeg tog også kontakt med klienten for at spørge ind til klientens ønsker for app’ens funktionalitet på den brugergrænseflade, klienten skulle kunne bruge til at håndtere spil listen.
Ud fra svarene jeg fik, arbejdede jeg videre for at gøre web app’en færdig inden for min deadline.
Refleksion
Projektet har været en hård og presset oplevelse og jeg føler alligevel at jeg ikke gjorde nok. Der er tusindvis af forbedringer jeg stadig kunne lave på web app’en. Jeg havde dog ikke tid og det er nok der problemet for alvor er. Hvis jeg startede forfra på projektet med alt hvad jeg ved nu, kunne jeg lave den samme app med under halvdelen af tiden jeg har haft.
Tidsplanlægning har nok været mit svageste punkt hele projektet. Hvis jeg havde lagt en mere grundig plan fra starten af, kunne jeg har nået at teste mere grundigt og lave en bedre fungerende side.
Derudover skulle jeg have fundet en måde at nedskalere projektet, efter at den anden frontend-studerende i gruppen stoppede. Projektet var planlagt efter at have mere arbejdskraft end vi havde, og det havde en tydelig effekt på processen.