Voice, websockets & API koppelingen + ontzorging & ondersteuning.
Afgelopen vrijdag hebben we met z’n allen onze eerste echte hackathon, een neologisme van ‘hacken’ en ‘marathon’, van dit jaar georganiseerd. Gedurende zo’n hack-marathon wordt er groepsgewijs onder extreme tijdsdruk aan software gewerkt voor een bepaald doel of thema.
Om 8 uur ‘s ochtends stonden we dan allemaal, de één wat frisser dan de ander, nieuwsgierig te wachten op de thema’s en opdrachten van de dag. Eenmaal opgedeeld in drie groepen werden we geïnformeerd over het doel van de dag en aan het werk gezet.
De thema’s van onze hackathon waren; ‘Voice, websockets & API koppelingen en ontzorging & ondersteuning.’
Deze thema’s, verwezenlijkt in 3 specifieke opdrachten, zijn gelinkt aan knelpunten en bedrijfsgebieden waar nog veel winst te behalen valt om het onze klanten makkelijker te maken.
Op deze manier hebben we hopelijk aan het eind van de hackathon niet alleen geleerd, gezwoegd, gelachen en gecodeerd - maar hebben we ook concrete oplossingen bedacht én gebouwd voor onze gezamenlijke groei en bloei.
Drie gebalanceerde teams, van alle markten thuis.
We hebben de ‘Cube’ in drie evenredige teams gestopt, voorzien van alle specialismen, om ze vervolgens uit te dagen een opdracht te voltooien. Dit alles voor een beste bokaal, de felbegeerde fietspomp.
Elk multidisciplinaire team kreeg vervolgens een specifieke opdracht voor een product, om daarna van half 9 tot 5 alles op alles te zetten om dit product zo compleet mogelijk te demonstreren. Aan het eind van de dag werden alle resultaten, opgedane ervaringen en gevonden oplossingen door middel van presentaties met het bedrijf gedeeld.
De eerste ronde koffie was er door, de opdrachten uitgedeeld en Job gaf het startsignaal.
'Dit alles moet natuurlijk met goed design, slimme techniek, en uiteraard - teamwork!'
Team #1 - Bouw een intern dashboard voor Cube.
Het eerste team heeft 8 uur de tijd gehad om een dashboard te bouwen dat op een breedbeeldscherm, op de werkvloer, real-time handige informatie zal weergeven voor projectmanagers en collega’s.
Hiervoor moet het stukje software dus verbinding maken met onze urenregistratie (Harvest), ons interne chatprogramma (Discord) en informatie ophalen uit andere diensten (Pingdom & Forecast) die we gebruiken.
Doelen voor de dag:
Data realtime tonen met behulp van websockets of streaming.
Harvest timer en uren op dagelijkse basis tonen per medewerker.
Pingdom API gebruiken om storingen zichtbaar te maken.
Discord meldingen die aan een bepaald profiel voldoen tonen.
Voortgang van projecten tonen.
Zien wie er in het Cube pand is.
Team #2 - Bouw een omgeving waar klanten support issues kunnen aanmaken.
Het tweede team heeft de opdracht gekregen om in één dag een portaal te bouwen waar klanten van Cube kunnen inloggen, om vervolgens eenvoudig project gerelateerde problemen te kunnen aankaarten.
Zo moeten onze klanten makkelijk en snel bugs kunnen melden, RFC’s (Request For Change) aandragen of hotfixes aanvragen. Het portal moet er verzorgd uit zien, en zoveel mogelijk gebruik maken van bestaande Gitlab functionaliteiten. Om zodoende goed aan te sluiten bij onze huidige werkwijze.
Doelen voor de dag:
Klant moet issues kunnen aanmelden
Issue intake met vaste opzet van velden (bug, RFC, gebruikersvraag)
Voorkeur voor rekening houden met workflows
Labels mee kunnen sturen naar Gitlab
Klant moet issue overzicht kunnen bekijken
Admin omgeving waar accounts moeten worden aangemaakt en gekoppeld aan Gitlab repositories
Klant moet kunnen inloggen (met bijbehorende procedures)
Spraakgestuurd issues kunnen invoeren m.b.v. Google Speech
Team #3 - Bouw een spraakgestuurde app die Gitlab issues kan aanmaken.
Het derde team werd aan het werk gezet met de meest uitdagende vraag van vandaag. Namelijk het ontwikkelen van een mobiele applicatie, die met behulp van Android’s Speech Assistant en iOS’ SiriKit, spraakgestuurd tickets kan versturen naar Gitlab.
Een van de redenen dat dit een flinke uitdaging was, is het feit dat dit ontwikkeld moest worden in het voor ons onbekende Flutter framework van Google.
Doelen voor de dag:
Spraakgestuurde app ontwikkelen
Aanmaken van issues mbv spraakcommando’s
Issues van labels kunnen voorzien mbv spraakcommando’s
Work hard, play hard + code even harder!
Als er een dag lang flinke focus verwacht wordt, moet je ongetwijfeld ook ontspanning wekken. Anders heb je aan het eind van de dag een stel zure bekken, en niks te hacken!
Tijdens de luxe lunch, met bruut belegde broodjes, werd in no-time een waar piratenschip opgeblazen. De teams konden nog een paar extra punten verdienen door deze stormbaan zo vaak mogelijk te doorkruisen.
Lichamelijke ontspanning hebben we namelijk wel nodig na ons een ochtend te ontfermen over onze beeldschermen.
Team 2 fietst er met de winst vandoor!
De eerste hackathon in het nieuwe pand is een feit, en zo ook haar winnaar.
In slechts 8 uur tijd heeft Team 2 het voor elkaar gekregen om praktisch alle opdracht-eisen te verwerken in een werkend prototype. Tijdens de presentatie werd een account aangemaakt, werd projectinformatie opgehaald en kon eenvoudig door een flow gelopen worden om de klant te helpen met het maken van een heldere support vraag.
Er kon zelfs spraakgestuurd, helaas alleen in het Engels, informatie in het ticket gezet worden!
Dit was tevens het probleem waar team 3 tegenaan liep gedurende de hackathon. Voor de Nederlandse taal is nog geen goede spraak → tekst conversie software. Daarnaast was de kakelverse codetaal Flutter een horde, die ook het koppelen met bestaande diensten niet eenvoudig maakte.
Tot slot was het dashboard van Team 1 een relatief succes, deze die-hards hebben in één dag een degelijk dashboard verwezenlijkt dat echter net niet op kon tegen het piekfijne portaal van Team 2.
Cube is meer dan een naam.
Het is letterlijk een ruimte waarin we talent ontwikkelen, experimenteren en werken aan digitale producten die rendabel zijn voor onze klanten. Door middel van dit soort dagen proberen we continu onze pijlers in het bedrijf te pushen.
Wees nieuwsgierig
Neem verantwoordelijkheid
Leer door te doen
Maak anderen succesvol
Vandaag is er weer veel verantwoordelijkheid genomen, nieuwsgierigheid gevierd, geleerd door te doen en hebben we gezamenlijk iedereen succesvol gestimuleerd.
Een rammend resultaat!
Naast persoonlijke ontwikkeling, teambuilding en vermaak met de zaak hebben we ook de nodige tastbare resultaten gerealiseerd.
Onze developers hebben hierna minder te maken met het proberen te interpreteren van klantproblemen door het portaal van het winnende team. Ook projectmanagers hebben hier straks minder werk mee, zodat wij onze tijd kunnen inzetten voor een beter eindproduct!
Onze projectmanagers en medewerkers kunnen straks in één oogopslag zien wie er vandaag aanwezig is, of er nog huishoudelijke mededelingen zijn en welke projecten bijna over het urenbudget heen gaan. Ook dit dashboard zal hopelijk de nodige tijdsbesparingen gaan opleveren, zodat wij slimmere & sterkere software kunnen scheppen!
Daarnaast hebben we waardevolle kennis opgedaan over het Flutter framework, haar krachten en kinderziektes, ten opzichte van de bij ons bekende builds op React Native. Vooralsnog gaan we de stap van web naar native nog niet maken, gebaseerd op de royale research van het “verliezende” team.
Uiteindelijk winnen we allemaal.