Motivation
In einer Zeit, in der datenbasierte Entscheidungen den Unternehmenserfolg maßgeblich beeinflussen, ist der direkte Zugriff auf Ihre Unternehmensdaten unverzichtbar.
Jira, als zentrales Tool für Projektmanagement und Issue-Tracking, sammelt eine Fülle von Daten, die häufig ungenutzt bleiben.
Dieser Artikel zeigt Ihnen, warum und wie Sie Ihre Jira-Daten selbst nutzen können und welche Möglichkeiten sich daraus ergeben.
Als ETL-Tool haben wir Talend ausgewählt.
Sie können jedoch auch ein anderes Tool verwenden.
Welche Jira-Daten bietet Atlassian an?
Unternehmen, die eine Atlassian Jira Data Center-Installation betreiben, müssen bereits eine eigene Datenbank bereitstellen, um den Betrieb der Jira-Instanz sicherzustellen. Die von Atlassian verwendete Datenbank ist jedoch technisch sehr komplex und unterliegt potenziellen Änderungen durch Atlassian, was einen direkten Zugriff für analytische Zwecke erschwert. Daher ist es nicht empfehlenswert, direkt auf diese Datenbank zuzugreifen. Stattdessen bieten sich externe ETL-Tools (wie z. B. Talend) oder Drittanbieter-Jira-Applikationen, wie unser VIP.LEAN ETL for Reporting, an. Diese Lösung wird beispielsweise von unserem Kunden Samsung für eine große Jira-Instanz erfolgreich genutzt.
In der Jira-Cloud-Version ist der direkte Zugriff auf die Jira-Daten in den Plänen Free, Standard und Premium nicht möglich. Erst mit der Enterprise-Version bietet Atlassian Zugang zum Atlassian Data Lake (Atlassian Analytics). Die Daten sind jedoch aktuell nur für Atlassian-eigene Dashboards verfügbar, was bedeutet, dass ein direkter externer Zugriff auf diese Daten nicht unterstützt wird.
Schema für die Jira-Produktfamilie: Schema für die Jira-Produktfamilie | Atlassian Analytics | Atlassian Support
Warum sollten Sie die Jira-Daten in Ihrem eigenen Data Lake verwalten?
Hier sind einige Gründe:
- Kein direkter Datenzugriff in der Atlassian Cloud: Wie im vorherigen Abschnitt erwähnt, ist die Analyse der Jira-Daten standardmäßig eingeschränkt bis gar nicht möglich.
- Maßgeschneiderte Analysen: Selbst extrahierte Jira-Daten ermöglichen es Ihnen, individuelle Berichte und Dashboards zu erstellen, die genau auf Ihre Bedürfnisse zugeschnitten sind.
- Verbesserte Entscheidungsfindung: Durch detaillierte Einblicke in Projekte und Prozesse können Sie fundiertere strategische Entscheidungen treffen.
- Integration mit anderen Systemen: Der Besitz Ihrer Jira-Daten erleichtert die nahtlose Integration mit Business-Intelligence-Tools und anderen Datenbanken.
- Datensicherheit und Compliance: Die eigenständige Verwaltung Ihrer Jira-Daten erhöht die Sicherheit und hilft bei der Einhaltung von Compliance-Richtlinien.
Lösungsskizze mit Talend
Folgende Lösungskomponenten werden benötigt:
- Eine oder mehrere Jira-Instanzen.
- Ein ETL-Tool, in dieser Skizze Talend Cloud.
- Ein Data Lake, entweder in der Cloud (GCP / Azure / AWS) oder On-Premises.
- Eventuell weitere Quelldaten, die Sie mit den Jira-Daten prozessieren möchten.
- Zugreifende Systeme wie Power BI, Tableau oder andere Tools.
Das Jira Datenmodel - ERD
Für die Ablage der Jira-Daten in Ihrer Data-Lake-Instanz muss zunächst ein Entity-Relationship-Diagramm (ERD) erstellt werden:
- Staging Layer: In dieser Schicht werden die REST-API-JSON-Antworten im Rohformat gespeichert, damit die ursprünglichen Jira-Daten jederzeit überprüft und bei Bedarf erneut verarbeitet werden können.
- Processed Layer: Das ERD-Modell für diese Schicht soll definiert werden. Dieses Modell kann sich an der REST-API-Struktur orientieren. Dabei gibt es jedoch Unterschiede zwischen der Data Center-Version (REST API 2.0) und der Cloud-Version (REST API 3.0), die an verschiedenen Stellen voneinander abweichen.
Zusätzlich können weitere Verarbeitungsschritte angeboten werden, die den Nutzern des Processed Layers einen Mehrwert bieten:
- Extraktion von Benutzerdaten und Verknüpfung mit der Jira-User-Tabelle.
- Extraktion von unterschiedlichen Feldwerten: Je nach Typ werden die Feldwerte so extrahiert, dass ein aufwändiges Parsing der Jira-Rohdaten nicht erforderlich ist.
- Verarbeitung des Change Logs: Darstellung der gesamten Historie eines Issues, um Änderungen über die Zeit nachvollziehbar zu machen.
- Pseudonymisierung von Benutzerdaten: Ersetzen von Benutzerdaten durch Surrogate Keys aus einer zentralen Benutzertabelle, die besonders geschützt werden kann.
Umsetzungsleitfaden
Folgende Schritte empfehlen wir für eine erfolgreiche Implementierung:
Datenextraktion mit ETL-Tools
- Verwenden Sie ein ETL-Tool (Extract, Transform, Load) wie Talend, um Daten aus Ihrer Jira-Instanz zu extrahieren. Über die REST API von Jira können Sie auf alle relevanten Daten zugreifen. Talend bietet die Möglichkeit, REST-API-Abfragen mit Hilfe von Java-Routinen durchzuführen und anschließend parallel nachgelagerte Prozesse zu starten. Dabei ist es wichtig, die Jira-Instanz so wenig wie möglich zu belasten, um deren Performance nicht zu beeinträchtigen.
- Das Laden der Ergebnisse in die Zieldatenbank sollte ebenfalls als Bulk-Operation durchgeführt werden, um eine hohe Performance zu gewährleisten.
Initiale Datenladung und regelmäßige Aktualisierungen
- Initiale Datenladung: Beginnen Sie mit einem vollständigen Datenabzug Ihrer Jira-Daten, um eine umfassende Basis für Ihre Analysen zu schaffen.
- Regelmäßige Aktualisierungen: Richten Sie regelmäßige Delta-Abzüge ein (z. B. alle 5 Minuten), um Ihre Daten kontinuierlich zu aktualisieren und aktuell zu halten. Die Ausführung der Talend-Jobs erfolgt in der Talend Cloud. Achten Sie dabei auf die Zuweisung einer gut skalierten Engine, um eine optimale Performance und Ressourcennutzung sicherzustellen.
- Die Aktualisierung der Issue-Daten sollte deutlich häufiger erfolgen (z. B. alle 5 Minuten) als die Aktualisierung der administrativen Daten (z. B. alle 60 Minuten). Dadurch wird sichergestellt, dass projektbezogene Daten wie Änderungen an Issues, Status oder Kommentaren nahezu in Echtzeit erfasst werden, während weniger dynamische administrative Daten wie Benutzerinformationen oder Konfigurationen in längeren Intervallen aktualisiert werden können.
Verarbeitung des Changelogs
- Lesen Sie das Changelog der Issues aus, um eine vollständige historische Ansicht aller Änderungen zu erhalten.
- Nutzen Sie die native Versionierung von Jira, um Änderungen im Zeitverlauf nachvollziehen zu können.
Verwendung von Surrogate Keys und Business Keys
- Jira stellt bereits Primärschlüssel wie den Issue Key oder Project Key zur Verfügung, die verwendet werden sollten, um geschäftliche Beziehungen zwischen den Entitäten herzustellen.
- Für eine klare technische Trennung der Versionen pro Datenentität empfiehlt es sich jedoch, zusätzlich Surrogate Keys einzuführen. Diese Surrogate Keys ermöglichen es, verschiedene Versionen derselben Entität (z. B. Änderungen an einem Issue über die Zeit) eindeutig zu identifizieren und so eine konsistente und nachvollziehbare Historisierung zu gewährleisten (Siehe ERD).
Unterstützung von Slowly Changing DIMENSIONS
Implementieren Sie Mechanismen, um Änderungen in den Daten über die Zeit zu verfolgen, was besonders für historische Analysen von Vorteil ist. Dabei unterscheidet man zwischen:
- Snapshots: Diese erfassen den aktuellen Zustand der Daten bei jeder Aktualisierung. Snapshots ermöglichen es, den Zustand der Daten zu einem bestimmten Zeitpunkt darzustellen und dienen als Grundlage für zeitliche Vergleiche.
- Change Log: Das Change Log der Issues ermöglicht die native Versionierung und dokumentiert alle Änderungen an einem Issue, wie Statusänderungen, Aktualisierungen von Feldern oder Zuweisungen. Dies erlaubt eine detaillierte Nachverfolgung der Entwicklung und Historie eines Issues, ohne dass ein vollständiger Snapshot erforderlich ist.
Nutzung von Cloud-Datenbanken
- Speichern Sie Ihre Daten in einer skalierbaren Cloud-Datenbank wie Google BigQuery.
- Individuelle Dimensionierung: Passen Sie die Ressourcen Ihrer Cloud-Datenbank flexibel an Ihre Bedürfnisse an.
- Sicherheitsfunktionen: Nutzen Sie Funktionen wie die Maskierung von PII-Daten (personenbezogene Informationen) und Sicherheitsrichtlinien, um Datenschutzbestimmungen einzuhalten.
Konfiguration von Verarbeitungsketten
- Erstellen Sie Verarbeitungsketten, um Ihre Daten nach dem ETL-Prozess weiterzuverarbeiten.
- Data Marts und Dimensionstabellen: Entwickeln Sie Data Marts für spezifische Analysezwecke und verwenden Sie Tools oder Skripte, um Dimensionstabellen zu erstellen.
- Automatische Nutzerreferenzierung: Extrahieren Sie Benutzerdaten und erstellen Sie automatische Verknüpfungen zur User-Tabelle, um nutzerbezogene Analysen zu erleichtern.
Integration mehrerer Jira-Instanzen
- Konsolidieren Sie die Daten mehrerer Jira-Instanzen (z. B. eine Mischung aus Data Center und Cloud) zu einer zentralen Datenquelle.
- Zentrale Datenquelle: Erhalten Sie eine einheitliche Sicht auf alle Projekte und Prozesse, indem Sie die Daten unterschiedlicher Instanzen zusammenführen.
- Vergleichende Analysen: Identifizieren Sie Unterschiede und Gemeinsamkeiten zwischen verschiedenen Teams oder Abteilungen für eine verbesserte Zusammenarbeit und Transparenz.
Anwendungen und Vorteile
- Erweiterte Berichterstattung: Erstellen Sie Berichte, die über die Standardfunktionen von Jira hinausgehen.
- Prozessoptimierung: Identifizieren Sie Engpässe und ineffiziente Abläufe, um Prozesse zu verbessern.
- Vorhersageanalysen: Nutzen Sie historische Daten, um Trends zu erkennen und zukünftige Entwicklungen vorherzusagen.
- Ressourcenmanagement: Planen Sie Ressourcen effektiver ein, basierend auf realen Daten und nicht auf Schätzungen.
- Big Picture: Sind Ihre Jira-Daten mit anderen Systemen wie SAP verknüpft, können Sie in Ihrem Data Lake umfassende, systemübergreifende Analysen durchführen. Beispielsweise können Sie die geplanten Kosten aus Jira mit den tatsächlichen Kosten und Verpflichtungen (Obligos) aus SAP vergleichen. Dadurch erhalten Sie eine ganzheitliche Sicht auf Ihre Projekte und können fundierte Entscheidungen auf Basis konsolidierter Daten treffen.
Tipps für den Start
- Transparente Nachvollziehbarkeit: Speichern Sie alle REST API Calls im JSON-Format in einer Staging-Schicht, um maximale Transparenz und Rückverfolgbarkeit zu gewährleisten.
- Sicherheit zuerst: Achten Sie bei der Datenextraktion und -speicherung stets auf Sicherheitsaspekte und Datenschutzrichtlinien.
- Skalierbarkeit im Blick behalten: Planen Sie Ihre Infrastruktur so, dass sie mit Ihren Anforderungen wachsen kann.
Vergleich mit anderen Lösungen
ETL mit Talend & BigQuery | Atlassian Analytics | VIP.LEAN ETL for Reporting | |
---|---|---|---|
Wer implementiert die Lösung / Verfügbar ab | Ihr Unternehmen / nach Entwicklungsphase (VIP.LEAN Solution kann Support anbieten) | Atlassian / Sofort | VIP.LEAN Solutions / Sofort |
Jira DC Support | ✓ | – | ✓ |
Jira Cloud Support | Free: ✓ Standard: ✓ Premium: ✓ Enterprise: ✓ | Free: – Standard: – Premium: – Enterprise: ✓ | Free: ✓ Standard: ✓ Premium: ✓ Enterprise: ✓ |
Daten in ihrem Data Lake | ✓ | – | ✓ |
Kosten | Individuell | In Cloud Enterprise enthalten | Ab 10.00 USD |
Datenstruktur | Anpassbar | Fest | Anpassbar |
Datenlevel | Technisch / Processed Layer | Technisch / Processed Layer | Fachlich / Presentation Layer |
Pre-built Dashboards | – | ✓ | – |
Nutzung von Daten in Ihren eigenen BI-Berichten | ✓ | – | ✓ |
Erweiterbar auf Jira-Apps mit REST API (z.B. Tempo) | ✓ (z.B. Tempo Daten) | ✓ (Custom Fields) | ✓ (Custom Fields) |
DB Support / Geplant | BigQuery / Azure, AWS, Oracle, Postgres | – | Azure SQL, Postgres, Oracle / BigQuery & AWS |
Link | Demo buchen | Atlassian Analytics | VIP.LEAN ETL for Reporting |