From Frustration to Fun: Achievements in Programming
Abstract
Programvareutvikling er et område i stadig endring hvor det er avgjørende at utviklere opprettholder motivasjonen for å holde tritt med bransjens krav. Spillifisering, som innebærer at spillelementer tilføres aktiviteter som ikke er spill, er en mulig løsning. Tidligere forskning har hovedsakelig fokusert på spillifisering innenfor tradisjonell utdanning, mens denne studien undersøker hvordan spillifisering kan brukes som et verktøy, også utenfor formell utdanning. I en bransje med konstant etterspørsel etter nye ferdigheter og kunnskap, er spillifisering en lovende måte å oppmuntre til selvstyrt, livslang læring. Denne studien benytter seg av to forskningsstrategier: design og kreasjon, i tillegg til et kvasieksperiment. Som et resultat av design- og kreasjonsprosessen, introduserer denne studien Gamp, et prestasjonsbasert webdashbord. Gamp kobler seg til brukerens GitHub-konto og belønner dem med merker basert på aktiviteten deres. Gjennom spillelementer som merker, framdriftsindikatorer, nivåer og erfaringspoeng, har dashbordet som mål å motivere brukerne til å programmere ved å synliggjøre progresjon og mestring.
Studien tar for seg fem forskningsspørsmål. Det første undersøker utfordringene og mulighetene brukerne identifiserer med prestasjonsbaserte webdashboards, samt hvilke spillelementer de synes er motiverende eller demotiverende. Videre undersøker den sammenhengen mellom brukernes tidligere erfaringer med spill og programmering, og deres oppfatning av slike dashboard sin effektivitet. Til slutt undersøker studien hvordan bruken av dashboardet relaterer til brukerens programmeringsbidrag, og hvordan dets evne til å motivere brukeren varierer basert på brukerens holdninger til programmering.
For å evaluere dashbordets effektivitet, ble det testet av 11 deltakere i et kvasieksperiment hvor deltakerne ble intervjuet før de brukte Gamp og igjen etter 14 dager. Den innsamlede dataen ble så analysert ved å bruke både kvantitative metoder (Pearsons korrelasjonskoeffisient, Kendalls Tau og Mann-Whitney U-test) og kvalitative metoder (induktiv temaanalyse). Cohens kappa ble brukt for å vurdere påliteligheten til kodeskjemaene i den kvalitative analysen. Studiens begrensninger omfatter et lite utvalg (N = 11), mangelen på kontrollgruppe, lite mangfold blant deltakerne, i tillegg til en kort studieperiode på 14 dager.
Til tross for disse begrensningene, gir resultatene verdifull innsikt. Identifiserte muligheter inkluderte dashboardets evne til å motivere, signalisere klare mål og oppmuntre til handling. Utfordringer inkluderte å balansere vanskelighetsgraden, tilby alternativer for personlig tilpasning og skape et støttende brukergrensesnitt. Meningene varierte om hvorvidt Gamp fremmet bedre eller dårligere vaner. Tilsvarende utgjorde mangelen på spillelementer med konkurranseaspekt som poengtavler både en utfordring og en mulighet, noe som antyder at slike elementer krever strategisk implementering for å imøtekomme ulike brukerpreferanser. Blant de testede spillelementene, viste merker og framdriftsindikatorer seg å være de mest effektive motivatorene, mens nivåer og erfaringspoeng var mindre effektive. Til tross for at brukerne rapporterte økt motivasjon, fant studien ingen statistisk signifikant korrelasjon mellom Gamp-bruk og antall programmeringsbidrag. Videre var det ingen sammenheng mellom brukernes tidligere erfaringer med spill eller programmering og den motivasjonsmessige effekten av Gamp, heller ikke var det noen signifikant forskjell i motivasjonsnivåer mellom de som så på programmering som en hobby sammenlignet med de som oppfattet det som en jobb eller et akademisk krav. In the ever-evolving world of software development, new skills and knowledge are constantly in demand. However, programmers who struggle to stay motivated can fall behind and find themselves unable to keep pace with industry demands. Gamification, the use of game-like elements in non-game contexts, offers a potential solution. While existing research has primarily focused on gamification within traditional education, this study investigates how gamification can be used as a self-guided tool, empowering programmers to pursue lifelong learning, even beyond formal education. This study employs two research strategies: design and creation, and a quasi-experiment. As the artefact of the design and creation process, this study introduces Gamp, an achievement-based web dashboard. Gamp connects to a user's GitHub account and rewards them with badges based on their activity. Through game elements like badges, progress bars, levels, and experience points, the dashboard aims to incentivise users to keep up their programming practice by fostering a sense of progression and accomplishment.
Addressing five research questions, this study examines the challenges and opportunities users identify when engaging with achievement-based web dashboards, and which game elements the users find motivating or demotivating. Moreover, it investigates the relationship between users' prior gaming and programming experiences, and their perception of such dashboards' effectiveness. Lastly, it investigates how dashboard usage relates to a user's programming contributions, and how its perceived motivational impact differs based on users' programming attitudes.
The dashboard’s effectiveness was evaluated through a quasi-experiment with 11 participants. Employing a pre- and post-test design, participants were interviewed before using Gamp and again after 14 days. Data were analysed using both quantitative methods (Pearson correlation coefficient, Kendall's Tau, and Mann-Whitney U test) and qualitative methods (inductive theme analysis). Cohen's kappa was used to assess the reliability of the coding schemes employed during qualitative analysis. The study's limitations include a small sample size (N = 11), lack of diversity in the participant pool, a short study duration of 14 days, and the lack of a control group.
Despite these limitations, the findings offer valuable insights. Identified opportunities included the dashboard's ability to motivate, signal clear goals, and provide encouragement to take action. Challenges included balancing difficulty levels, providing personalised options, and creating a supportive interface. Opinions varied regarding whether Gamp fostered better or worse habits. Similarly, the lack of competitive features like leaderboards posed both a challenge and an opportunity, suggesting the need for careful implementation to accommodate different user preferences. Among the game elements tested, badges and progress bars emerged as the most effective motivators, with levels and experience points being less effective. Despite users reporting increased motivation, the study found no statistically significant correlation between Gamp usage and the number of programming contributions. Furthermore, there was no correlation between users' prior gaming or programming experience and the motivational impact of Gamp, nor was there a significant difference in motivation levels between those who viewed programming as a hobby versus those who perceived it as a job or academic requirement.