print logo

10.000 Stunden Arbeit pro Software-Release – ein Blick hinter die Kulissen der Agentursoftware easyJOB

Wie entdeckt man Fehler, bevor man eine neue Programmversion ausliefert? Diese und weitere Fragen beantworten Ihnen drei Entwickler im Interview.
Henrike Krabbenhöft | 12.06.2019
© Henrike Krabbenhöft
 
Thomas Zabransky, Philipp Lasslesberger und Wolfgang Dinstl tragen nicht nur dazu bei, dass easyJOB im Alltag einwandfrei funktioniert. In regelmäßigen Software Releases setzen die drei Entwickler, neben eigenen Ideen für neue Funktionen, auch individuelle Kundenwünsche an unsere Agentursoftware easyJOB um. Warum das nicht immer so einfach ist, wie es klingt, und in welche Aufgaben die rund 10.000 Arbeitsstunden pro Release investiert werden, erzählen die Programmier-Profis im Interview – ganz ohne Nerd-Begriffe und für jedermann verständlich.

Wolfgang, Philipp und Tomi, welches sind die größten Herausforderungen bei der Vorbereitung eines neuen Releases?


Wolfgang: Die Kundenwünsche zu ordnen und zu bewerten. Welche setzen wir um, welche stellen wir zurück? Unser Ziel ist dabei immer, dass möglichst viele Kunden vom neuen Release profitieren. Das beinhaltet ganz neue Funktionen, aber auch generelle Verbesserungen der Software.

Philipp: ich finde die möglichen Wechselwirkungen besonders herausfordernd. easyJOB ist ein über viele Jahre gewachsenes Produkt mit einer immensen Anzahl an Funktionen. Jede Änderung oder Erweiterung kann eine bereits bestehende Funktion beeinflussen. Bevor wir eine vernünftige Einschätzung abgeben können, welche Wünsche sich umsetzen lassen, versuchen wir alle eventuellen Auswirkungen zusammen zu tragen. Das allein ist schon eine große Herausforderung.

Ihr habt schon reichlich „Release-Erfahrung“. Wie habt Ihr die Arbeitsabläufe über die Jahre optimiert?


Wolfgang: Mittlerweile profitieren wir von einer genauen Planung und sind auch als Team viel stärker: Insgesamt ist der Austausch miteinander engmaschiger geworden.

Philipp: Das stimmt. Wir arbeiten ständig an der Verbesserung unserer Abläufe. Der Fokus liegt hier auf Automatisierung. Dadurch gewinnen wir nicht nur wertvolle Entwickler-Ressourcen, sondern haben auch eine unmittelbare Qualitätssicherung. Die nächtlichen Überprüfungen, die wir inzwischen automatisch durchführen lassen, zeigen zeitnah Probleme auf, die wir früher erst beim späteren manuellen Testen gefunden hätten. Das spart eine Menge Zeit.

Tomi: Die Optimierung unserer eigenen Prozesse erfordert natürlich Zeit und den Willen interne Veränderungen und Investitionen zu tätigen, die auf den ersten Blick nichts mit einem Release zu tun haben. Wir benutzen zum Beispiel kleine Programme, die von Kollegen hier bei Because Software geschrieben wurden. Ich möchte diese Tools auf keinen Fall missen. Aber auch hier brauchen wir Zeit für Wartung, Pflege und Optimierung. Hinter den Kulissen wird einfach Großartiges geleistet!

Verwendet Ihr ein spezielles Tool, um bei der Planung den Überblick zu behalten?


Wolfgang: Ja, das Programm Ontime als Release-Manager, das hat sich gut bewährt.

Welche Phase des Release-Prozesses ist am anstrengendsten?


Wolfgang: Ich würde sagen Planungsphase, Aufwandsschätzung und Konzepterstellung. Aber auch die Fertigstellung und das anschließende Testen haben es in sich – denn dann geht es darum, ob wir unsere Terminplanung auch wirklich einhalten können.

Philipp: Ich finde die zeitliche Planung für ein neues Release am intensivsten. Die läuft üblicherweise schon parallel zur Fertigstellung des aktuellen Releases. Entsprechend wenig Zeit haben wir als Entwickler für Anforderungen, Analyse und Aufwandsschätzung für das nächste Update. Wir müssen mit allem rechtzeitig fertig werden, damit nach dem Release kein Loch entsteht.

„...und dann krempeln wir auch schon die Ärmel wieder hoch – denn nach dem Release ist vor dem Release“

Tomi: Meist haben wir uns ein straffes Pensum an Aufgaben vorgenommen und uns hohe Ziele gesteckt. Dabei gibt es immer wieder Routinearbeiten und programmiertechnische Herausforderungen. Manchmal treten Komplikationen oder problematische Abhängigkeiten erst auf, wenn man eine Funktion programmiert hat. Die Lösung kann sich schon mal in die Länge ziehen.
Neben der Entwicklung neuer Features müssen wir uns um die Fehlerbehebung kümmern. Die anstrengendste Phase ist meiner Meinung nach daher vor allem die Zeit kurz vor dem offiziellen Releasetermin. Danach atmen wir kurz durch und dann krempeln wir die Ärmel wieder hoch – denn nach dem Release ist vor dem Release.

Wie viele Stunden Programmieraufwand umfasst ein Release?


Wolfgang: Alles in allem wohl um die 10.000 Stunden. Die Hälfte davon ist reine Programmierung. Der Rest entfällt auf Planung, Testen und Dokumentation.

Tomi: Gefühlt, sind es eine Fantastilliarde an Stunden! Aber für den enormen Arbeitsaufwand sind wir verhältnismäßig schnell in der Umsetzung.

Wie überprüft Ihr, ob das neue Release einwandfrei funktioniert?


Wolfgang: Ein wichtiger Vorgang bei uns ist das Code Review: Dabei schauen immer mindestens zwei Entwickler auf die fertige Programmierung. Zudem führen wir einzelne Unit Tests (Prüfung einer neuen Funktionalität) durch und testen das Release während der gesamten Entwicklungsphase.

„Unser Team macht einen wirklich guten Job. Nur die allerwenigsten Fehler kommen an uns vorbei“

Philipp: Bei der Qualitätssicherung leistet unser Test-Team hervorragende Arbeit. Eine der Herausforderungen ist eine Standardisierung und fortschreitende Automatisierung der Tests. Das betrifft vor allem Regressionen (darunter versteht man in der Softwaretechnik die Wiederholung von Testfällen, um sicherzustellen, dass Modifikationen in bereits getesteten Teilen der Software keine neuen Fehler verursachen). Nur anhand der Beschreibung eines Wunsches lässt sich schwer abschätzen, welche Folgen dieser für bereits bestehende Funktionen hat.

Tomi: Mit dem Testen ist es so wie beim Erlernen von Fremdsprachen oder beim Kochen: Man kann eine Sprache gut beherrschen oder ein gutes Essen zubereiten. Aber man kann keine Sprache zu gut sprechen, und es hat sich auch noch niemand über ein zu gutes Essen beschwert.
Heißt: Es gibt immer Luft nach oben. Kein Programm läuft fehlerlos. Es können noch so viele Entwickler den Code kontrollieren und automatisierte Tests durchführen, manche Fehler stehlen sich trotzdem in das finale Release. Wenn es danach geht, kann man einfach nie genug testen. Aber unser Team macht einen wirklich guten Job. Nur die allerwenigsten Fehler kommen an uns vorbei.

Jedes Release ist ein Fortschritt bei easyJOB. Was ist Euer persönliches Ziel dabei?


Wolfgang: Wir möchten den Wissenstransfer weiter ausbauen und das Know-how der easyJOB-Anwender verbessern. Dabei stehen vor allem Schulungen und die Einbindung neuer Technologien im Mittelpunkt.

Philipp: easyJOB ist in vielen Agenturen das zentrale Informationssystem. Um es in Zeiten diversifizierter Systemlandschaften den Nutzern so einfach wie möglich zu machen, arbeiten wir daran, die Plattform zu öffnen und möglichst niederschwellige, standardisierte Netzwerkschnittstellen bereit zu stellen. Die mobile easyJOB App verwendet diese bereits, und ich freue mich, dass wir sie jetzt auch unseren Kunden zur Verfügung stellen können.

Tomi: Kurz gesagt: Wir wollen einfach alles schöner, schneller und noch einfacher machen!

Reden wir zum Schluss noch über ein Buzzword: „Agiles Projektmanagement“. Inwieweit verfolgt Ihr diesen Ansatz?


Philipp: Aus rein formaler Sicht eher spärlich. Unser Entwicklerteam ist klein genug, um viele Dinge direkt „über den Tisch“ zu klären. Das geht schneller, als alles offiziell in „Sprints“ zu packen. Aber viele Grundgedanken des Agilen Arbeitens sind bei uns in der Unternehmenskultur fest verankert: Rapid Prototyping etwa, kurze Iterationen und direktes Feedback ermöglichen uns eine gute Durchlaufzeit vom Wunsch bis zur fertigen Funktion ohne zu großen organisatorischen Aufwand.

Wolfgang: Im Alltag sind wir sehr agil: Unsere kleinen Teams arbeiten sehr eng zusammen und führen fast täglich Diskussionen über die wichtigsten Themen. Unsere Aufgaben sind möglichst kleinteilig aufgebaut, das gilt für den gesamten Entwicklungsprozess. Diesen haben wir Meilensteine unterteilt. Wenn dringende und kurzfristige Wünsche kommen, sind wir in der Lage, schnell zu reagieren. Ich würde das durchaus als Agiles Projektmanagement bezeichnen.

In unserem Blog finden Sie alle wichtigen Informationen rund um die neuesten easyJOB-Releases.

Wenn Sie an weiteren Neuigkeiten rund um easyJOB interessiert sind, besuchen Sie uns doch auf unserer Website oder schauen Sie in unseren Blog.