Hackathon @ agido - Die Nachlese

Eine Neuauflage des Hackathons musste her. Die Erkenntnisse der Vergangenheit fanden dabei Beachtung. Das Ergebnis lässt sich sehen und wird weiterentwickelt.
Unsere diesjährigen Themen haben wir aus diversen Vorschlägen und Abstimmungen innerhalb der Mitarbeiterschaft abgeleitet. Übrig blieben drei Themen, die von insgesamt gut 20 Mitarbeitern an zwei vollen Tagen bearbeitet wurden.

Vor sieben Jahren war ein Hackathon noch etwas Außergewöhnliches, was nicht so oft vorkam. Kramt man in den alten Artikeln, findet sich sogar noch eine alte Wikipedia-Beschreibung.

Der Vergleich der Wikipedia-Texte von heute (2021) und vor 7 Jahren fördert ebenfalls zu Tage, dass es seitdem Änderungen gab. Die heutige Definition:

Ein Hackathon (Wortschöpfung aus „Hack“ und „Marathon“) ist eine kollaborative Soft- und Hardwareentwicklungs­veranstaltung. Alternative Bezeichnungen sind „Hack Day“, „Hackfest“ und „codefest“. Ziel eines Hackathons ist es, innerhalb der Dauer dieser Veranstaltung gemeinsam nützliche, kreative oder unterhaltsame Softwareprodukte herzustellen oder, allgemeiner, Lösungen für gegebene Probleme zu finden. Die Teilnehmer kommen bei Software-Hackathons üblicherweise aus verschiedenen Gebieten der Software- oder Hardwareindustrie und bearbeiten ihre Projekte häufig in funktionsübergreifenden Teams. Hackathons haben immer ein spezifisches Thema oder sind technologiebezogen.

(Quelle: Wikipedia)

Leider hat Wikipedia den Fokus des "primär sozialen oder weiterbildungsnahen Events" gekippt. Wir nicht! Neben der Entwicklung zweiter spezieller Themen stand ein Technologie-Thema auf der Agenda.

 

1. Docker/K8

Das was sich mit so wenigen Buchstaben tarnt, ist ein ausgesprochen umfangreiches und komplexes infrastrukturelles Thema. Es fand sich ein Team von sechs Leuten, die sich eingehend damit beschäftigt haben.

Neue Technologien: Docker Container, Kubernetes, Akka

 

Zentrale Fragen dieses Themas und ihre Antworten darauf

Was wollen wir auf der Infrastruktur betreiben?

Zunächst ging es darum, überhaupt einen Container zu bauen und neue Mitarbeiter in das Thema einzuführen. Nachdem dies erreicht war, wurde eine kleine last-intensive Anwendung geschrieben (Berechnung von Fibonacci-Zahlen, Fakultät, Potenzen mit Rekursion), damit über Kubernetes in die Breite skaliert wird.

Was kann uns aufhalten? 

Als Learnings konnte bei der Präsentation am Ende des Hackathons festgestellt werden, dass Docker sehr straight forward und einfach funktioniert. Man beschreibt die Anwendung, die man haben möchte in einer Config, so dass am Ende ein ausführbarer Container herauskommt. Was als Herausforderung dabei festgestellt wurde, ist die nicht vorhandene Transparenz, so dass es für Entwickler schwierig ist, zielgerichtet in diese Richtung zu implementieren.

Ab der Cluster-Komponente wird es kompliziert. Debuggen im Container ist auch nicht möglich. Nicht zuletzt konnte festgestellt werden, dass die Architektur gruselig ist. Man muss von vornherein wissen, wie das Zielsystem und dessen Maschine aussieht, um mit genau diesem System das Ganze zu generieren. Tut man dies nicht, rennt man in die Falle, dass die generierte Anwendung und Umgebung auf dem Targetsystem nicht laufen.

Als positiv konnte festgestellt werden, dass das Bauen der Anwendung und das Docker publish sehr schnell und sehr gut gehen. 

Wie geht es weiter?

Dieses Projekt wird in den Arbeitsalltag integriert. Anfänge gab es bereits vor dem Hackathon, der der Sache neuen Aufschwung und weitere mögliche Mitarbeiter ermöglicht hat.

 

2. Spendenerweiterung der Sportwetten-Software

Geistiger Schirmherr dieses Themas ist unser Kollege Tobias Springer. Die Idee kam ihm während eines Einkaufs beim Discounter und dessen Plakat an der Kasse “Abrunden bitte!”. Kurze Zeit später präsentierte er die Idee der Geschäftsführung, die sich sofort dafür begeistern konnte. Leider verzögerten Tagesgeschäft und Personalmangel die sofortige Umsetzung, so dass sich nun der Hackathon als geeignete Plattform anbot.

Ein Team von sechs Mitarbeitern kümmerte sich an den beiden Hackathon-Tagen um Konzeption und Umsetzung.

 

 

 

Neue Technologien: Keine neuen, stattdessen Einarbeitung der Mitarbeiter in andere Teile der Anwendung, die aktuell nicht zum Arbeitsalltag gehören

Zentrale Fragen und ihre Antworten

Wie funktioniert es?

Innerhalb der aktuellen Anwendung gibt es bereits jetzt für bestimmte Länder die Möglichkeit, Bonus-Punkte zu sammeln. Dieses System wurde weiterentwickelt, so dass die Bonus-Punkte in Spenden umgewandelt werden können.

Was hat es gebracht?

Mitarbeiter konnten eine neue Sicht entwickeln und bisher unbekannte Bereiche entdecken. Außerdem wurde ein wertvolles Thema bis zu einem brauchbaren Prototyp nach vorne getrieben.

Wie geht es weiter?

Der entstandene Prototyp eignet sich in jedem Fall als Grundlage zur Weiterentwicklung und soll in den kommenden Wochen bis zur Produktreife gebracht werden.

 

3. Zeiterfassung 2.0

Dieses sehr ambitionierte Projekt - sowohl inhaltlich als auch vom Umfang - bedurfte zunächst intensiver Diskussion über die umzusetzenden Inhalte. Ziel der agido-internen Zeiterfassung ist es, Projekte mit An- und Abwesenheiten zu verknüpfen.

Das Team war mit elf Mitarbeitern etwas stärker besetzt, um die Entwicklung möglichst weit zu bringen.

 

 

Neue Technologien: Svelte.js, Node.js

Zentrale Fragen und ihre Antworten darauf

Wie funktioniert es?

Unsere Zeiterfassung kann bereits jetzt auf jede beliebige URL tracken und verbindet Zeiterfassung mit Projektmanagement. Dies sollte so bleiben. Das sehr technische und eher Kommandozeilen-orientierte Design soll in der neuen Version um Dashboards für Mitarbeiter und Vorgesetzte erweitert werden. Dabei wird ohne Rechte und Rollen gearbeitet. Stattdessen gibt man in Anlehnung an Google seine Daten für beliebige Personen frei. Damit ist es sehr einfach möglich, gleichzeitig in mehreren Teams zu sein und dem jeweiligen Teamleiter den Überblick über die erledigten Themen zur Verfügung zu stellen.

Welche Erkenntnisse hat es gebracht?

Svelte konnte ausreichend ausprobiert werden, um einen Vergleich mit React anzustellen. Am Ende war man sich einig, dass es sich in unserem Fall nicht lohnt, von React auf Svelte zu wechseln. Svelte ist zwar neuer als React, bietet für uns aber keinen so großen Benefit, als dass sich ein Umschreiben der Software lohnt.

Wie geht es weiter?

Schlussendlich soll die Zeiterfassung zu einem Open Source Projekt werden und so einer größeren Klientel zugute kommen. In den kommenden Wochen soll der Prototyp zu einem MVP entwickelt werden, dass Open Source downloadbar ist.

 

Teaser für die Zeiterfassung

Das Widget, um die Zeiterfassung zu starten oder zu stoppen, zeigt sich im zeitgemäßen Design. Die bereits geleistete Zeit für einen Tag steht über dem Pause-Button (= Play-Button, wenn mit dem Tracking noch nicht begonnen wurde), das Tagesziel darunter. Eine graphische Darstellung der Ziel- versus geleisteten Zeit umrahmt die Funktionalität.

Unter der Zeitkomponente wird angezeigt, welches Topic aktuell bearbeitet wird.

Die Lupe gibt weitere Informationen zum Topic preis.

Die Komponenten der Dashboards sind noch in Bearbeitung.

 

Da war doch noch was ...

Ach ja, das Soziale :D

Neben dem Teamwork in den einzelnen Hackathon-Teams haben wir zusammen gegessen, gelacht, zum Schluss noch getrunken und gekickert.

Wer hier mit welchem Handicap an den Start ging, war ziemlich egal.

 

 

 

Es war eine sehr inspirirende Veranstaltung mit klarer Empfehlung, beim nächsten Mal wieder dabei zu sein.