Dieser Artikel ist eine Erweiterung des vorherigen Artikels: Automatisieren von Jira Analytics mit Apache NiFi . Jetzt möchte ich unsere Sicht der Berichterstattung über Jira Software und die Erfahrung ihrer Implementierung mit R detaillierter darlegen. Die Sprache hier ist natürlich kein Dogma. Heute ist unser Alles ein Konzept. Das Bild ist hier ausgeliehen .
Stellen wir uns einen Task-Tracker vor. Welche Daten kann ich als Analyst daraus extrahieren? Oder eine Standard-Analyseplattform? Die Anzahl der Aufgaben für den Zeitraum, die Protokollierung von Statistiken, die grundlegende Aufteilung in Projekte, einige Bilder über die Produktivität der Mitarbeiter ... und das ist alles auf Anhieb.
Aber alles, was getan wird, wird in Fett gelegt. Daher können Sie wahrscheinlich etwas Globaleres herausgreifen: Was das Team tut und in welche Richtung es sich bewegt.
Ja wir haben es geschafft. Es war jedoch nicht ohne die Hilfe von PM zuerst.
Reorganisation des Task-Trackers
Natürlich unterscheidet sich jeder spezifische Jira erheblich von jedem anderen. Und unsere Lösung ist möglicherweise nicht die effektivste für Sie oder überhaupt nicht anwendbar.
Ich bitte Sie, dies nur als eine Idee zu betrachten, einen Task-Tracker am Beispiel unseres Outsourcing-Unternehmens zu organisieren.
Wir haben nur zwei Züge gemacht.
Erstens und am einfachsten. Sie akzeptierten, dass alle Aufgaben in einer Richtung natürlich mit dem Epos verbunden sein sollten. Epen sind die größten Objekte in Jira und repräsentieren mehrere Themen. Sie helfen beim Aufbau von Hierarchie und Struktur und können auch mehrere Sprints und Versionen umfassen.
Ein bisschen mehr über die Sekunde. Wir werden das große Ganze sehen und strategische Fragen beantworten können, wennDer Workflow wird als eine Art Ablauf dargestellt, zu dem jeder Mitarbeiter beiträgt . Dafür ist in unserem Fall das IT4IT-Konzept mit seinem auf einer Vier-Strom-Wertschöpfungskette basierenden Betriebsmodell ideal geeignet: Was haben wir eigentlich getan ? Wir haben IT4IT genutzt und Jira um eine Aufgabenkomponente erweitert. Wir haben folgendes:
- Service to Portfolio (Nachfrage und Auswahl) - die Phase des "Kommissionierens", der Suche, der Auswahl des Service und der Technologie.
- Bereitstellungsanforderung (Planen und Entwerfen) - Diskussion, Planung der Entwicklung, Entwicklung von Diensten, Dienste.
- Request to Deploy (Develop) - Entwicklung eines Dienstes, Dienst von etwas.
- Request to Deploy (Deploy) - Bereitstellung von etwas.
- Bereitstellungsanforderung (Test) - Testen eines Dienstes, eines Dienstes.
- Request to Fulfill - die Phase des Betriebs der entwickelten Dienste und der Bereitstellung von Diensten.
- Detect to Correct (Correct) - Korrektur, Verfeinerung interner Dienste und Dienste.
- Erkennen, um zu korrigieren (Überwachen & Feedback) - dasselbe, nur + Kommunikation mit dem Kunden.
In dieser Phase ist es vielleicht am schwierigsten, die Mitarbeiter davon zu überzeugen, dass das zusätzliche Element im Tracker nicht umsonst ist und korrekt ausgefüllt werden muss.
Datenanalyse in R.
Jetzt sollte es keine Hindernisse für die Umsetzung der Berichterstattung geben. Ich werde die Ähnlichkeit von TK formulieren.
Da sich das Team zu Beginn jeder Woche zur Planung trifft, sollte der Bericht wöchentlich sein. Für uns ist es wichtig, Statistiken über das Auftreten und den Fortschritt von Aufgaben, die Protokollierung von Mitarbeitern und den Beitrag jedes einzelnen von ihnen zum Gesamtbild zu sehen. Beantworten Sie die Frage: Was macht das Team - in Bezug auf Epen und Komponenten.
Da wir wissen, was wir brauchen, entladen wir die Daten. Über die Jira-API fordern wir alle Probleme an, die letzte Woche aktualisiert wurden. Wir extrahieren Schlüssel daraus und laden den Protokollierungsverlauf (Arbeitsprotokoll) und den Änderungsverlauf (Änderungsprotokoll) für jede Aufgabe. Perversionen mit Überlastung sind notwendig, um die Apish-Beschränkungen zu umgehen.
Als nächstes beginnt der Verantwortungsbereich R, da die Vorverarbeitung der empfangenen Daten eine Komponente des Berichtserstellungsskripts ist.
Es ist nichts Kluges daran, Sie müssen nur die JSONs analysieren, die von der API stammen, und nur die erforderlichen Eigenschaften (Elemente in Jira) belassen. Der einzige Moment, in dem wir bei der Verarbeitung des Änderungsprotokolls nur an den Änderungen des Aufgabenstatus interessiert sind, kann der Rest sicher gelöscht werden.
Und schließlich kamen wir zur Analytik.
Finden Sie heraus, wie viele Aufgaben in der letzten Woche geöffnet, ausgeführt, geschlossen und verschoben wurden. Schauen Sie sich den R-Code an:
#
this_week_opened <- jira_changelog_data %>%
filter(issue_type != "Epic") %>%
filter(as.Date(issue_created) >= start_date) %>%
filter(as.Date(issue_created) <= end_date) %>%
select(key, issue_created) %>% unique() %>% nrow()
#
this_week_processed <- jira_worklog_data %>%
filter(as.Date(started) >= start_date) %>%
filter(as.Date(started) <= end_date) %>%
select(key) %>% unique() %>% nrow()
#
this_week_closed <- jira_changelog_data %>%
filter(issue_type != "Epic") %>%
filter(as.Date(issue_resolutiondate) >= start_date) %>%
filter(as.Date(issue_resolutiondate) <= end_date) %>%
select(key, issue_created) %>% unique() %>% nrow()
# /
this_week_holded <- issue_history %>%
filter(change_date >= start_date) %>%
filter(change_date <= end_date) %>%
filter(toString == "Hold" | toString == "Backlog") %>%
select(key) %>% unique() %>% nrow()
Erinnert Sie das an Pseudocode? Und wenn ich sage, dass der Operator ' %>% ' Daten von der vorherigen Funktion zur nächsten überträgt. Die letzte Änderung in der gesamten Kette wird in einer Variablen gespeichert. Stellen Sie sich vor, wir haben gerade die Eintrittsschwelle für R erreicht!
Hast du dich schon in ihn verliebt? Wenn Sie so wollen, werde ich dann weitere Informationen hinzufügen.
Wörter aus Wikipedia:
Im Allgemeinen ist R als Programmiersprache recht einfach und sogar primitiv. Seine größte Stärke ist die unbegrenzte Erweiterung mit Paketen.
Die Basislieferung von R umfasst einen Basissatz von Paketen. Insgesamt sind ab 2019 mehr als 15.316 Pakete verfügbar.
Und das Letzte für heute. In diesem Jahr brach R in die Top Ten der beliebtesten Sprachen der Welt ein ( Beweis ). Ich bin stolz auf ihn.
Bitte vergib mir diesen Rückzug. Ich kann stundenlang über R sprechen. Es ist nur so, dass er völlig in Mythen gehüllt ist und ich sie gerne zerstöre - ein Hobby, wissen Sie.
Kehren wir zum Bericht zurück. Mit den erforderlichen Nummern visualisieren wir sie. Danach machen wir die Protokollierung der Mitarbeiter. So sieht dieser Teil bei uns aus: Ich werde Ihnen weiterhin die endgültigen Bilder aus demselben realen Bericht zeigen. Unser Geschäftsbereich spiegelt sich in der folgenden Grafik wider. Außerdem können Sie die Arbeitsbelastung von Mitarbeitern mit operativen Aktivitäten bewerten. Und hier ist eine Aufschlüsselung aller Aufgaben nach Komponenten. Er gibt die Antwort auf die Frage, was wir tun. Ich ergänze das Bild mit Zahlen.
Nun, der versprochene Beitrag jedes Mitarbeiters zum oben angegebenen Gesamtbild.
Ich bin sicher, Sie werden sofort feststellen, wo sich unser Entwickler befindet und wo sich der Administrator befindet. Wir haben uns um diese Klarheit bemüht. Der eigentliche Bericht wird auch durch eine Zusammenfassung der Aufgabenbewegung ergänzt. Dies ist eine Ergänzung zu den am Anfang veröffentlichten allgemeinen Statistiken mit den Namen der Aufgaben und den Namen der verantwortlichen Personen.
Bericht erstellen
Sie können die automatische Berichterstellung beispielsweise montags über das R-Skript mit dem cronR- Paket einrichten. Dies ist äußerst einfach.
Bei uns ist alles komplizierter und eleganter. Wir haben Apache NiFi verwendet, um wöchentlich Daten von der Jira-API herunterzuladen , das Skript zur Berichterstellung auszuführen und einen Bericht per E-Mail an alle Mitarbeiter zu senden . Dieses Thema ist so umfangreich, dass es einen separaten Artikel verdient .
Fazit
Die Anzahl der Jira Software-Implementierungen sowie die Anzahl der Unternehmen, in denen sie verwendet werden, ist sehr hoch. Gleichzeitig benötigt jeder Chef seine eigene Metrikbasis für ein taktisch korrektes Management. Ja, es gibt eazyBI und andere Plugins für Jira Analytics, aber das Ergebnis ist wie der Kauf eines Anzugs im Geschäft anstelle eines benutzerdefinierten Maßanzugs.
Der betrachtete Bericht wird gemäß Vorlagen genäht. Laut dem Chef bietet es eine strategische Sicht auf das, was die Einheit oder das Team tut . Ich hoffe, dieser Artikel hilft Ihnen, etwas Ähnliches zu Hause umzusetzen.
Danke.