Tourgrid

Een slimme, realtime database met de look and feel van een spreadsheet.

“Samen met Scrumble is de basis gelegd voor een krachtige spreadsheet-database koppeling. Hun kennis van React is van grote waarde geweest in het optimaliseren van Tourgrid en het realiseren van de MVP. Door de prettige en flexibele manier van samenwerken zie ik kansen om in de toekomst nog meer functionaliteit aan Tourgrid toe te kunnen voegen.”

– Joost van Aarle, Owner

Vertrouwen is goed, controle is beter

Als rechterhand van de artiest dient een tourmanager zijn zaken erg goed op orde te hebben. De artiest moet er vanuit kunnen gaan dat de tourmanager ervoor zorgt dat vluchten vlot verlopen, hotels zijn geboekt en het juiste personeel aanwezig is. Maar ook dat hij achterover kan leunen en zich geen zorgen hoeft te maken, omdat hij er vertrouwen in heeft dat de tourmanager alles onder controle heeft. Het platform dat we hebben ontwikkeld sluit naadloos aan op die noodzaak tot controle.

Tourgrid is een idee dat ontstaan is door de behoefte van tourmanagers om slimmer te werk te gaan. Die tientallen spreadsheets voor verschillende artiesten, vluchten en locaties, aan elkaar geknoopt met macro’s, zorgen alleen maar voor onduidelijkheden en meer werk. Met Tourgrid brengen we controle terug bij de tourmanager.

Flexibel sprinten naar de eindstreep

Bij dit project werkten we samen met een product owner (de eigenaar van het product) die duidelijk al wat ervaring had als tourmanager, namelijk iemand die het gewend is om de touwtjes in handen te hebben. De product backlog (een lijst met items die ontwikkeld moeten worden) was daardoor al flink opgevuld met zijn wensen en eisen. Door iedere week de volgende sprint te plannen en met vaste regelmaat de backlog samen te groomen (reviewen van items in de backlog om de backlog actueel te houden) wisten we de backlog snel en efficiënt door te sprinten.

Door het groomen waren we niet afhankelijk van de product owner: wat in de backlog stond was actueel en daar konden we altijd mee verder. Dit was belangrijk omdat de product owner tegelijkertijd de rol als tourmanager aan het vervullen was en dus regelmatig van continent naar continent aan het reizen was. Het groomen was alleen mogelijk als de product owner op de hoogte was van de voortgang van het project; daarom was het van essentieel belang om iedere dag transparant te zijn over waar welke uren aan worden besteed. Dit deden we door daily standups (korte dagelijkse vergaderingen over de stand van zaken) en, wanneer dat niet mogelijk was, een samenvatting te geven op Discord (onze chatmedium).

Een laatste wens van de product owner was om, zover mogelijk, onafhankelijk te zijn van zijn software development partner. Deze wens begrepen we goed, waardoor we hem uiteindelijk hebben begeleid in de inrichting van de applicatie. Tegen het einde was hij zo enthousiast dat hij een aantal regels code zelf heeft geschreven (en zal blijven schrijven), daar worden we erg vrolijk van!

Altijd en overal effectief (samen)werken

Wat dit platform zo uniek maakt is dat het de vertrouwde look and feel heeft zoals je gewend bent van een Microsoft Office Excel, Google Sheets of Apple Numbers, maar met custom functionaliteiten specifiek gericht op het effectief organiseren van evenementen.

De ‘sheet’ wordt in Tourgrid opgebouwd uit meer dan alleen tekst, getal, en valutawaarden. Zo zijn er uitgebreide dropdown selecties mogelijk voor zaken zoals het land waar het event is, datum en tijd-selectie, maar ook vaste personen voor bijvoorbeeld licht en geluid of een fotograaf. Deze data wordt dynamisch opgehaald en up-to-date gehouden middels een Google Firestore database. Op deze manier is de data altijd razendsnel beschikbaar op de cloud en is er dus helemaal geen server meer nodig.

In een andere sheet kun je dieper ingaan op de details van één specifieke show. Hier worden de velden dynamisch opgebouwd op basis van wat er al ingevuld was. Was daar een artiest en producer opgegeven als crewleden? Dan staan hier automatisch twee rijen voor die personen onder de categorieën vluchten en hotels.

Tevens is het mogelijk om gebruikers verschillende rechten toe te kennen. De tourmanager kan bij alle velden, terwijl een crewlid alleen de tijd en locatie van een evenement kan inzien, alsmede zijn/haar vlucht en hotel data. Deze functionaliteit is volledig beheerbaar door de manager.

Een tourmanager is veel op reis en heeft niet altijd en overal verbinding met het internet. Aangezien Tourgrid een webapplicatie is (en dus een internetverbinding vereist) en de tourmanager niet afhankelijk hoort te zijn van een internetverbinding, vormde dat een interessante uitdaging. Om de applicatie toch offline werkbaar te maken, wordt de volledige applicatie lokaal gecached waardoor deze altijd bereikbaar is. Wanneer er wijzigingen gedaan worden, worden deze lokaal in de Google Chrome IndexedDB opgeslagen. Zodra er weer een internetverbinding beschikbaar is, worden alle wijzigingen meteen naar de cloud gestuurd.

Tot slot heeft de product owner vanaf het begin de visie gehad om dit niet alleen voor zichzelf te ontwikkelen, maar ook als product te lanceren voor zijn collega’s in de evenementenbusiness. Om dit te realiseren heeft iedere gebruiker enkel toegang tot zijn/haar eigen ‘database’ en kan hij/zij onafhankelijk evenementen, contacten, crewleden en alle andere zaken beheren.