Agiles IT-Projektmanagement bezeichnet eine Projektvorgehensweise, die sich durch eine dynamische Anpassung der Projektparameter während der Projektlaufzeit auszeichnet. Es setzt auf eine enge, interaktive Zusammenarbeit zwischen Projektauftraggeber und dem Projektteam sowie auf kurze Zeitabstände, nach denen Änderungen und neue Anforderungen in die Planung aufgenommen werden können.
Historische Entwicklung
Die ersten agilen IT-Projektmanagementansätze wurden bereits Anfang der 1990er-Jahre diskutiert. Diese neuen Methoden entstanden grundsätzlich aus der Überzeugung heraus, dass sich bisherige plangetriebene Vorgehensweisen wie etwa die Wasserfallmethode nicht mehr für die schnelllebige Welt der Softwareentwicklung eigneten [Boehm, 2002]. Einen deutlichen Schub erfuhr die agile Vorgehensweise mit der Veröffentlichung des ersten Buchs zu „Extreme Programming“ durch den amerikanischen Softwareentwickler Kent Beck im Jahr 1999 [Beck, 1999]. Mit seinem Ansatz stellte Beck eine Methode vor, die das Lösen einer Programmieraufgabe in den Vordergrund der Softwareentwicklung stellt und gleichzeitig einem formalisierten Vorgehen geringere Bedeutung zumisst – was im Kern der Idee der agilen Softwareentwicklung entspricht. Die Bezeichnung „agil“ wurde etwas später im Jahr 2001 durch das Agile Manifest etabliert, welches bei einem Treffen von 17 renommierten Softwareentwicklern erarbeitet und anschließend veröffentlicht wurde [Beck et al., 2001]. Seither wurden agile Vorgehensweisen in verschiedenen Ausprägungen immer verbreiteter. Zu den am meisten etablierten und bekanntesten agilen IT-Projektmanagementansätzen zählen neben Extreme Programming auch Scrum [Beedle, Schwaber, 2002] und Kanban [Anderson, 2010]. Vor dem Hintergrund von gegenwärtigen Digitalisierungsaktivitäten in zahlreichen Unternehmen erfahren diese Methoden derzeit eine hohe Popularität. In zunehmendem Maße gibt es auch Diskussionen und Versuche, agile Ansätze auch außerhalb der Softwareentwicklung einzusetzen, etwa in der Produkt- oder der Organisationsentwicklung.
Begriffsverständnis
Der Vielfalt an existierenden Methoden des agilen IT-Projektmanagements entsprechend, lassen sich zahlreiche Definitionen des Agilitätsbegriffs im Kontext der Softwareentwicklung unterscheiden. So identifiziert [Hummel, 2014] in einer systematischen Auswertung von 482 Fachbeiträgen insgesamt 17 unterschiedliche Ausprägungen des Agilitätsbegriffs. Eines der gebräuchlichsten und umfassenden Begriffsverständnisse liefert das Agile Manifest [Beck et al., 2001], wobei es sich hierbei weniger um eine formale Definition, sondern vielmehr um Richtlinien für die Entwicklung qualitativer Software im agilen Sinne handelt [Dingsøyr et al., 2012].
Im Zentrum des Agilen Manifests stehen vier Leitsätze [Beck et al., 2001]: (1) Individuen und Interaktionen sind wichtiger als Prozesse und Werkzeuge, (2) Funktionierende Software hat Vorrang vor umfassender Dokumentation, (3) Zusammenarbeit mit den Kunden ist wichtiger als Vertragsverhandlungen sowie (4) Reagieren auf Veränderung geht vor Befolgen eines Plans. Die Unterzeichner des Manifests schlagen zudem insgesamt zwölf Prinzipien zur Operationalisierung dieser vier zentralen Werte vor (siehe Tabelle 1). Dazu gehören unter anderem eine frühe und kontinuierliche Auslieferung von Software, die enge Zusammenarbeit von Fachbereichen und Softwareentwicklern, motivationsfördernde Maßnahmen, Augenmerk auf technische Exzellenz sowie sich selbstorganisierende Teams.
1 | Unsere höchste Priorität ist es, den Kunden durch frühe und kontinuierliche Auslieferung wertvoller Software zufrieden zu stellen. |
2 | Heiße Anforderungsänderungen selbst spät in der Entwicklung willkommen. Agile Prozesse nutzen Veränderungen zum Wettbewerbsvorteil des Kunden. |
3 | Liefere funktionierende Software regelmäßig innerhalb weniger Wochen oder Monate und bevorzuge dabei die kürzere Zeitspanne. |
4 | Fachexperten und Entwickler müssen während des Projektes täglich zusammenarbeiten. |
5 | 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. |
6 | Die effizienteste und effektivste Methode, Informationen an und innerhalb eines Entwicklungsteams zu übermitteln, ist im Gespräch von Angesicht zu Angesicht. |
7 | Funktionierende Software ist das wichtigste Fortschrittsmaß. |
8 | Agile Prozesse fördern nachhaltige Entwicklung. Die Auftraggeber, Entwickler und Benutzer sollten ein gleichmäßiges Tempo auf unbegrenzte Zeit halten können. |
9 | Ständiges Augenmerk auf technische Exzellenz und gutes Design fördert Agilität. |
10 | Einfachheit – die Kunst, die Menge nicht getaner Arbeit zu maximieren – ist essenziell. |
11 | Die besten Architekturen, Anforderungen und Entwürfe entstehen durch selbstorganisierte Teams. |
12 | In regelmäßigen Abständen reflektiert das Team, wie es effektiver werden kann und passt sein Verhalten entsprechend an. |
Tab.1: Prinzipen des Agilen Manifests [Beck et al., 2001]
Vorgehen
Die Methoden des agilen IT-Projektmanagements unterscheiden sich grundlegend von den bereits deutlich länger etablierten, plangetriebenen IT-Projektmanagementmethoden [Turner, Boehm, 2003]. Eine typische agile Vorgehensweise in IT-Projekten wird in Abbildung 1 am Beispiel der Scrum-Methode vorgestellt. Bei Scrum handelt es sich um ein iterativ-inkrementelles Vorgehensmodell, bei dem in jeder Iteration – dem sogenannten Sprint – ein potenziell auslieferbares Produktinkrement hergestellt wird. Dabei haben Sprints üblicherweise eine einheitliche Länge und innere Struktur sowie ein definiertes Ergebnis.
Abb. 1: Der Scrum-Prozess (in Anlehnung an [Highsmith, 2002])
Vor Beginn eines Sprints werden vom Produktverantwortlichen (Product Owner) aus einem Produkt-Backlog jene Anforderungen (Backlog-Items) ausgewählt, die im nächsten Schritt umgesetzt werden sollen, und in Abstimmung mit dem Entwicklerteam in das Spring-Backlog aufgenommen. Die Umsetzung erfolgt dann innerhalb eines Sprints mit einer Dauer von wenigen Tagen bis zu einem Monat. Jeden Tag trifft sich das Entwicklerteam zum „Daily Scrum“ zwecks Synchronisation seiner Teammitglieder. Am Ende jedes Sprints steht das Produktinkrement, welches um die Funktionen der im erfolgten Sprint umgesetzten Backlog-Items reicher ist [Highsmith, 2002].
Literatur
Anderson, David J.: Kanban: Successful Evolutionary Change for Your Technology Business. Blue Hole Press: Sequim, 2010.
Beck, Kent: Extreme Programming Explained: Embrace Change. Addison-Wesley: Boston, 1999.
Beck, Kent; Beedle, Mike; Van Bennekum, Arie; Cockburn, Alistair; Cunningham, Ward; Fowler, Martin; Grenning, James; Highsmith, Jim; Hunt, Andrew; Jeffries, Ron; Kern, Jon; Marick, Brian; Martin, Robert C.; Mellor, Steve; Schwaber, Ken; Sutherland, Jeff; Thomas, Dave: Manifesto for Agile Software Development. http://www.agilemanifesto.org/, 2001.
Beedle, Mike; Schwaber, Ken: Agile Software Development with Scrum. Prentice Hall: Upper Saddle River, 2002.
Boehm, Barry: Get Ready for Agile Methods, with Care. Computer, 35 (1), S. 64–69, 2002.
Dingsøyr, Torgeir; Nerur, Sridhar; Balijepally, VenuGopal; Moe, Nils Brede: A Decade of Agile Methodologies: Towards Explaining Agile Software Development. Journal of Systems and Software, 85 (6), S. 1213–1221, 2012.
Highsmith, Jim: Agile Software Development Ecosystems. Addison-Wesley: 2002.
Hummel, Markus: State of the Art: A Systematic Literature Review on Agile Information Systems Development. Proceedings of the 47th Hawaii International Conference on System Science, Waikoloa, 2014.
Turner, Richard; Boehm, Barry: People Factors in Software Management: Lessons From Comparing Agile and Plan-Driven Methods. CrossTalk: The Journal of Defense Software Engineering, 16 (12), S. 4-8, 2003.