Motivation & Ziele
Spätestens seit dem Erfolg im Jahr 2020 wussten wir, dass wir unbedingt nochmal einen newcubator-Hackathon durchführen möchten. Leider machte uns die Pandemie in den letzten beiden Jahren einen großen Strich durch die Rechnung. Nach den Monaten an räumlicher Trennung, durch die sogar die Mitarbeiter:innen an den jeweiligen Standorten sich nur selten zu Gesicht bekamen, war es dieses Jahr endlich soweit. Um das „Wir-Gefühl“ auf’s nächste Level zu bringen, beschlossen wir, uns gemeinsam eine Woche lang in einem Ferienhaus in den Niederlanden einzuschließen und drauflos zu programmieren.
Genauso wichtig wie das soziale Zusammenrücken war uns, dass jede:r Teilnehmer:in etwas lernt und wir als Firma in dieser Woche vorwärts kommen. Wir wählten also die Entwicklung einer mobilen App als Hackathon-Projekt, um auch diese Dienstleistung noch stärker für unsere Kunden anbieten zu können und mehr Erfahrung im Bereich App-Entwicklung zu sammeln.
Dabei wollten wir uns natürlich eines möglichst breiten Tech-Stacks bedienen. So entstand die Idee, jeweils zwei Backend Anwendungen (mit Spring und Nestjs) und zwei Frontend Anwendungen (mit Angular und React) zu bauen. Jeder Entwickler konnte sich dann aussuchen, bei welchem Teil der Anwendung er mitwirken wollte und so auch mal in für ihn nicht alltägliche Technologien reinschnuppern.
Zu guter Letzt steht bei uns die Weiterbildung unserer Mitarbeiter:innen auch hier im Vordergrund. Wir wollten allen ermöglichen, einen tieferen Einblick in bislang bei uns noch nicht verwendete Technologien zu bekommen. Also haben wir GraphQL als Client-Server-Schnittstelle und Capacitor für die Konvertierung in native Apps eingesetzt. Unsere Vertriebs- und Marketingabteilung war zwar an dem Hackathon-Projekt nicht beteiligt, sondern ging in dem Ferienhaus dem normalen Tagesgeschäft nach, konnte aber durch die enge räumliche Zusammenarbeit vor Ort einen guten Einblick in die Arbeitsweisen bei der Softwareentwicklung bekommen.
Challenges und Vorbereitungen
Im Vorfeld waren natürlich diverse organisatorische Schwierigkeiten zu bewältigen. Sobald der Termin abgemacht war, erwies sich das Finden einer geeigneten Location für bis zu 20 Personen mit genügend Arbeitsräumen genauso als Herausforderung wie der Transport aller Mitarbeitenden mit Gepäck zum Ferienhaus. Auch die Essensplanung, Projektteamfindung und das Verschieben von für diese Woche geplanten Terminen wurden mit vielen Absprachen bewältigt.
Nachdem diese Schwierigkeiten aber alle gelöst waren, blieb die größte Challenge noch aus: die Hackathon-Veranstaltung an sich. Der Tech-Stack stand schon fest, nun brauchte es ein geeignetes Thema, was für jeden verständlich und nicht zu komplex war, um in der kurzen Zeit zufriedenstellende Lösungen erarbeiten zu können. Schließlich sollte in nur vier Nachmittagen mit 13 Entwicklern eine vorzeigbare Demo-App entstehen. Die entwickelte Anwendung sollte demonstrieren, wie eine mobile „New Work“ Lösung zur Außendienst-Digitalisierung (am Beispiel eines Möbelmontageservices) aussehen und funktionieren könnte.
Um die Rampup Phase des Projekts möglichst kurz zu halten, musste im Vorfeld fachlich und technisch schon einiges vorbereitet werden. Für eine agile und parallele Arbeitsweise wurden in Teamarbeit gut geschnittene User Stories geschrieben. Anschließend folgte die Einrichtung eines Monorepos mit den vier Einzelanwendungen und allen notwendigen Abhängigkeiten, sowie einer Datenbank und einer CI Pipeline. Das Wichtigste auf technischer Seite war allerdings, die gemeinsame Schnittstelle, das GraphQL Schema, vorher größtenteils zu definieren, damit jedes Team ohne große Absprache für sich arbeiten konnte und am Ende jeder der beiden Clients mit jedem der beiden Server reden konnte.
Die Teams mussten beim Startschuss also nur noch in die Fachlichkeit, also in die User Stories und die Produktvision, eingewiesen werden und konnten anschließend direkt los hacken.
Durchführung
Als Ausgangspunkt für unsere Arbeitsweise im Hackathon haben wir uns für das bewährte Scrum-Framework entschieden und dieses der Situation entsprechend angepasst. Das Kickoff am ersten Tag, in dem der Product Owner (PO) Jörg seine Vision und die User Stories vorstellte, gab den Startschuss zum „Los-Hacken“. Die Folgetage begannen und endeten jeweils mit kurzen Standup- Meetings zur Koordinierung zwischen den Teams. Zum Abschluss des Hackathons wurde dann noch eine gemeinsame Review mit den Entwicklern und dem PO durchgeführt, und natürlich eine Retrospektive, in der eine Bilanz über den gesamten (natürlich erfolgreichen!) Hackathon gezogen wurde. Im Endeffekt umfasste die Entwicklung an der App also einen knapp einwöchigen Sprint mit so wenig in Meetings verbrachter Zeit und so viel Programmierzeit wie möglich.
Jedes der Einzel-Teams wählte vor Ort einen eigenen Aufenhaltsraum, in den es sich nach dem Daily zurückziehen und konzentriert arbeiten konnte. Teammitglieder, für die die jeweilige Technologie neu war, wurden zügig mit einer kurzen Einführung abgeholt und konnten so im Pair Programming nicht nur einiges neues lernen, sondern direkt aktiv zum Code beitragen.
Das newcubator - Teambuilding wurde durch lange Mittagspausen und Aktivitäten wie gemeinsames Kochen und Essen, Grillen, Mückenjagen, Tischtennis und Schach oder Werwolf spielen noch abgerundet. Einige vom Ehrgeiz Gepackte legten auch nach Feierabend die MacBooks nicht weg, sondern programmierten bis tief in der Nacht, um angefangene Features noch fertigzustellen, Bugs zu fixen und Pipelines zum Laufen zu bringen.
Ergebnisse
Wir sind mit einer offenen Erwartungshaltung in den Hackathon gefahren und wurden alle positiv überrascht. Alle geforderten Userstories konnten weitestgehend umgesetzt werden, sodass wir am Ende mit einem vorzeigbaren Prototypen nach Hause fahren konnten, der nur noch an wenigen Ecken ein bisschen Feinschliff benötigte. Auch das Teambuilding war ein Erfolg. Wir konnten uns alle sowohl privat als auch beruflich besser kennenlernen und so die Distanz zwischen Dortmund und Hannover deutlich verringern.
Die Woche hat so viel Spaß gemacht, wir haben so viel gelernt und das Ergebnis des Hackathons fiel so gut aus, dass wir bereits angefangen haben, den Hackathon 2023 zu planen!