Jira ist eine der am meisten verbreiteten Lösungen, um die Entwicklung von Software zu überwachen. Was weniger bekannt ist: Jira lässt sich hervorragend automatisieren. Viele wiederkehrende Aufgaben können vollautomatisch ablaufen. So können Risiken verringert werden und Sie können sogar Kosten sparen. Mit Jira können Projektmanager sich das Leben leichter machen und die Qualität verbessern.

Was spricht für die Automatisierung?

Immer wieder begegnen wir skeptischen Blicken, wenn wir unseren Kunden die Atlassian-Produkte vorstellen. Viele Teams sehen den Projektmanager dafür verantwortlich, Tickets zu erstellen und zu verwalten und wollen stattdessen nur die Software entwickeln. Tickets werden als unnötige Verwaltungsarbeit angesehen, die man vermeiden will. Ganz unrecht haben die Bedenkenträger nicht: Mehrarbeit sollte im Projekt vermieden werden und kann als Verschwendung gesehen werden. Unsere Aufgabe als Berater ist aber, Jira und sein Potenzial in der kompletten Tool-Chain darzustellen und verständlich zu machen.

Jira verursacht nur dann Verschwendung, wenn es nicht richtig eingesetzt wird. Denn eigentlich soll es die Arbeit erleichtern. Das Werkzeug soll helfen, Daten, Checklisten und ähnliches automatisch zu prüfen und abzugleichen.

Ein weiteres Argument ist die Fehlerrate. Jede manuelle Arbeit bedeutet ein Fehlerrisiko. Müssen Mitarbeiter ihre Tasks selbst verwalten? Werden Eingaben abgeglichen und überprüft? Werden die Rechte für Eingaben sinnvoll vergeben?

Was nach Kleinigkeiten aussieht, kann große Folgen haben und lässt sich mit einer Automatisierung vermeiden. So werden Kapazitäten für die eigentliche Entwicklungsarbeit frei.

 

Was kann alles automatisiert werden?

Um das gesamte Potenzial der Toolchain auszunutzen, kann man dem Developer-Leitsatz “Es ist wichtig, das zu automatisieren, was am meisten Schmerzen bereitet” folgen.

Sie können selbst einmal überprüfen, welche Tätigkeiten in Jira sie immer wieder ausführen, oder welche Abläufe sie mit dem Satz “Immer, wenn…. dann musst Du … einfügen” beschreiben können. Diese Abläufe sind hervorragende Kandidaten für eine Automatisierung, zum Beispiel mit Jira Scripting.

Etwas klarer soll das mit einigen Beispielen aus der Praxis werden. So können Sie besser verstehen, wie Sie effektiver und smarter Jira einsetzen und Ideen für eigene Automatisierungen bekommen.

 

Fallbeispiel 1: Prozesse & Methoden

Mit den Template-Projekten in Jira lassen sich viele Vorlagen-Tickets und die Lessons Learned sammeln. Hilfreich ist dabei die Clone-Funktion von Jira. Allerdings werden dabei zwar die Epics kopiert, nicht aber die mit ihnen verbundenen Stories – und schon ist man wieder bei der manuellen Arbeit. Dieses Problem lässt sich aber wunderbar automatisieren. Zum Beispiel können Sie eigens programmierte Funktionen zur Zuweisung von Tickets über Wenn/Dann/Andernfalls/-Schleifen implementieren. Mit einem Script lassen sich auch ganze Projekte kopieren. Das ist bei immer wiederkehrenden Projekten für einen Kunden sehr bequem.

 

Fallbeispiel 2: Projekt-Dokumentation

In einem Projekt sollen Features nur dann als ‘erledigt” markiert werden, wenn auch die Dokumentation erfolgt und eingetragen ist. Diese Freigabe ist Aufgabe des Mitarbeiters, der für die technische Dokumentation zuständig ist. Mit reinen Conditions und Validators kommt man nicht sehr weit. Stattdessen haben wir ein Script geschrieben, dass dieses Problem recht schnell lösen konnte.

 

Fallbeispiel 3: Testen & Qualitätskontrolle

Hier geht es darum, dass alle Rollen ihre eigenen Tools haben und diese miteinander verbunden sind. Die Product Owner verwenden Jira, Entwickler benutzen Bitbucket und die IDE. Mit unserem Script können die Bugs per Ticket in Jira erstellt werden, zum Beispiel wenn in der CI/CD-Pipeline Fehler gefunden wurden. Damit müssen die Entwickler nicht selbst ein Ticket anlegen und dennoch gibt es eine ordentliche Verfolgung.

 

Fallbeispiel 4: IT Service Management

Wenn man eine Knowledge-Base aufbauen will, kommt es oft zu einem Startproblem. Eine Base ohne Inhalte wird nicht genutzt, aber wenn man keine Nutzer hat, lohnt es sich auch nicht, die Base mit Wissen zu füttern. Eine Automatisierung kann Abhilfe schaffen. Wir haben ein Script geschrieben, das automatisch eine Confluence-Seite erstellt, wenn ein Vorfall als gelöst markiert wurde. Die so entstandenen Seiten mussten zwar noch ein wenig editiert werden, man spart aber den Aufwand, Entwicklung und Support mit einzuspannen.

 

Lohnt sich die Automatisierung?

Man könnte meinen, dass neu Scripte einen Aufwand darstellen, der dem Nutzen nicht entspricht und zu viel Geld kosten. Es werden Ressourcen im Projekt gebunden, um die Scripte zu schreiben, zudem braucht es eine Abstimmung und eigene QA für die Scripte. Und selbst wenn das Script ausgeliefert ist, muss es immer wieder überprüft und gewartet werden. Bei Updates von Jira muss man zum Beispiel überprüfen, ob Scripte davon betroffen sind und weiterhin reibungslos ablaufen. Wenn ihre Ressourcen ohnehin schon knapp sind, sollte Sie in der Tat überlegen ob Sie diese Scripte selbst schreiben oder externe Hilfe in Anspruch nehmen. Das kann zwar Kosten nach oben treiben, gefährdet aber das Projekt nicht.

Dem Aufwand steht aber der Nutzen gegenüber, und dieser drückt sich in der Minimierung von Risiken und Fehlern aus. Scripte und Automatisierungen verbessern die Datenqualität, und setzen sogar im Team Ressourcen frei, weil wiederkehrende Aufgaben automatisiert werden. Man kann recht einfach berechnen, wie viel diese Ressourcen wert sind und welche Vorteile sie bringen, wenn man Engstellen mit ihnen beseitigen kann.

Wenn Sie den Aufwand mit dem zu erwarteten Nutzen und der Risikoverminderung abwägen, bekommen Sie recht schnell ein klares Bild, ob sich die Automatisierung lohnt. Wenn ein Schritt, der jeden Tag mehrmals gleich gemacht wird, 5 Minuten dauert, sind das nach 12 Durchläufen schon 60 Minuten die man einsparen kann. Wenn man das noch auf die Projekttage umrechnet, kann man diesen Wert mit dem Aufwand für ein Automatisierungsscript vergleichen. In den meisten Fällen schneiden die Kosten für das Script deutlich besser ab.

 

Wie wird automatisiert?

Wir benutzen ein Jira Add-on namens “Scriptrunner für Jira”, dass von Adaptivist geschrieben wurde. Es kapselt die komplette Authentifizierung und die Jira-API ein. Mit im Paket ist auch eine Script Console, mit dem man unabhängig von der IDE wie INtelliJ Scripte schnell selbst schreiben kann. Die dabei verwendete Sprache ist Groovy, die sehr schnell gelernt werden kann.

Bei größeren Projekten verwenden wir Webhooks und API-Calls, zum Beispiel direkt aus einem PHP-Script. Das ist dann praktisch, wenn wir Daten mit anderen Systemen abgleichen müssen. Wir haben uns mittlerweile ein umfangreiches Wissen in diesem Bereich angeeignet und viele Projekte erfolgreich umgesetzt.

 

Zusammenfassung

Jira-Automatisierung ist nicht ein Spielfeld von Developern, die sich nur Arbeit ersparen wollen. Vielmehr ist es ein wertvolles Werkzeug, mit dem man Kosten sparen, Risiken vermeiden und Qualität verbessern kann. Das ist auch ein Vorteil für die gesamte Organisation, die über die einmal erfolgte ISO 9000-Zertifizierung hinaus ständig ein Verbesserungs- und Testwerkzeug hat. Die Routinen laufen eigenständig und es kann nichts mehr vergessen werden.

 

Wenn Sie selbst auch Zeit und Geld sparen wollen, stehen wir Ihnen gerne mit unserem Scripting-Know-How zur Verfügung!

 

 

 

 

 

 

 

 

Photo by Digital Buggu from Pexels