Tipps & Tricks zur Projektplanung mit Jira Agile

kommentiert 0
gelesen 413

©-alphaspirit---Fotolia.com_blog.jpgWie im Blogbeitrag Scrum: Ein Reality Check[1] beschrieben sind Projekte, die agile Methoden wie Scrum einsetzen, häufig erfolgreicher als Projekte, die klassisches Projektmanagement nutzen.

Scrum ist ein Vorgehensmodel, das hauptsächlich bei der Softwareentwicklung zum Einsatz kommt und vor allem auf Flexibilität und Anpassung setzt. Im Gegensatz zum klassischen Projektmanagement erfolgt bei einem agilen Projekt keine ausführliche und umfangreiche Detailplanung für das gesamte Projekt, sondern immer nur für die nächste Iteration. Adaptives Planen und  die Selbstorganisation des Teams stehen somit im Vordergrund.[2]

Tools für das agile Projektmanagement 

Nun stellt sich die Frage welche Tools sich gut für die Aufgaben eigenen, die bei der Projektorganisation eines solchen agilen Projektes anfallen. Dazu zählt generell die Zusammenarbeit der verschiedenen Teammitglieder und Stakeholder sowie das Verwalten und Priorisieren der Anforderungen, die die Stakeholder an das Softwaresystem stellen. Zwei zentrale Aufgaben, die ein solches Tool somit unterstützen sollte, sind zum einen das Erstellen und Verwalten des Product Backlogs, zum anderen das Planen und Durchführen der Sprints.[3]

Es gibt eine Reihe von Tools und Anwendungen für das agile Projektmanagement, auf die man als Projektleiter zurückgreifen kann. Dazu zählen z.B. der Team Foundation Server von Microsoft, JIRA Agile von Atlassian und Trello, das seit diesem Jahr ebenfalls zu Atlassian gehört.[4]

Trello ist ein Online-Dienst, der an das Kanban-Konzept angelehnt ist. Aufgaben werden in Form von Karteikarten dargestellt, die einem Benutzer zugewiesen werden können. Sämtliche Diskussionen und Dateien, die bei der Bearbeitung einer Aufgabe entstanden sind, werden im Kontext dieser Aufgabe gespeichert und sind dadurch leicht auffindbar.[5]  Trello ist ein nützliches und sehr einfaches Tool, um Aufgaben zu managen. Es eignet sich jedoch weniger für größere und komplexere Projekte.[6] 

Der Team Foundation Server dient sowohl zur Quellcodeverwaltung als auch für das agile Projektmanagement: Im TFS kann die Arbeit des Teams in einem Product Backlog verwaltet und eine Sprintplanung durchgeführt werden.[7]

Auf die User Stories bzw. Work Items, wie sie im TFS bezeichnet werden, kann sowohl über die Weboberfläche als auch über die Entwicklungsumgebung Visual Studio zugegriffen werden. Das hat den Vorteil, dass eingecheckter Code einem Work Item zugewiesen werden kann. Man kann somit jede Codeänderung mit dem entsprechenden Work Item verbinden und behält so leichter die Übersicht über die Änderungen am Softwaresystem.[8] In den Work Items können die Zeiten erfasst werden, so dass im Verlauf des Projektes eine Auswertung über die pro Work Item angefallenen Zeiten gemacht werden kann. Außerdem bietet der TFS ein Kanban Bord für die Übersicht der Work Items im aktuellen Sprint.[9]

JIRA ist eine sehr umfangreiche Anwendung zur Ticketverwaltung, deren Ursprung im Bug-Tracking und in der klassischen Softwareentwicklung liegt. Mit JIRA Agile, einem mittlerweile festen Bestandteil der Anwendung, ist JIRA inzwischen auch ein umfangreiches Tool für die agile Softwareentwicklung.[10]

Mit JIRA Agile lassen sich Backlogs verwalten, Sprints planen und User Stories bearbeiten. Vom Scrum bzw. Kanban Board, über die Releaseplanung per Drag & Drop bis hin zu Burn-Down-Diagrammen bietet JIRA Agile zahlreiche Funktionalitäten, die beim agilen Projektmanagement unterstützen.

Während die Online-Pinnwand Trello mehr für einfache Aufgabenverwaltung oder kleinere Projekte gedacht ist, ermöglichen sowohl JIRA Agile als auch der Team Foundation Server die Verwaltung komplexer Softwareprojekte. Welche Anwendung besser geeignet ist, hängt von den konkreten Anforderungen des Projektes ab und auch davon, mit welcher Anwendung die Projektteilnehmer mehr Erfahrung haben. Wenn z.B. der TFS bereits für die Quellcodeverwaltung eines Projektes eingesetzt wird, macht es Sinn, ihn ebenfalls für das agile Projektmanagement zu verwenden. Wenn hingegen JIRA bereits in anderen Unternehmensbereichen zum Einsatz kommt, spricht dies für JIRA Agile als Tool für das agile Projektmanagement. Die beiden Anwendungen haben ähnliche Funktionalitäten, im Folgenden wird beispielhaft JIRA Agile genauer im Projekteinsatz betrachtet.

Wie unterstützt JIRA Agile im agilen Projekt?

Zu Beginn eines Scrum Projektes müssen die Anforderungen der Stakeholder aufgenommen werden. Der Product Owner ist verantwortlich für das Festlegen und Priorisieren der Anforderungen an das Softwaresystem. Diese verschiedenen Anforderungen können in JIRA Agile in Epics, User Stories und Tasks gegossen werden. Dabei macht es Sinn für die einzelnen Stories zusätzlich Akzeptanzkriterien zu hinterlegen, die erfüllt sein müssen, damit eine User Story als abgeschlossen betrachtet werden kann. Zusätzlich können weitere Artefakte wie Screens oder Zusatzdokumente per Drag & Drop in der Story hinterlegt werden.[11]

Aus der Menge an User Stories ergibt sich das Product Backlog für das Softwaresystem. Das Backlog sollte übersichtlich und leicht zu überblicken sein, einzelne Stories müssen möglichst einfach bearbeitet, gelöscht und anders priorisiert werden können. 

Die Verknüpfung zwischen Epics und User Stories wird in JIRA Agile übersichtlich dargestellt. Wählt man einen Epic aus, wird im Backlog nach den dem Epic zugewiesenen User Stories gefiltert. Die bereits einem Sprint zugewiesenen User Stories, die mit diesem Epic verknüpft sind, werden gesondert angezeigt. 

Außerdem können die User Stories Release-Versionen zugewiesen werden. Die angezeigten User Stories im Backlog und im aktuellen Sprint werden nach der jeweils ausgewählten Version gefiltert. So kann man sich z.B. alle User Stories in einer bestimmten Version und einem bestimmten Epic anzeigen lassen. 

Per Drag & Drop können die User Stories einfach zu Epics oder Versionen hinzugefügt oder daraus entfernt werden. 

Sprintplanung leicht gemacht mit JIRA Agile

Mit Scrum wird ein Softwaresystem in einer Reihe von Sprints entwickelt, die eine feste Länge haben. Nach jedem dieser Sprints erfolgt eine Auslieferung der Software. Der Product Owner ist verantwortlich dafür, welche Funktionalitäten im nächsten Sprint geliefert werden sollen.[11]

Für die Priorisierung können die Stories innerhalb des Backlogs in JIRA Agile „nach oben oder unten“ verschoben werden. Zusätzlich kann der einzelnen Story bei Bedarf eine Priorität zugewiesen werden. Das priorisierte Backlog wird vom Team nach und nach in den Sprints abgearbeitet.

Entscheidend für die Sprintplanung ist außerdem, dass Story Points für die einzelnen User Stories vergeben werden können. Zum einen, um zu wissen, wie viele Stories in einen Sprint ‚passen‘, zum anderen, um die Velocity (Geschwindigkeit) des Teams im Projektverlauf messen zu können.[13]

Dadurch, dass ein Sprint eine feste Länge hat, können immer gleich viele Story Points in einen Sprint abgearbeitet werden. Die Zahl der Story Points pro Sprint hängt von der Velocity des Teams ab und sollte zu Projektbeginn festgelegt werden.

Nachdem das Backlog vom Product Owner priorisiert wurde, erfolgt die eigentliche Sprintplanung. Dazu werden die Stories aus dem Backlog im Sprint Planning Meeting des Entwicklungsteams zum nächsten Sprint hinzugefügt. Dies kann in JIRA Agile mit Drag & Drop erfolgen. Dabei orientiert sich das Team an der Priorität und somit der Reihenfolge der User Stories in JIRA Agile und an den Story Points pro User Story, die ebenfalls in der Übersichtsseite angezeigt werden. Außerdem können technische Abhängigkeiten zwischen den Stories relevant sein. 

Die User Stories können in JIRA Agile in einzelne technische Tasks unterteilt werden, da eine Story in der Regel eine fachliche Funktionalität umfasst, die häufig aus mehreren technischen Aufgaben besteht. Während des Sprints können sich die verschiedenen Team-Mitglieder Stories und Tasks zuweisen und an diesen arbeiten.

Eine Übersicht über den aktuellen Sprint gibt das Scrum Board in JIRA Agile, in dem aufgeführt ist, welches Teammitglied gerade an welcher User Story arbeitet. Außerdem wird dargestellt, welche User Stories bereits abgeschlossen sind und welche Stories noch abgearbeitet werden müssen. Letztere sind i.d.R. noch keinem Teammitglied zugewiesen, sondern stehen zur freien Verfügung, wenn ein Teammitglied die Story, an der es gerade arbeitet, abgeschlossen hat. 

Durch das Scrum Board wird der der Fortschritt bei der Abarbeitung der User Stories nachvollziehbar hinterlegt und es lässt sich frühzeitig ablesen, ob das Sprintziel erreicht wird oder nicht. Am Ende des Sprints ist klar erkennbar, welche Stories umgesetzt sind. Alle User Stories, die noch nicht im Status ‚Done‘ stehen, müssen in den nächsten Sprint verschoben werden.

Im Scrum Board können je nach Bedarf zusätzliche ‚Schwimmbahnen‘ hinzugefügt werden, z.B. kann es in größeren Projekten Sinn machen vor ‚Done‘ einen zusätzlichen Status ‚Test‘ einzufügen oder vor ‚To Do‘ einen zusätzlichen Status ‚Qualify‘. 

Fragen und die Antworten darauf können direkt in der jeweiligen User Story kommentiert werden. Dadurch werden alle notwendigen Informationen an der Stelle gebündelt, an der sie benötigt werden. 

Fazit

Da die Anforderungen, die an ein agiles Projektmanagement gestellt werden, sich stark vom klassischen Projektmanagement unterscheiden, helfen die für das klassische Projektmanagement verwendeten Tools nur bedingt weiter. Mittlerweile hat sich jedoch eine breite Toollandschaft entwickelt, mit der die zentralen Elemente des agilen Projektmanagements abgebildet werden können.

Der Begriff ‚agil‘ bezieht sich darauf, ein Projekt Schritt für Schritt strukturiert durchzuführen und dabei die Detailplanung nur für eine Iteration anstatt für das gesamte Projekt anzugehen. Zentrales Element eines agilen Projektes ist ein sich selbst organisierendes und i.d.R. interdisziplinäres Team.  Bei meinen Projekten habe ich die Erfahrung gemacht, dass es sehr hilfreich ist, alle Informationen über ein zu entwickelndes System in einem zentralen Tool zu sammeln, auf das alle Projektbeteiligten Zugriff haben. Bei agilen Projekten hat sich dafür JIRA Agile im Projekteinsatz bewährt, da das Tool die wichtigsten Funktionalitäten für das agile Projektmanagement mitbringt: Es kann ein Product Backlog mit den Anforderungen der Stakeholder an das zu entwickelnde System erstellt, verwaltet und priorisiert werden. Die Umsetzung dieser Anforderungen wird im Rahmen von Sprints geplant und durchgeführt. Das Tool unterstützt die Zusammenarbeit der Teammitglieder und erlaubt den Stakeholdern während des Projektes, jederzeit den aktuellen Sprintstatus einzusehen.  


Quellen:

[1] https://blog.doubleslash.de/scrum-ein-reality-check/
[2] http://www.business-wissen.de/artikel/agiles-projektmanagement-so-funktioniert-scrum/
[3] http://www.produktbezogen.de/tools-fuer-produktmanager-teil-3-agiles-produktmanagement/
[4] http://www.toolsmag.de/agiles-projektmanagement-fuer-jedermann-347
[5] http://www.toolsmag.de/agiles-projektmanagement-fuer-jedermann-347
[6] http://www.produktbezogen.de/tools-fuer-produktmanager-teil-3-agiles-produktmanagement/
[7] http://blog.toptechnologies.de/post/Projektmanagement-Team-Foundation-Server-mit-Project-und-Excel.aspx
[8] http://blog.toptechnologies.de/post/Projektmanagement-Team-Foundation-Server-mit-Project-und-Excel.aspx
[9] https://www.visualstudio.com/de-de/docs/work/overview
[10] http://www.produktbezogen.de/tools-fuer-produktmanager-teil-3-agiles-produktmanagement/
[11] http://www.produktbezogen.de/tools-fuer-produktmanager-teil-3-agiles-produktmanagement/
[12] http://www.produktbezogen.de/tools-fuer-produktmanager-teil-3-agiles-produktmanagement/
[13] http://www.produktbezogen.de/tools-fuer-produktmanager-teil-3-agiles-produktmanagement/

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*Pflichtfelder

*