Effiziente Projektarbeit mit Confluence und Jira Teil 2

von Irving Tschepke

Letzten Monat habe ich vorgestellt, wie wir Confluence in unserer Projektarbeit verwenden [1]. In diesem Artikel möchte ich kurz beschreiben, wie wir Jira nutzen.
Jira [2] ist zunächst ein klassisches Issue Tracking System, mit dem häufig Fehler- und Problemmanagement betrieben wird, d.h. im Rahmen der Software Entwicklung und des Betriebs Problem- und Fehlererfassung und –behebung gesteuert wird.
Generell eignet sich Jira auch hervorragend, um ganz allgemein Aufgabenmanagement zu betreiben und im Kontext von Projektarbeit den Projektfortschritt im Überblick zu behalten (welche Aufgaben stehen an, wer bearbeitet welche Aufgaben, was ist erledigt, etc.).

Jira Funktionsüberblick

Was kann alles mit Jira getan werden? Die Funktionalitäten können in normale Benutzer Funktionen und in administrative Funktionen aufgeteilt werden. Nachfolgend eine kurze (und nicht vollständige) Beschreibung der aus meiner Sicht wichtigsten Funktionen:

  • Aufgaben-Erstellung, -zuordnung und Workflow:
    Aufgaben (stellvertretend für Issues) können erfasst werden, Beschreibungen sowie Anhänge hinzugefügt werden. Aufgaben werden generell zur Bearbeitung Mitarbeitern zugewiesen, die wiederum Beschreibungen ergänzen können. Aufgaben durchlaufen einen vordefinierten Workflow dokumentiert durch den Status der Aufgabe.
  • Kommentierung:
    Jede Aufgabe kann durch die Bearbeiter kommentiert werden. Diese Funktion ist separat aufgeführt, da mittels Kommentaren der Verlauf der Bearbeitung und dabei auftretende Besonderheiten gut dokumentiert werden können.
  • Dashboards:
    Es gibt jeweils eine Projekt-Übersichtsseite auf der verschiedene Gadgets dargestellt werden, die helfen, den Überblick zu wahren. So sieht man einen Activity Stream, die dem aktuellen Benutzer zugeordneten Aufgaben sowie die Filter.
  • Zeiterfassung:
    Zu jeder Aufgabe können Zeiten (sog. Work Log) erfasst werden sowie der verbleibende Restaufwand angegeben werden.
  • Reporting:
    Es gibt diverse Standard Reports, mit denen beispielsweise die Arbeitsauslastung dargestellt oder geplante und verbrauchte Zeiten gegenüber gestellt werden.
  • Historisierung:
    Alle Änderungen an Aufgaben werden historisiert, die Änderungen sind detailliert einsehbar.
  • Beobachtung, Filter:
    Aufgaben, über deren weiteren Verlauf man per Email informiert werden möchte, können beobachtet werden. Ebenso können verschiedenste Filter definiert werden, um die für den Benutzer relevanten Aufgaben aufgelistet zu bekommen.

Folgende sind die aus meiner Sicht wichtigsten administrativen Funktionen:

  • Workflow:
    Der Workflow einer Aufgabe kann anhand der verwendeten Status und der Statusübergänge definiert werden.
  • Rollen- und Rechteverwaltung:
    Rollen sind frei definierbar sowie die zugehörigen Rechte. Damit kann fein justiert werden, wer welche Schritte im Workflow durchführen darf.
  • Konfiguration von Sichten und Attributen:
    Sowohl die Sichten (beispielsweise die Auflistung der Aufgaben oder die Bearbeitungsmaske für Aufgaben) als auch die Attribute (es können zu den Standard-Attributen auch Neue definiert werden) können definiert werden.
  • Verwaltung von Komponenten und Versionen:
    Aufgaben werden (technischen oder fachlichen) Komponenten und Versionen (einer Software) zugeordnet. Die Ausprägungen sind frei definierbar.

Jira bei exensio

Wie nutzen wir Jira bei exensio? Zum einen benutzen wir es als klassisches Bugtracking während der Testphasen, insbesondere im direkten Zusammenspiel mit unseren Kunden. Die Kunden tragen die Bugs ein, diese werden im Entwicklungsteam verteilt, behoben, ausgeliefert und durch den Kunden nachgetestet und dann auch geschlossen.

Die weitaus wichtigere Rolle spielt Jira zur Aufgabenverteilung und –steuerung. Alle Aktivitäten werden in Form von Einträgen in Jira angelegt.
Wir haben zu den Standard-Attributen ein weiteres hinzugefügt, um einen Link zur Dokumentation in Confluence einzutragen (es gibt auch die Möglichkeit Jira und Confluence mittels Application Link zu verknüpfen – worauf wir bislang aber verzichtet haben). Damit ersparen wir uns Doppelarbeit bei der Beschreibung der Anforderungen / Aufgaben. Anpassung können dann auch dort gleich dokumentiert werden.
Jede Aufgabe wird auch einer Version zugeordnet. Durch die Definition der Versionen bestimmen wir, wie fein wir das Projekt gliedern und steuern. Die Versionen definieren dabei Stände, in denen die Software Lösung „vorzeigbar“ ist, d.h. einen definierten, abgeschlossenen Funktionsumfang besitzt, der dem Kunden präsentiert werden kann.

Fortschrittskontrolle

Die Fortschrittskontrolle ist mit den Bordmitteln von Jira ohne Probleme möglich. Zum einen gibt es die Übersichten im Projekt Dashboard. Zum anderen gibt es die Standard Reports, um verschiedenste Aspekte zu überblicken, wie beispielsweise die Anzahl fertig gestellter Aufgaben oder die Arbeitslast der Mitarbeiter.
 
Bei Eintragung der geschätzten Aufwände sowie der benötigten Zeiten ist auch aus Aufwandssicht eine Kontrolle möglich. Entsprechende Standard Reports von Jira stehen zur Verfügung. Diesen Bereich nutzen wir derzeit noch nicht, da wir eine separate (Grails-) Applikation haben, mit der wir die Zeiten erfassen und aus der wir auch direkt für die Rechnungsstellung verwendbare Reports erstellen können.

Planung

In unseren Kundenprojekten sind wir noch sehr häufig in der Situation, dass wir vor Start der Implementierung eine Spezifikation erstellen müssen (fokussiert auf Use Cases und Wireframes). D.h. wir können eine Liste der zu schätzenden Posten erstellen und tragen diese als Aufgaben in Jira ein. Die Schätzung wird dann anhand dieser Aufgaben durchgeführt. Um Aussagen zu treffen, mit wie vielen Mitarbeitern man das ganze umsetzt und wann das ganze wohl fertig ist (mit den verschiedenen Zwischenmeilensteinen etc.) gibt es keine echte Unterstützung – diese Dinge müssen außerhalb geplant werden. Durch die Verwendung der Versionen (d.h. auch das geschickte Schneiden der umzusetzenden Software) kann aber auch dieser Prozess erleichtert werden und eine Verbindung zwischen Jira und der außerhalb befindlichen Planung hergestellt werden.

Vorteile im Überblick

Wir sind sehr zufrieden mit Jira und sehen für unsere Projektarbeit insbesondere folgende Vorteile:
  • Mit Jira haben wir eine zentrale Schaltstelle für alle anfallenden Aufgaben in einem Projekt. Jira unterstützt perfekt, den Überblick über den Stand der Projekte zu behalten.
  • Jira kann einfach (durch Konfiguration) auf die eigenen Bedürfnisse angepasst werden (Attribute, Workflow etc.) – wenngleich der Standard bereits viele Wünsche erfüllt.
  • Durch eine einfache Verknüpfung zu Confluence mittels Documentation Link ist eine Verbindung zwischen Aufgabe und Anforderungsbeschreibung immer gegeben. Das erleichtert die Arbeit und erhöht die Wahrscheinlichkeit, dass Dokumentation und Umsetzung synchron bleiben.
  • Schließlich sind die Bedienbarkeit und die Gestaltung aus unserer Sicht hervorragend. Ich persönlich nutze sehr gerne Tastenkombinationen – damit gehen viele Dinge sehr viel schneller.

Ausblick

Wie schon beschrieben nutzen wir die Möglichkeiten zur Zeiterfassung derzeit noch nicht, auch wenn es in Jira leicht möglich ist, sogenannte Work Log Einträge für eine Aufgabe zu erstellen. Derzeit gibt es im Standard noch keine Möglichkeit, diese Zeiten analog einem Zeitnachweis für die Rechnungsstellung auszugeben. Allerdings evaluieren wir, ob wir einen individuellen Report implementieren, um Projekt-bezogene Leistungsnachweise anhand der Work Log Einträge zu generieren. Jira bietet verschiedene APIs, um auch solche Dinge umsetzen zu können.

Kategorien: ConfluenceIT-ConsultingJira

Zurück