Artikel
Priorisierung und Reduzierung von technischen Schulden im Jira-Backlog mit Compass
KATIE SILVER
PRINCIPAL PRODUCT MANAGER, ATLASSIAN
Zusammenfassung
Technische Schulden, die durch Skalierung und die Notwendigkeit zur schnellen Auslieferung neuer Funktionen verursacht werden, sind eine gängige Herausforderung für Softwareteams. Wenn diese technischen Schulden überhandnehmen, bremsen sie auf Dauer die Velocity aus. Mit der internen Entwicklerplattform Atlassian Compass erhalten Teams einen zentralisierten Softwarekatalog, damit Entwickler Informationen schneller finden und den Zustand und die Leistung ihrer Software nachvollziehen können. Wenn du Jira-Vorgänge mit deinem Katalog und den Maßnahmen für den Systemzustand in Compass verknüpfst, können deine Teams beim Priorisieren des Backlogs schwerwiegende technische Schulden identifizieren und reduzieren, während sie gleichzeitig neue Funktionen mit gleichbleibender Geschwindigkeit ausliefern.
Zeit
8 Minuten zum Lesen. Das Einrichten von Compass dauert weniger als 10 Minuten.
Zielpublikum
Du bist Jira-Benutzer in einem Softwarebereitstellungsteam. Entwickler, Technikfachleute, Produktmanager und weitere Rollen können profitieren.
Zu viele technische Schulden in deinem Backlog? Damit bist du nicht allein!
Erstellen, messen, lernen – und das schnell: Agile Softwareteams liefern Code mit unglaublicher Geschwindigkeit aus. Dafür häufen sie allerdings technische Schulden an. Dieses unvermeidliche Phänomen gefährdet die Stabilität des Codes und bremst die Teams aus. Wie viel Einsicht hat dein Team in seine technischen Schulden? Anhand welcher Einblicke beurteilt ihr, wie ihr euer Backlog priorisieren solltet, um technische Schulden zu reduzieren und gleichzeitig weiterhin innovative neue Funktionen bereitzustellen? Hier erfährst du, wie du Prioritäten im Jira-Backlog einschätzt und die technischen Schulden deines Teams angehst, um die Softwarebereitstellung zu beschleunigen.
Technische Schulden sind ausstehende Arbeit, die dem Kunden versprochen, aber nicht geliefert wurde. Es kann sich auch um Fehler im Code oder Aufgabenelemente handeln, die die Agilität beeinträchtigen.
Die Ursache technischer Schulden: Geschwindigkeit und Skalierung
Teams stehen ständig unter dem Druck, neue Funktionen schnell bereitstellen zu müssen. Gleichzeitig werden die Produkte immer umfangreicher und die Teams größer, wodurch die Komplexität zunimmt. Es kommen immer mehr Services und Softwareprodukte hinzu. Die Zuständigkeiten sind nicht mehr klar, es bilden sich Wissenssilos und das Auffinden von Informationen wird schwieriger. Wenn die Produktkomplexität zunimmt, die Codebasis größer wird und die Teams der Auslieferung neuer Funktionen weiterhin Priorität einräumen, steigt die Wahrscheinlichkeit von Bugs und Leistungsproblemen. Die Zahlen sprechen für sich:
77%
of devs say their codebase grew 5x over the past 3 years [1]
15%
percent of a dev’s day that’s actually spent coding [2]
70%
of devs encounter a knowledge silo at least once a week [3]
1: Big Code in the AI Era, Sourcegraph; 2: Today was a good day: The Daily Life of Software Developers; 3: Stack Overflow, Developer Survey 2022
Unternehmen müssen schnell agieren, um wettbewerbsfähig zu bleiben. Wenn sie damit Erfolg haben, nehmen die Mitarbeiteranzahl, der Umsatz und die Auswahl an Produkten zu. Daher ist ein effektiver Umgang mit technischen Schulden für praktisch jedes Unternehmen wichtig. Wie viel Einsicht hat dein Team in seine technischen Schulden?
Backlog-Priorisierung und Reduzierung von technischen Schulden mit Compass
Wir bei Atlassian pflegen mit Compass einen zentralisierten Katalog aller Services, Bibliotheken, APIs und anderer Softwarekomponenten, die von unseren Teams entwickelt und betrieben werden. Unsere Teams nutzen diesen Softwarekatalog, um die Zuständigkeit für Services einfach nachzuverfolgen, Daten aus dem gesamten Unternehmen zu verknüpfen und den Zustand unserer Software zu ermitteln. Mit diesem Einblicken können die Teams ihre Arbeit effektiv priorisieren, schnell handeln und eine hohe Codequalität aufrechterhalten. Wenn wir diese Einblicke nutzen, um die richtigen technischen Schulden zu beheben, erhöht sich die künftige Velocity.
In diesem Artikel erklären wir, wie wir bei Atlassian mit unserer Entwicklerplattform Compass technische Schulden reduzieren und unser Jira-Backlog priorisieren.
Compass hilft Teams, die Auswirkungen ihrer Arbeit zu verstehen und effektiv zu planen
Compass ist die (interne) Entwicklerplattform von Atlassian. Sie wurde entwickelt, um Atlassian auf dem Weg zu Microservices zu unterstützen und die Entwicklererfahrung zu optimieren. Compass erleichtert den Entwicklern ihre tägliche Arbeit, weil sie Informationen und Einblicke schneller finden und der Weg zur Produktion beschleunigt wird:
Katalog
Vereinfache Entwicklern die Arbeit mit einem umfassenden Katalog von Softwarekomponenten.
Status
Wende Zustands-Scorecards an, erstelle und kommuniziere Richtlinien und verbessere das Entwicklererlebnis.
Erweiterbarkeit
Verbinde wichtige Servicedetails, um Zeit bei der Suche zu sparen und Kontextwechsel zu reduzieren.
Vorlagen
Automatisiere Konsistenz und beschleunige Produktionsabläufe mit vorgefertigten Software-Vorlagen.
Compass-Komponenten bieten Teams die Möglichkeit, ihre Software zentral zu katalogisieren und im Blick zu behalten. Als Komponente gilt dabei alles, was in einem Repository enthalten ist, also Services, Bibliotheken, ML-Modelle usw. Diese können nativ in Jira verknüpft werden, um einen Zusammenhang zwischen den Vorgängen aus dem Backlog und der echten Software herzustellen, auf die sie sich auswirken. So können Teams die Wirkung ihrer Arbeit besser nachvollziehen und sehen den Bezug zum Gesamtbild der Software.
Das Plattformentwicklungsteam von Atlassian zentralisiert mit Compass Informationen, Standards und Praktiken, die uns helfen, eine positive Entwicklererfahrung und eine entsprechende Kultur aufrechtzuerhalten. Das bedeutet: autonome Teams, klare Standards und Praktiken, klare Serviceverantwortung und weniger Zeitaufwand beim Suchen.
Startklar in wenigen Minuten mit Compass: Katalog, Metriken und Scorecards einrichten
Die Einrichtung von Compass dauert nur wenige Minuten: (1) Komponenten importieren, (2) Inhabertams für die Komponenten zuweisen, (3) Scorecards konfigurieren.
Schritt 1: Komponenten vom aktuellen Speicherort importieren
Für die meisten Teams bedeutet dies, dass sie ein SCM-Tool (Source Code Management) wie GitHub oder Bitbucket verbinden oder Repositorys importieren, die mit ihren Jira-Projekten verknüpft sind. Du kannst aber auch Komponenten aus einer CSV-Datei oder einer beliebigen Kombination dieser Quellen importieren, um schnell einen umfassenden Katalog mit allem zu erstellen, was deine Entwickler erstellen und verwalten.
Mit Compass bist du innerhalb weniger Minuten startklar, indem du einfach deine Komponenten vom aktuellen Speicherort importierst. Für die meisten Teams bedeutet dies, dass sie ein SCM-Tool (Source Code Management) wie GitHub oder Bitbucket verbinden oder Repositorys importieren, die mit ihren Jira-Projekten verknüpft sind. Du kannst aber auch Komponenten aus einer CSV-Datei oder einer beliebigen Kombination dieser Quellen importieren, um schnell einen umfassenden Katalog mit allem zu erstellen, was deine Entwickler erstellen und verwalten.
Schritt 2: Inhaberteams für die Komponenten zuweisen
Generell sollte jeder Komponente ein Team zugewiesen werden, das in erster Linie für ihren Betrieb verantwortlich ist. Das Hinzufügen eines Inhaberteams zu jeder Komponente stärkt eine Kultur der Autonomie, hilft Entwicklern, den Überblick über relevante Informationen zu behalten, und stellt Expertenwissen für jede Komponente sicher, auch wenn eine bestimmte Person oder ein Lead gerade nicht verfügbar ist. Bei Compass wird Atlassian Directory für Teamdefinitionen genutzt, sodass alle vorhandenen Teams, die du in Jira verwendest, bereits verfügbar sind.
Mit dem Komponentenkatalog können Entwickler in deiner gesamten Organisation schnell Dokumentation oder aktuelle CI/CD-Aktivitäten finden, die mit einem Service oder einer Bibliothek zusammenhängen. Dies steigert die Produktivität der Entwickler, da sie weniger Zeit in die Suche nach Informationen investieren müssen und Unterbrechungen wegfallen, weil sie sich die Informationen selbst beschaffen können.
Wenn ein SCM verbunden ist, erkennt Compass Ereignisse wie Deployments automatisch und fasst sie im Aktivitäten-Feed zusammen. Basierend auf den Ereignissen aus deinem Repository berechnet Compass automatisch mehrere wichtige Standardmetriken wie die Deployment-Häufigkeit und die Erfolgsrate von Builds. Du kannst DORA-Metriken einrichten und sogar benutzerdefinierte Daten verfolgen, beispielsweise die Anzahl der bestehenden Schwachstellen einer bestimmten Komponente.
Schritt 3: Scorecards konfigurieren, um Standards auf deine Komponenten anzuwenden
Sobald dein Katalog gefüllt ist und Metriken eingehen, kannst du mit Scorecards arbeiten. Scorecards werden verwendet, um Standards zu erstellen und sie auf Komponenten in deiner gesamten Organisation anzuwenden. In Scorecards kannst du beliebige Ziele für Komponentenmetriken und Felddaten verwenden. Dies trägt dazu bei, dass deine Softwarekomponenten fehlerfrei sind und die Teams die empfohlenen Praktiken befolgen. Compass enthält einige sofort einsatzbereite Standard-Scorecards mit Metriken, deren Nachverfolgung wir empfehlen, beispielsweise Komponentenbereitschaft und DevOps-Qualität. Du kannst aber auch eigene benutzerdefinierte Scorecards erstellen. Wenn Scorecards für deine Komponenten fehlschlagen, weißt du, um welche technischen Schulden du dich kümmern musst.
Um mit dem obigen Beispiel fortzufahren: Wir gehen jetzt die Sicherheit mit einer benutzerdefinierten Scorecard an, die fehlschlägt, wenn es zu einem bestimmten Zeitpunkt mehr als eine offene Schwachstelle gibt. Schwachstellen sind ein klassisches Beispiel für technische Schulden. Erstelle zunächst eine Metrik, um Schwachstellen zu verfolgen, und konfiguriere sie so, dass sie aus der richtigen Quelle für deine verschiedenen Komponenten abgerufen wird.
Wechsle als Nächstes in der oberen Navigationsleiste unter "Status" zur Registerkarte "Scorecards". Klicke auf "Scorecard erstellen", fülle die Details aus und füge die gerade erstellte Metrik für Schwachstellen als Scorecard-Kriterium hinzu. Angenommen, die Scorecard schlägt fehl, wenn es zu einem bestimmten Zeitpunkt mehr als eine offene Schwachstelle gibt. Das ist eine gute Wahl für Tier-1-Services, die für den Betriebszustand deiner Software entscheidend sind. Setze den Operator auf "kleiner oder gleich" und den Wert auf 1. Setze die Gewichtung auf 100 % und klicke auf "Erstellen". Jetzt kannst du sicherheitsrelevante Risiken zentral nachverfolgen und Teams klare Maßnahmen zur Verbesserung des Zustands ihrer Software empfehlen.
In der Praxis musst du wahrscheinlich mehrere Scorecards konfigurieren, um verschiedene Standards zu messen und dir einen umfassenden Überblick über deine technischen Schulden zu verschaffen.
Compass mit Jira verknüpfen: Identifiziere schwerwiegende technische Schulden und priorisiere dein Backlog
Nachdem Compass nun konfiguriert ist, haben wir alles, was wir brauchen, um mit der Ermittlung und Beseitigung technischer Schulden zu beginnen. Vergewissere dich zunächst, dass Compass-Komponenten in deinem Jira-Projekt aktiviert sind. Klicke dazu in der linken Navigationsleiste auf "Komponenten" und aktiviere das Dropdown-Feld oben rechts. Wenn die Aktivierung funktioniert hat, sollte dort "Compass-Komponenten" stehen.
Wechsle als Nächstes zurück zu Compass und überprüfe deine Scorecards. Suche nach Bereichen, in denen Scorecards entweder gefährdet sind oder bereits fehlschlagen, und ermittle anhand der Prioritäten deines Teams das wichtigste zu lösende Problem. Du kannst dir eine bestimmte Scorecard in der Benutzeroberfläche für den Status ansehen und überprüfen, wie die einzelnen relevanten Komponenten abschneiden. Wenn du nach dem Inhaberteam filterst, wird deutlich, wie deine eigenen Komponenten abschneiden und welche technischen Schulden deine Aufmerksamkeit erfordern.
Betrachten wir nun ein anderes Beispiel, bei dem die integrierte Scorecard "DevOps-Qualität" verwendet wird. Du überprüfst die Komponenten deines Teams und stellst fest, dass mehrere das Kriterium der Deployment-Häufigkeit nicht erfüllen. Die Scorecard ist so definiert, dass fünf Deployments pro Woche erfolgen sollen. Du siehst aber, dass bei einigen deiner Komponenten nur ein oder zwei Deployment pro Woche erfolgen. Dieses potenzielle Problem muss untersucht werden. Vielleicht gibt es Schwierigkeiten beim Build-Prozess oder in den Deployment-Pipelines. Möglicherweise hat dein Team auch mit der technischen Komplexität seiner Aufgabe zu kämpfen. In jedem Fall solltest du dich um diese technischen Schulden kümmern.
Kehre zu deinem Backlog zurück und sieh nach, ob bereits Vorgänge vorhanden sind, die das Problem der langsamen Deployments betreffen. Falls nicht, kannst du direkt auf der Scorecard-Seite in Compass einen neuen Vorgang erstellen. Achte darauf, in diesen Vorgängen die richtigen Compass-Komponenten zu kennzeichnen, damit du den Überblick behältst und die Auswirkungen deines Backlogs direkt verfolgen kannst.
Jetzt kannst du diese Vorgänge getrost in deinen nächsten Sprint übernehmen oder sie deinem Kanban Board hinzufügen. Du weißt, dass es sich bei diesen Vorgängen um technische Schulden mit hoher Priorität handelt und dass sich deine Arbeit auf die Leistung deiner Softwarearchitektur auswirkt. Sobald dein Team das Problem gelöst hat, kannst du zur Scorecard "DevOps-Qualität" zurückkehren und dir im Verlauf ansehen, wie sich die Deployment-Häufigkeit im Laufe der Zeit verbessert hat. Diese Visualisierung eignet sich sehr gut, um sie der Unternehmensführung und deinem Team zu zeigen, wenn ihr über den Wert eurer Arbeit sprecht.
Zusammenfassung: Nutze Compass, um dein Jira-Backlog zu priorisieren und technische Schulden zu reduzieren
Technische Schulden sind bei der modernen Softwarebereitstellung unvermeidlich. Erfolgreiche Teams wissen, wie sie schwerwiegende technische Schulden priorisieren müssen, um ein hohes Maß an Zuverlässigkeit aufrechtzuerhalten und gleichzeitig innovative neue Funktionen mit gleichbleibender Geschwindigkeit auszuliefern. Wenn du deine Jira-Vorgänge mit einem zentralisierten Komponentenkatalog in Compass verknüpfst, erhalten deine Teams Einblick in die Auswirkungen auf ihre Arbeit. So können sie mit nur wenigen Schritten effektive Kompromisse zwischen technischen Schulden und der Bereitstellung von Funktionen eingehen:
- Richte deinen Softwarekatalog schnell in Compass ein, indem du dein SCM verbindest und Repositorys aus Jira oder aus einer CSV-Datei importierst.
- Beginne mit den integrierten Scorecards und erstelle dann deine eigenen mit Metriken und anderen Datenquellen, um die Softwareleistung im Hinblick auf die Standards und Praktiken deines Unternehmens zu verfolgen und technische Schulden mit hoher Priorität zu identifizieren.
- Mache Compass zu einem Teil deiner wöchentlichen Rituale, bei denen du technische Schulden aus dem Backlog zu "Erledigt" verschiebst, um Vorfälle zu verhindern und gleichzeitig kontinuierlich neue Funktionen bereitzustellen.