Gå til indhold

Case: udvikling af fitness-software til Fitness World

Case om udvikling af fitness-software til Fitness World: opgaven, løsningen og resultatet, og hvad du kan bruge i din egen fitnessvirksomhed.

Af

Freelance full-stack udvikler

Udgivet
Læsetid
8 min.
Indhold i indlægget9

Denne case handler om udvikling af fitness-software til Fitness World, en af de danske virksomheder jeg har arbejdet på projekter for som udvikler. [PLACEHOLDER: 1-2 sætninger om hvad Simon konkret byggede eller videreudviklede, i hvilken periode og i hvilken rolle, fx direkte som freelancer, via et bureau eller i et internt team.] Herunder kan du se opgaven, de tekniske valg og resultatet, og hvad en mindre fitnessvirksomhed kan lære af et projekt hos en stor kæde.

[PLACEHOLDER: bekræft at Fitness World har givet skriftlig tilladelse til at blive nævnt, og hvilke oplysninger og tal der må deles.]

Den korte version

OmrådeDetaljer
KundeFitness World
BrancheFitness og medlemskaber
Min rolle[PLACEHOLDER: fx freelance udvikler i Fitness Worlds team]
Periode[PLACEHOLDER: måned og år, eller varighed]
Opgave[PLACEHOLDER: kort beskrivelse af opgaven]
Teknologi[PLACEHOLDER: kun teknologi der faktisk blev brugt]
Resultat[PLACEHOLDER: kun tal og formuleringer Fitness World har godkendt]

Jeg har erfaring fra projekter for Fitness World. I denne case handler det om udvikling i en stor, etableret virksomhed og de hensyn, det kræver.

Udgangspunktet: det Fitness World havde brug for

En fitnesskæde har typisk en digital opsætning med flere dele der skal spille sammen:

  • en hjemmeside med centre, åbningstider, hold og priser
  • et tilmeldingsflow hvor nye medlemmer vælger medlemskab og betaler
  • et medlemsområde eller en app med booking af hold
  • et medlemssystem der holder styr på abonnementer og betalinger
  • adgangskontrol i centrene og koblinger til fx marketing og økonomi

De dele kommer ofte fra forskellige systemer og leverandører. Derfor kan selv en lille ændring, fx en ny medlemstype eller en kampagnepris, røre ved flere af dem på én gang.

[PLACEHOLDER: hvilken del af Fitness Worlds løsning Simon arbejdede på, og hvordan situationen så ud før: hvilket problem skulle løses, hvorfor det skulle løses nu, og hvilke krav der var til løsningen.]

[PLACEHOLDER: rammerne for opgaven, fx eksisterende systemer der ikke måtte ændres, deadlines knyttet til kampagner, eller krav til sikkerhed, test og godkendelse.]

Hvad der gør fitness-software anderledes

På overfladen ligner fitness-software en webshop: en kunde vælger et produkt og betaler. Forskellen er at et medlemskab ikke slutter ved betalingen. Det kører måned efter måned, og det stiller krav som en almindelig hjemmeside ikke har.

Tilbagevendende betaling

Et medlemskab betyder faste træk hver måned, typisk via kort eller Betalingsservice. Systemet skal håndtere kort der udløber, træk der fejler, prisændringer, pauser og opsigelser med det rigtige varsel. Fejl her bliver hurtigt til opkald i kundeservice eller til medlemmer der træner uden at betale.

Spidsbelastning

Trafikken er sjældent jævn. Kampagner og årsskiftet giver typisk mange tilmeldinger på kort tid, og populære hold kan blive booket op få minutter efter de åbner. Et tilmeldingsflow der virker fint en tirsdag i juni, skal også holde til årets travleste dag.

Mange centre og mange regler

Hvert center har sine egne åbningstider, hold og instruktører. Medlemskaber kan gælde ét center eller alle, og der er rabatter, firmaaftaler og studiepriser. Den slags regler skal ligge ét sted i systemet. Ellers ender de som undtagelser spredt ud over koden, og så bliver hver ny kampagne dyrere at lave.

Persondata

Et fitnesscenter ved hvem der kommer hvornår, og nogle gange også noget om helbred, fx skader eller målinger fra en personlig træner. Efter GDPR er der relativt snævre rammer for hvornår helbredsoplysninger må behandles. Adgangen til data skal derfor styres, og der skal kun gemmes det der faktisk er brug for.

Løsningen: sådan greb jeg opgaven an

[PLACEHOLDER: 2-3 korte afsnit om løsningen: hvad Simon byggede, hvilke systemer det skulle tale sammen med, og den vigtigste tekniske beslutning med begrundelse. Skriv i første person og nævn kun teknologi der faktisk blev brugt.]

Min tommelfingerregel i større organisationer er at forstå de systemer der allerede findes, før jeg skriver ny kode. Et medlemssystem der virker, er sjældent værd at erstatte. Det bedre valg er som regel at bygge det nye rundt om det via API'er (de faste snitflader systemer bruger til at udveksle data) og samle integrationerne ét sted, så de kan testes og rettes uden at røre resten.

Samarbejdet

[PLACEHOLDER: hvordan samarbejdet foregik: hvem Simon arbejdede sammen med (udviklere, produktansvarlige, eksterne leverandører), hvordan opgaver blev prioriteret, og hvordan ændringer blev testet og sat i drift.]

Arbejder du selv med et system der allerede er i brug, kan du også læse casen om nye funktioner til en medarbejderplatform i vækst. Der handler det om at bygge videre på en platform uden at stoppe den.

Resultatet

[PLACEHOLDER: resultatet i konkrete termer: hvad blev lettere, hurtigere eller billigere for Fitness World og deres medlemmer? Kun tal og formuleringer Fitness World har godkendt.]

[PLACEHOLDER: evt. citat fra en kontaktperson hos Fitness World med navn og titel, kun med skriftlig tilladelse.]

[PLACEHOLDER: hvad Simon ville gøre anderledes i dag, og hvorfor. Én ærlig læring er mere troværdig end en liste over succeser.]

Det kan du bruge, hvis du driver en fitnessvirksomhed

De fleste der læser her, driver ikke en stor kæde. Du har måske ét center, et studie, en lille kæde eller en online træningsforretning. Fem tommelfingerregler gælder uanset størrelse:

  1. Start med et standardsystem. Der findes mange færdige systemer til medlemmer, betaling og booking, og til et enkelt center er de næsten altid billigere end at bygge selv. Jeg har skrevet om hvornår et eget bookingsystem kan betale sig frem for en standardløsning.
  2. Byg kun det der adskiller dig. Egen kode er pengene værd der hvor standardsystemet stopper: en særlig medlemsmodel, firmaaftaler, dit eget medlemsområde eller en integration som ingen leverandør tilbyder.
  3. Kræv adgang til dine data. Vælg systemer med et åbent API og mulighed for eksport. Det er forudsætningen for at du senere kan bygge videre eller skifte leverandør.
  4. Test tilmeldingen som et nyt medlem. Gå flowet igennem på din telefon, og spørg din leverandør hvad der sker når mange tilmelder sig på samme tid.
  5. Mål hvor folk falder fra. Hvor mange starter en tilmelding, og hvor mange gennemfører den? Det tal siger mere om din forretning end antallet af besøgende.

Hvornår du ikke skal hyre en udvikler som mig

Det er ikke altid en udvikler der er svaret, og jeg vil hellere sige det her end i et møde:

  • Dækker et standardsystem dine behov, så brug det. En udvikler giver dig ekstra udgifter uden ekstra værdi.
  • Har du primært brug for en app i App Store og Google Play, er en app-udvikler et bedre match. Mit felt er web: Laravel, PHP, React og Next.js.
  • Skal hele din systemportefølje skiftes ud på kort tid, har du brug for et team med flere udviklere, en projektleder og en tester. Den opgave passer bedre til et bureau eller et softwarehus.
  • Er problemet en proces eller en leverandøraftale, løser ny kode det ikke.

Det har en løbende pris at eje sin egen software: den skal vedligeholdes og opdateres år efter år. Læs også 10 faldgruber ved SaaS-udvikling.

Næste skridt

Overvejer du at få udviklet fitness-software, så start med at skrive tre ting ned: hvilke systemer du har i dag, hvor de stopper, og hvad det koster dig i manuelt arbejde eller tabte medlemmer. Det er det bedste grundlag for at vurdere om du skal købe, bygge eller koble sammen.

På siden om hvordan jeg bygger webapps og platforme for virksomheder kan du se hvad jeg tilbyder. Hvad der sker efter din første henvendelse, står i gennemgangen af hvordan et projekt med mig foregår. Større opgaver starter med et betalt forprojekt til fast pris, så du kender omfang og pris før selve udviklingen begynder.

Ofte stillede spørgsmål

Hvad koster det at få udviklet fitness-software?

Det afhænger mest af om du skal have én integration eller en hel platform. En kobling mellem dit medlemssystem og din hjemmeside er en afgrænset opgave, mens et eget medlems- og bookingsystem med betaling er et stort projekt med løbende drift. Jeg starter større opgaver med et forprojekt til fast pris, så du kender omfang og pris, før du beslutter dig. Mine priser står på prissiden.

Kan du bygge videre på det system jeg allerede har?

Ja, og det er ofte det mest fornuftige. De fleste fitnessvirksomheder har allerede et medlemssystem, og det er sjældent pengene værd at erstatte det. Jeg starter med at gennemgå hvad systemet kan via sit API, og hvad der mangler. Er din løsning bygget i Laravel, PHP eller JavaScript, kan jeg også gå direkte ind i koden og videreudvikle den.

Hvordan skal medlemsdata håndteres efter GDPR?

Kort sagt: gem kun det du har brug for, styr hvem der har adgang, og hav databehandleraftaler med dine leverandører. Oplysninger om helbred, fx skader eller kropsmålinger, kræver ekstra omhu. I de systemer jeg bygger, anbefaler jeg at adgangsstyring og sletning er med fra starten. Jeg er ikke jurist, så få en rådgiver til at vurdere din konkrete opsætning.

Arbejder du kun for store fitnesskæder?

Nej. Jeg har arbejdet på projekter for både større danske virksomheder og SMV'er. For et mindre center eller et studie er opgaven typisk mindre: en integration, et medlemsområde eller en side der sælger medlemskaber bedre. Er et standardsystem nok til dig, siger jeg det hellere end at sælge dig et projekt du ikke har brug for.