Toolbasiertes agiles Projektmanagement: Schneller, flexibler, aktueller
Die Arbeitsweise in Projekten hat sich in den letzten Jahren stark verändert. Starre, aufeinanderfolgende Projektschritte wurden zugunsten einer höheren Flexibilität aufgegeben und man heißt auch späte Änderungen in den Anforderungen willkommen, plant diese zeitnah ein und setzt sie – wenn möglich – um. Die Arbeit wird heute von kleineren, sich selbst steuernden und möglichst interdisziplinären Teams erledigt. Kompakte Aufgabenzyklen sollen zu schnell verwertbaren Ergebnissen führen. Das agile Projektmanagement hat sich in vielen Bereichen als geeignet herausgestellt. Mit der passenden Software hat man dabei stets den Überblick und ist gegenüber allen Stakeholdern stets aussagekräftig.
Der Begriff "Agil" ist heute eng mit der Art und Weise der modernen Projektsteuerung in der Softwareentwicklung verbunden. Bereits mit der Veröffentlichung des Agilen Manifestes im Jahr 2001 wurden dazu die Grundlagen gelegt. Was als Hype und Idee begonnen hat, ist heute für viele Teams der Leitfaden für die Projektorganisation. Mehr als zwanzig Jahre später lohnt es sich, auf die Ursprünge zurückzublicken. Sehr oft wird der Begriff "Agil" heute auch verwendet, um deutlich zu machen, dass man am Puls der Zeit ist. Die Grundidee bzw. der Anlass für das Umkrempeln der Vorgänge bei der Softwareentwicklung geraten dabei jedoch oft in den Hintergrund. Bevor wir an die Spitze der modernen, softwareunterstützten Projektsteuerung blicken, wagen wir daher einen Blick zurück. Der Ausgangspunkt der agilen Softwareentwicklung ist in einem Dilemma der Planung begründet (s. Abb. 1).
Ein Blick auf das bekannte magische Dreieck mit den Kriterien Aufwand, Zeit und Ergebnis verdeutlicht die Zusammenhänge. Kann man das gewünschte Ergebnis im Vorfeld der Durchführung als fixes Ziel definieren, dann dürfte – bei ausreichender Erfahrung und Professionalität der Planung – die Umsetzung mit einem gegebenen Budget (Aufwand) und termingerecht (Zeit) gelingen. Dass dabei auch Unzulänglichkeiten auftreten können, das ist jedem Projektsteuerer bekannt und keine Besonderheit der Softwareentwicklung. Dagegen ist die zu entwickelnde Software (Ergebnis) jedoch viel zu oft ein unbestimmtes Konstrukt, welches sich auch durch die sorgfältigste Anforderungsanalyse nur bedingt in den Griff bekommen lässt. Die Ursachen sind vielfältig: Software ist ein immaterielles Gut, dessen konkrete Umsetzung sich schnell der Vorstellungskraft entzieht und die definierten Anforderungen sind oft nur über eine begrenzte Zeit stabil. Dennoch ist ihre Entwicklung sehr aufwändig. Eine sture lineare Abarbeitung (Wasserfall) von der Idee, über die Planung bis zur Auslieferung führt daher allzu oft nicht zu den erwünschten Ergebnissen. Mit anderen Worten: Das Entwicklungsteam hat mit größtem Aufwand und bestmöglichem Einsatz an den künftigen Anforderungen seiner Nutzerinnen und Nutzer "vorbeientwickelt". Mit anderen Worten: Software ist in vielen Fällen zu Beginn des Projektes nur bedingt planbar. Das Ergebnis muss daher in einer gewissen Weise variabel bleiben. Diese Notwendigkeit führte bekanntermaßen zu einem Wechsel des Scopes. Man fixiert zunächst Aufwand und Zeit und gestaltet das zu erreichende Endergebnis flexibel. Diese Flexibilität darf unter keinen Umständen mit Beliebigkeit gleichgesetzt werden. Vielmehr wird der entstehende Spielraum genutzt, die anfänglichen Unklarheiten sukzessive mit einem weiteren Projektfortschritt zu beseitigen. Die Theorie spricht hier von der Idee der "rollierenden Planung", da sich mit stetigem Projektfortschritt die nächsten Schritte im Detail klarer herauskristallisieren.
Diese Idee der agilen Projektarbeit ist heute nicht nur in der Softwareentwicklung zu Hause, sondern wird auch zunehmend in anderen Projekten eingesetzt. Man schätzt an diesem Vorgehen, schnell und flexibel auf neue und unvorhersehbare Anforderungen reagieren zu können. Sie lassen sich dadurch leichtgewichtiger und flexibler planen und steuern. Dabei muss man jedoch stets bedenken, dass die agile Entwicklung nur dann sinnvoll eingesetzt werden kann, wenn das Ziel des Projektes zu Beginn nicht vollständig klar ist bzw. sich im Laufe der Zeit ändern kann. Ist dagegen die Zielstellung exakt planbar und auch in Facetten nicht variabel, dann kann man die Planung nicht mit einem veränderten Scope aus Zeit, Budget und Ziel angehen. Hier sollte weiter auf eine klassische Vorgehensweise bei der Projektplanung gesetzt werden. Dennoch können auch in dieser Art von Projekt bestimmte Methoden aus dem agilen Spektrum genutzt werden, um beispielsweise die Reaktionsfähigkeit des Teams zu erhöhen oder für eine größere Motivation bei den Beteiligten zu sorgen. Die Mischung beider Vorgehensweisen, d. h. eine hybride Projektdurchführung ist durchaus sinnvoll anzuwenden.
Agile Arbeitsweise
Agile Arbeitsmethoden verzichten auf starre und fixe Strukturen. Diese werden möglichst flexibel je nach Bedarf angepasst. Das Ziel ist dabei, ein Endprodukt zu erstellen – beispielsweise eine Software –, das möglichst genau den Kundenwünschen entspricht. Während das finale Ergebnis mit weiterem Projektfortschritt stetig spezifiziert und angepasst wird, werden fortlaufend Zwischenergebnisse mit dem Kunden abgestimmt. Sobald ein definierter Meilenstein erreicht ist, können erste Produktversionen bereits an die Nutzerinnen und Nutzer ausgeliefert werden. Dieses Vorgehen ermöglicht einen sehr schnellen Übergang von der Entwicklungs-, über die Test- bis zur Produktionsphase. Ebenfalls kann wertvolles Feedback unmittelbar wieder in den Entwicklungszyklus zurückgekoppelt werden. Anders als bei klassischem Projektmanagement wird bei der agilen Projektdurchführung in kleineren, selbstorganisierten Teams gearbeitet. Statt starrer hierarchischer Strukturen, versucht man direkte und vor allem kurze Kommunikationswege zu etablieren. Ein wesentliches Merkmal sind häufige, meist tägliche kurze Meetings. Das agile Projektmanagement basiert auf Werten und Prinzipien, die im agilen Manifest verankert sind, einem Leitfaden für agiles Arbeiten. Folgende vier Leitsätze geben Orientierung [1]:
- Individuen und Interaktionen sind wichtiger als Prozesse und Werkzeuge.
- Funktionierende Software ist wichtiger als eine umfassende Dokumentation.
- Zusammenarbeit mit dem Kunden ist wichtiger als Vertragsverhandlung.
- Reagieren auf Veränderung ist wichtiger als das Befolgen eines Plans.
Die agile Arbeitsweise rückt die Menschen in den Mittelpunkt. Ein persönlicher Austausch wird als sehr wichtig angesehen und hat einen höheren Wert als eine lückenlose Dokumentation. Die Erledigung einer Aufgabe bzw. Teilaufgabe wird mehr geschätzt als deren Beschreibung. Der persönliche Austausch bzw. die Kommunikation mit dem Kunden hat auf den Projekterfolg einen bedeutenden Einfluss. Eine schnelle Reaktionsfähigkeit und eine entsprechende Anpassung wird nicht als willkürlich und sprunghaft angesehen, sondern als eine planhafte und notwendige Abweichung. Mit anderen Worten: Änderungen sind willkommen, denn sie bringen das Projekt dem Ziel ein Stück näher. Daraus leiten sich die Prinzipien der agilen Arbeitsweise ab [1]:
- Die höchste Priorität hat die zeitnahe und kontinuierliche Auslieferung wertvoller Software an den Kunden. Dabei werden die Kunden aktiv in den Prozess einbezogen.
- Anforderungsänderungen sind in allen Entwicklungsphasen willkommen und werden als Wettbewerbsvorteil angesehen.
- Funktionierende Software soll in regelmäßigen kurzen Zyklen ausgeliefert werden.
- Eine enge Zusammenarbeit von Fachexperten und Entwicklern ist eine wichtige Voraussetzung.
- Errichte Projekte rund um motivierte Individuen. Gib ihnen das Umfeld und die Unterstützung, die sie benötigen und vertraue darauf, dass sie die Aufgabe erledigen.
- Die persönliche Kommunikation ist die effizienteste und effektivste Methode, Informationen an und innerhalb des Entwicklungsteams zu übermitteln.
- Das wichtigste Maß für einen Fortschritt ist eine funktionierende Software.
- Agile Prozesse fördern Nachhaltigkeit bei den Entwicklungen. Die Auftraggeber, Entwickler und Benutzer sollten in der Lage sein, ein gleichmäßiges Tempo auf unbegrenzte Zeit halten zu können.
- Agilität wird durch ständiges Augenmerk auf technische Exzellenz und gutes Design gefördert.
- Einfachheit – die Kunst, die Menge nicht getaner Arbeit zu maximieren – ist essenziell.
- Die besten Architekturen, Anforderungen und Entwürfe werden durch selbstorganisierte Teams erstellt.
- In regelmäßigen Abständen reflektiert das Team, wie es effektiver werden kann und somit wird das Verhalten entsprechend angepasst.
Zahlreiche Methoden und Techniken unterstützen bei der Organisation und Durchführung agiler Projekte. Die bekanntesten sind Scrum, Kanban, DesignThinking, ExtremeProgramming und die Nutzung von UserStories. Die Auswahl der passenden Methoden hängt vom Projekt und der Branche ab. Die Anwendung agiler Methoden ermöglicht es, schnell und flexibel auf Veränderungen zu reagieren und somit den Wünschen und Erwartungen der Kunden besser gerecht zu werden.
Schritt für Schritt im agilen Projektmanagement
Agiles Projektmanagement setzt auf eine iterative und inkrementelle Vorgehensweise. Man arbeitet in Etappen bzw. Iterationen. Am Ende jeder Iteration entsteht idealerweise ein funktionsfähiges Zwischenprodukt bzw. Produktinkrement. Dieses wird dem Kunden zur Beurteilung übergeben. Mit der Berücksichtigung des Feedbacks geht man zur nächsten Iteration über. Im agilen Projektmanagement werden drei Rollen unterschieden: Product Owner, Entwicklungsteam und Scrum Master. Der Product Owner übernimmt die Verantwortung für die Entwicklung. Ein selbstorganisiertes und interdisziplinäres Team setzt die Produktanforderungen um. Ein Scrum Master agiert wie ein Coach und Unterstützer. Er ist Experte der agilen Projektsteuerung. Die wesentlichen Aufgaben des agilen Vorgehens sind in Tabelle 1 zusammengefasst:
Tabelle 1: Schritte der agilen Projektsteuerung
1. Ziele definieren: Die Ziele des Projektes werden gemeinsam mit dem Kunden besprochen und festgelegt. Dabei werden die zeitlichen Ressourcen und der Aufwand fixiert. | 2. Product Backlog festlegen: Es handelt sich um eine Auflistung aller Anforderungen an das Produkt. Diese sind nicht starr, sondern werden im Laufe des Projektes angepasst. Der Product Owner ist für die Pflege des Product Backlogs zuständig. In der Praxis wird das Product Backlog oft aus der Produktvision in Zusammenarbeit mit den Kunden abgeleitet. |
3. Sprint Backlog ableiten: Die einzelnen Sprints werden definiert und den Teams zugewiesen. Ein Sprint Backlog besteht aus dem Sprint-Ziel (warum?), den für den Sprint ausgewählten Backlog-Items (was?) und einem Plan für die Lieferung des Inkrements (wie?). Es liefert Orientierung, um die Ziele in einem bestimmten Zeitraum zu erreichen. | 4. Sprints durchführen: Ein Sprint ist mit einem Arbeitspaket aus dem klassischen Projektmanagement vergleichbar. Es hat eine festgelegte Dauer von einigen Tagen bis zu wenigen Wochen, die projektindividuell ist und wird von einem Daily-Standup-Meeting begleitet. Am Ende des Sprints entsteht eine auslieferungsfähige Produktversion. |
5. Feedback sammeln: Am Ende jedes Sprints wird Feedback eingeholt. Dieses hat einen direkten Einfluss auf den weiteren Projektablauf und stellt ein bedeutendes Merkmal der Qualitätssicherung dar. | 6. Product und Sprint Backlogs überarbeiten: Neue Anforderungen und Wünsche der Kunden fließen in das Projekt ein. Product und Sprint Backlogs werden dem Feedback entsprechend über den gesamten Entwicklungszyklus unter Beachtung der vorhandenen Ressourcen angepasst. |
7. Erreichung der Deadline: Mit der Erreichung der Deadline wird das Projekt abgeschlossen. Viel Wert wird daraufgelegt, dass das Endergebnis den Kundenvorstellungen entspricht. Ein häufiger und kontinuierlicher Austausch innerhalb des Teams und mit den Stakeholdern soll dafür sorgen. |
Eine wichtige Voraussetzung für ein erfolgreiches agiles Projektmanagement ist ein stetiges Learning by Doing und die Einführung einer positiven Fehlerkultur. Nur so schafft man ein kreatives Umfeld und ermutigt die Projektbeteiligten, auch unbekannte Wege zu gehen und Neues auszuprobieren. Auch die Auswahl der Teammitglieder ist wichtig. Sie sollen auf Augenhöhe und frei von Hierarchien arbeiten. Das Team soll interdisziplinär und auf die Aufgaben im Projekt ausgerichtet sein.
Zwischenfazit: Das agile Projektmanagement trägt dem Fakt Rechnung, dass nicht alle Aspekte im Vorfeld komplett planbar sind. Die Konkretisierung erfolgt sukzessive während der Projektumsetzung. Dabei werden die Kosten und das Fertigstellungsdatum stets im Auge behalten. Über Zwischenergebnisse werden die erreichten Ergebnisse zeitnah mit den Vorstelllungen des Kunden abgeglichen. Für die Anwendung der agilen Methoden gibt es Empfehlungen, aber keine Blaupause. Die konkrete Vorgehensweise und die Auswahl der passenden Methoden muss projektindividuell ausgesucht werden.
Softwaretechnische Unterstützung
Im Projektmanagement müssen heute eine Vielzahl von Aspekten beachtet werden. Die erhobenen Anforderungen müssen sorgfältig dokumentiert, die Ressourcen der Teammitglieder verwaltet, Arbeitslisten gepflegt und der Projektfortschritt muss dokumentiert werden. Diese Aufgaben werden i. d. R. im modernen Projektmanagement durch Software unterstützt. Dabei hat es sich bewährt, auf Tools zu setzen, welche alle Belange des Projektmanagements abdecken, die Teamarbeit unterstützen und für eine hohe Transparenz sorgen. Wichtig ist es, dass die Software als Werkzeug aufgefasst wird, d. h. sie sollte sich individuell an die Anforderungen des Projektes und die Wünsche der Teammitglieder anpassen lassen. Folgende zentrale Ziele kann man durch den Einsatz von Software verfolgen:
- Verbesserte Struktur: Das Projekt erhält eine bessere und einheitliche Struktur über alle Ebenen hinweg. Beispielsweise werden alle Anforderungen nach dem gleichen Muster dokumentiert. Arbeitsabläufe, Freigaben und Zuweisungen usw. laufen nach einem definierten Muster ab und ermöglichen auch neuen Teammitgliedern sich schnell zurechtzufinden.
- Größere Geschwindigkeit: Vielfältige Routineaufgaben können schneller und teilweise automatisiert erledigt werden. Auswertungen werden unmittelbar generiert oder umfassende Anforderungsdokumente werden aus den erfassten Einzelbestandteilen zu einem lesbaren Gesamtdokument zusammengefasst.
- Höhere Transparenz: Werden alle Aspekte eines Projektes in einem geeigneten Softwaretool erfasst, dann sind die Teammitglieder stets umfassend über den Gesamtstatus und über den Fortschritt einzelner Teilaufgaben informiert. Transparenz ist eine wichtige Voraussetzung dafür, dass ein Projekt erfolgreich abgewickelt werden kann.
- Leichter Übergang zwischen den Phasen: Projektphasen enden mit einem Zwischenergebnis und daraus muss der Übergang zur nächsten Phase abgeleitet werden. Ein Beispiel: Nach der Erhebung und Erfassung der Anforderungen sind daraus Arbeitspakete, zum Beispiel in Form von Epics und Stories im agilen Projektmanagement abzuleiten.
Der Markt der Software für Projektmanagement ist umfangreich. Werkzeuge mit unterschiedlicher Ausrichtung stehen zur Auswahl. Ein wichtiges Leistungsmerkmal ist die Unterstützung unterschiedlicher Vorgehensmodelle und Methoden. Einige Beispiele für leistungsfähige Werkzeuge sind [2]:
- Planview: Portfolio- und Work-Management-Softwarelösung, welche speziell auf die Unterstützung von Transformationsprozessen in Unternehmen ausgerichtet ist.
- Planta Project: Unterstützt das agile, klassische und hybride Projekt- und Projektportfoliomanagement.
- objectiF RPM: Software für Multi-Projekt- und Projektmanagement in Verbindung mit Requirements Engineering, u. a. für agile Teams, die nach SAFe arbeiten.
- Projectworx: Softwaretool für den gesamten Projektmanagement-Prozess.
Im Folgenden wird beispielhaft die typische softwaregestützte Arbeitsweise betrachtet. Eine wesentliche Aufgabe bei Softwareentwicklungsprojekten ist das Erheben und Dokumentieren der Anforderungen. Dazu gehört eine kompakte textuelle Beschreibung. Die einzelnen Anforderungsartefakte in Form von User Stories sind durch einen Zustand – zum Beispiel Definition, Bewertet, Übernommen, Realisiert – gekennzeichnet.
Der Ausweis des voraussichtlichen Aufwands liefert Hinweise auf die Größe und Komplexität und der Rang verdeutlicht den Dringlichkeitsgrad. Der Zusammenhang zwischen den Anforderungen kann durch geeignete Diagramme dargestellt werden. Die Projektmitarbeiter sollten durch die Projektmanagementsoftware bei diesen Arbeiten unterstützt werden. Abb. 2 zeigt das Vorgehen exemplarisch anhand der Software objectiF RPM. Eine vorlagenbasierte Erfassung der Stories sorgt für eine gleichmäßig hohe Dokumentationsqualität. Die grafische Visualisierung zeigt direkt die Zusammenhänge zwischen den einzelnen Artefakten.
Ein großer Vorteil eines einheitlichen Toolings über alle Aspekte der Projektsteuerung ist eine sofortige Aussagekraft über den Fortschritt des Vorhabens. Aus den erfassten und von den Mitarbeitern stetig gepflegten Live-Daten des Projektes lässt sich jederzeit der Projektfortschritt, zum Beispiel anhand eines Gantt-Charts, Burndown-Charts oder Cumulative Flow Diagrams (Abb. 3) darstellen. Diese bekannten und allen Beteiligten vertrauten Darstellungen liefern wichtige Einblicke in das laufende Projektgeschehen.
Projektmanagement-Software sollte Features aus den folgenden Bereichen bieten:
- Unterstützung aller Aktivitäten des Projektmanagements, insbesondere aus den Bereichen Ressourcen-, Risiko-, Test-, Versions- und Konfigurationsmanagement, Reporting und Dokumentation und Requirements Engineering,
- Fähigkeit zur Unterstützung des Multiprojekt-Managements,
- Moderne Visualisierungen im Projektmanagement, wie Boards, Gantt-Chart usw.,
- Integration von Tools zur Zusammenarbeit, wie Chat und Video,
- Umfassende Möglichkeiten der Konfiguration und Adaption an die Anforderungen des Projektteams, d. h. die Software passt sich den Vorstellungen der Mitarbeiter an und erzwingt keinen Workflow,
- Möglichkeit der Unterstützung von klassischen, agilen und hybriden Vorgehensmodellen,
- Technische Freiheiten bezüglich der Nutzung der Software, d. h. als Web-, Desktop- oder Mobile Applikation,
- Einfache Skalierung mit wachsender Projekt- und Teamgröße in Bezug auf Leistung und Lizenz und
- Vielfältige Import- und Exportmöglichkeiten zu Standard-Office-Anwendungen und über Datenformate mit spezialisierten Softwaremodulen wie Jira, Azure DevOps usw.
Ein besonderer Vorzug für die Nutzung einer umfassenden Softwaresuite wird darin gesehen, dass man statt einer Vielzahl von Einzelapplikationen eine durchgängige Anwendung nutzt, um die Prozesse zu vereinfachen, den Mitarbeitern die Nutzung unterschiedlicher Software zu ersparen und fehlerträchtige Datentransfers zu vermeiden.
Zusammenfassung
Nach über 20 Jahren ist die agile Projektsteuerung zu einer festen Größe der modernen Projektdurchführung geworden. Dabei zeigt sich, dass deren Anwendbarkeit nicht nur auf die Softwareentwicklung beschränkt ist. Für das moderne Projektmanagement setzt man heute spezialisierte Software ein. Statt unzähliger Listen, Einzeldokumente und daraus entstehenden Medienbrüchen verwendet man besser ein durchgängiges Anwendungssystem, welches auf diese Aufgabe spezialisiert ist und die Mitglieder des Teams bestmöglich in ihren Aufgaben unterstützt, jedoch den individuellen Prozess nicht einschränkt.
Weitere Informationen: