Onlangs organiseerden wij binnen JEM-id een hackathon!

Het verhaal achter de PubTiger hackathon

Op 12 januari hebben wij binnen JEM-id een mini-hackathon van 6 uur georganiseerd. De foto’s en video’s die je wellicht voorbij hebt zien komen, geven een goed sfeerbeeld van hoe het eraan toe ging, maar vertellen niet het complete verhaal. Tijd om hier verandering in te brengen.

Wat is nou precies een hackathon?
Een hackathon is een evenement waarbij een groep ontwikkelaars in korte tijd een intensieve samenwerking aangaat om software te ontwikkelen. In tegenstelling tot wat de naam doet vermoeden heeft dit dus weinig met ‘hacken’ te maken. Voor meer info zie ook: https://en.wikipedia.org/wiki/Hackathon

Waarom?
Op het gebied van softwareontwikkeling is er continu verandering. Toen wij 20 jaar geleden JEM-id oprichtten, werkte je in één programmeeromgeving met één onderliggende programmeertaal, zoals Visual Basic of Delphi. Deze taal was vastgelegd in een handleiding, maar ook op internet was er natuurlijk het een en ander te vinden. Wanneer je had gekozen voor een dergelijke omgeving kon je meteen 5 tot 10 jaar vooruit. Vandaag de dag bouw je software niet meer met de ontwikkelomgeving van één leverancier, maar maak je combinaties van tools en frameworks om zo tot een ideale mix te komen die goed bij jouw product past. Zo komt er iedere maand wel een nieuw product uit dat mogelijk interessant is om te gebruiken in het proces van softwareontwikkeling.

Een hackathon is bij uitstek geschikt deze nieuwe technieken met elkaar te testen en te gebruiken. Doordat de samenwerking intensief is, wordt er op een efficiënte manier kennis overgedragen en doordat het product niet per se het daglicht hoeft te zien is experimenteren nog minder erg. Daarnaast is het belangrijk dat ontwikkelaars onderling een gezamenlijke referentie hebben. We werken bij JEM-id immers niet allemaal aan dezelfde projecten, maar op deze manier kan je wel weer allemaal refereren naar een bepaald product waar je samen aan hebt gewerkt. Oftewel, het vormt een gemeenschappelijke taal.

Experiment
“If 1 woman can give birth to a baby in 9 months, can 9 women give birth to a baby in 1 month?”

“Yes, it's called division of labor. You have each woman produce a designated one ninth of the baby, and after a month you assemble the pieces. There are diminishing returns however, as the assembly time increases each time you divide the baby.”

Voor ons bevatte deze hackathon een extra experiment. We hebben onderzocht of je met een strakke voorbereiding en met 14 man tegelijkertijd aan een product kon werken om zo (na 6 uur) alle onderdelen samen te voegen. De zaken die we al voorbereid hadden waren:

1. Productvisie: Wat gaan we maken en wat moet het product doen.
2. Ontwerp: Voor de gebruikersonderdelen was het ontwerp al gemaakt.
3. API: Alle verschillende onderdelen die met elkaar moeten communiceren, ging via een API. Doordat deze van te voren was gebouwd kon iedereen meteen aan de slag.

Conclusie
Doordat we onderdelen van te voren hadden opgesplitst, konden de 14 ontwikkelaars tegelijkertijd werken. De 4 teams bleken perfect in staat om ervoor te zorgen dat iedereen zelfstandig kon werken aan de activiteiten binnen een onderdeel. De goede voorbereiding hierbij was dan ook een must. Een productvisie en een productbacklog (eventueel aangevuld met een ontwerp) waren hard nodig om snel door te kunnen bouwen.

Tijdens de hackathon ging er veel tijd zitten in het eigen maken van nieuwe technieken. Na 6 uur volop ontwikkelen kunnen we concluderen dat we voor ongeveer 50% klaar zijn met het realiseren van de PugTiger app.

The final product?
We zouden je in geuren en kleuren willen vertellen over wat we tot zo ver hebben ontwikkeld, maar omdat we pas op de helft zitten is dit toch een tikkeltje irrelevant. We zijn enorm trots dat we een heel eind zijn gekomen en gaan bekijken wanneer het haalbaar is om de PubTiger app met een aantal enthousiaste ontwikkelaars af te ronden. Wie weet halen we de appstore wel! To be continued dus...

overlay
Meer informatie?

Wil je meer weten?

Ik help je graag verder!

Jefry van den Hoeven