Internes Tooling bei Atmina

Thorsten Thiel

internes-tooling-bei-atmina

Wir bauen unsere besten Lösungen selbst:

Der Weg des internen Toolings bei Atmina

Individuelle Software entwickeln, das ist unser Kerngeschäft bei Atmina Solutions. Das Team steigt dabei tief ein in die fachlichen Herausforderungen der jeweiligen Branche unserer Kunden – und braucht für die Entwicklungsarbeit einen freien Kopf. Das interne Tooling war dabei in der Anfangszeit nach Gründung vor sieben Jahren noch kaum ein Thema: Drei Menschen arbeiteten im selben Raum am gleichen Projekt und haben sich direkt miteinander verständigt, dazu eine IDE, ein git-Server (Gitolite) und unser erstes Issue-Verwaltungstool: eine Excel-Datei.

Heute sind wir rund 20 Menschen in einem innovativen, dynamischen Team, arbeiten an diversen Projekten unterschiedlichster Branchen – und das in flexiblen Arbeitszeitmodellen, Homeoffice ist bei uns jederzeit möglich. Teammeetings finden nicht selten digital statt. Und auch der Markt ist mittlerweile voller Angebote digitaler Helfer. Optimales internes Tooling ist für uns zum Gamechanger geworden. Die beste Lösung bauen wir oft selbst, doch auch für oder gegen den Einsatz von Tools haben wir zentrale Grundsätze entwickelt:

Die Basics für den Einsatz eines Tools im Überblick

  • Ist das Tool entwicklerfreundlich? Wir nutzen nur Tools, die unsere Entwickler glücklicher und produktiver machen.
  • Sicherheit & Datenschutz: Wir arbeiten mit unseren Kunden häufig an besonders sensiblen Daten. Wir müssen wissen, dass sie sicher aufbewahrt werden und wir die volle Kontrolle über sie haben.
  • Open Source & Schnittstellen: Lässt sich das Tools an unseren Bedarf anpassen? Wir wollen nicht von den Prioritäten eines anderen Unternehmens abhängig sein.
  • Integration: Unsere Tools sollen miteinander korrespondieren und so Datensilos verhindern. Datengetriebene Entscheidungen sind für uns von zentraler Bedeutung.

Eine Zeitreise im internen Tooling: Den Anfang hat GitLab gemacht

In einem ersten Schritt haben wir unseren git-Server und die Issue-Verwaltung mit GitLab integriert. Aus unserer Sicht ein echter Glücksgriff, denn nach den eher einfachen Anfängen ist das System GitHub mittlerweile in einigen Aspekten sogar überlegen. Besonders der Bereich Integration war einer der wichtigsten Entscheidungsgrundlagen für GitLab: Mit dem eingebauten CI/CD System, der integrierten Möglichkeit, mit Merge-Requests Code-Reviews durchzuführen und der Sichtbarkeit für jeden Entwickler waren damit viele weitere Aspekte integraler Bestandteil unserer Softwareentwicklungsprozesse.

Ein Kernstück unserer Kommunikation: Mattermost

Mattermost ist längst unser zentrales Kommunikationsmittel im Team. Dabei punkten Channel für jedes Projekt, Meta-Channel für den Austausch über Technologien – und auch einige, die eher weniger mit der Arbeit zu tun haben – wie der „Memes“ Channel. Der webbasierte Instant-Messaging-Dienst Mattermost ist aus unserem Alltag nicht mehr wegzudenken. Aufmerksam geworden auf dieses Tool sind wir übrigens schon früh durch GitLab.

Atmina: Das richtige Setting für eigene Ideen

Atmina ist eine täglich lernende Organisation: In unserem Unternehmen wird mit OKR (Objectives & Key Results) ein zeitgemäßes, agiles Framework für das Zielmanagement, zur Mitarbeiterführung und für das Performance Management genutzt. Das bringt uns die Agilität, die es in der komplexen Welt von heute braucht: Jeder bei uns ist Experte auf seinem eigenen Gebiet und kann dieses Wissen in den einzelnen Key-Result-Teams zu jeder Zeit einbringen – und hat auch Raum und Zeit, um an der Firma zu arbeiten. Das Ergebnis: Wir erleben eine regelrechte Explosion selbst entwickelter Tools, die meist in kleinen Teams von 2 bis 3 Mitarbeitenden in OKR-Iterationen entstehen.

Entwickele auch Dein Potenzial bei uns

Wir sind ein starkes Team bei Atmina und haben deshalb auch ein eigenes Tool für Bewerber entwickelt. Ob als Azubi, Programmierer oder Informatiker – wir wollen, dass sich Interessierte bei uns so wohl wie möglich fühlen und sich mit uns weiterentwickeln können. Deshalb ist das Tool passgenau und bedarfsgerecht gestaltet.

Das Planning-Poker digital

Poker

Jeder Entwickler kennt es nur zu gut: Zu jedem Entwicklungsprojekt gehört früher oder später das Schätzen von Items. Alle im Team wollen ein gemeinsames Verständnis von der Komplexität eines Backlog-Items entwickeln, herausfinden, wie viele Items wir im nächsten Sprint realistisch bearbeiten können – oder einfach Infos generieren, damit auch unsere Marketingkollegen ihre Arbeit starten können. Beim Planning-Poker trifft erst einmal jeder Entwickler verdeckt für sich selbst eine Schätzung. Dann gleichen wir diese Einschätzungen miteinander ab und diskutieren die Unterschiede, bis wir Konsens haben. Spätestens mit Beginn der Pandemie brauchten wir auch hier ein passendes digitales Tool, um die Fakten weiterhin auf einen gemeinsamen Tisch zu bringen. Wir haben vorher einige Tools ausprobiert – die beste Lösung für uns ist dann doch unsere selbst entwickelte, da Schätzen selbst zwischen unseren Teams unterschiedlich funktioniert, z.B. hinsichtlich der verwendeten Metriken.

Automatisierung von Workflows mit Andromeda in GitLab

Optimale Workflows sind wichtig für den Erfolg eines Entwicklerteams. GitLab automatisiert von sich aus schon viele Aspekte des Entwickleralltags. Aber bei der Optimierung von Workflows bleibt es hinter anderen Tools wie beispielsweise Jira zurück. Deshalb haben wir begonnen, das mit unserem eigenen Andromeda-Projekt zu ändern. So können wir jetzt gemeinsame Abläufe in GitLab automatisieren. Praktisch heißt das: Wenn sich ein Entwickler für das nächste Issue entschieden hat, wird direkt ein Branch mit Merge Request geöffnet, bei Abschluss des Items automatisch bei Mattermost auf das Code-Review hingewiesen – und der Merge eines Issues dann mit den passenden Emojis kommentiert. 🚀 🔥

Der Weg geht weiter: Wir wollen ein konsistentes System

Die Herausforderungen ans interne Tooling gehen natürlich auch in Zukunft weiter: Unser nächster Fokus liegt auf dem Zusammenführen der einzelnen Apps hin zu einem konsistenten System. Noch diskutieren wir, wie wir das am besten erreichen können. Wir halten Euch in weiteren Blogposts auf dem Laufenden! Wir haben Dich inspiriert und Du willst mit uns gemeinsam die nächste Stufe unseres Toolings entwickeln? Dann freuen wir uns darauf, Dich bald kennenzulernen!

Themen:

  • Softwareentwicklung
  • Technik
  • Von Entwickler zu Entwickler