Honkbal lijkt voor de buitenstaander een simpel spel, bal + knuppel = zo ver mogelijk slaan. Tot je zoon het spel gaat spelen en je ontdekt hoe mooi (en complex) honkbal eigenlijk is. Om vervolgens te ontdekken dat statistieken en data-analyse door coaches wordt gebruikt om speelstijl en tactische beslissingen gedurende wedstrijden te nemen. In mijn opdrachten bij de klant merk ik ook dat data de klantbeslissingen stuurt en dat ik als test coördinator op basis van die data, planningen en voortgangsrapportages maak.
Een voor pitchers belangrijke statistiek is niet snelheid van de pitch, maar een zo hoog mogelijk gemiddelde in gegooide slagballen. Bij de spelers in het team van m’n zoon houden we tijdens wedstrijden stats bij in een speciale score app. Maar bij bullpens (trainingssessies) vallen we terug op ouderwets pen en papier. Op papier turven we slag en wijdballen. Dat maakt achteraf analyseren lastig, want een pitcher gooit meerdere types pitches, met verschillende snelheden en locaties. Het aantal bij te houden parameters loopt al snel op. Liever wil je deze data achteraf makkelijk kunnen analyseren, en misschien ook wel in grafieken tonen. Ga je daarvoor alles handmatig en stuk voor stuk omzetten naar Excel? Liever niet!
Ik zag toen een kans om naast het team te helpen ook m’n kennis van app ontwikkelen naar een hoger niveau te tillen en stelde aan de coach voor om een app te ontwikkelen om deze trainingsdata vast te leggen. Vervolgens ben ik samen met de coach gaan specificeren welke informatie we nodig hebben. Welke kennis heb ik? Wat moet ik gaan uitzoeken en kan ik mijzelf eigen maken? Maar ook, wat moet ik vooral niet gaan doen!
Vervolgens heb ik de volgende zaken concreet gemaakt:
- Welke architectuur wil ik gebruiken? Apple, Android of beide? Deze keuze was snel gemaakt voor Android Studio als IDE. Ik heb overwogen om platform/ architectuuronafhankelijk (Flutter/ Dart) te gaan bouwen, maar daarvoor moet ik eerst weer een nieuwe taal leren, niet mijn voorkeur zie ook het vierde punt.
- Wat voor Database ga ik toepassen om gebruikers, spelers en data op slaan? Aangezien ik in meerdere opdrachten en privé met SQL (DB2, MSSQL, MySQL) databases en zelfgeschreven queries heb gewerkt is deze keuze makkelijk. Android ondersteunt SQLite out of the box. Check!
- Ga ik de data alleen lokaal opslaan (bijvoorbeeld op een telefoon of tablet)? Of wil ik via de cloud de data ook pushen naar de apps van coaches en spelers? Leuk, asynchroon data over meerdere devices synchroniseren… dat klinkt als een leuke uitdaging!
- In welke ontwikkeltaal (Java of Kotlin) ga ik de applicatie bouwen? Ik heb redelijke kennis van Java en veel door mij toegepaste testtools zoals bijvoorbeeld Appium (testplatform voor mobiele applicaties) werken ook met Java. Dat gaat hem dus worden.
Challenge accepted!
Het word dus Android, Java en we gaan vanuit de cloud de data pushen. Challenge accepted! In de volgende delen van mijn blogs vertel ik jullie graag meer over het ontwikkelproces en de uitdagingen waar ik tegenaan loop.