zurück zum Artikel

Projektarten im agilen Kontext

Bernd Oestereich

Scrum ist ein einfaches und universelles Vorgehensmodell, das Projekte und Teams spezifisch adaptieren und ausprÀgen. Die spezifischen AusprÀgungen hÀngen unter anderem von den Rahmenbedingungen und der Art der Projekte ab.

Scrum ist ein einfaches und universelles Vorgehensmodell ("fĂŒr alle das Gleiche"), das Projekte und Teams spezifisch adaptieren und ausprĂ€gen ("jeder macht etwas anderes daraus"). Die spezifischen AusprĂ€gungen hĂ€ngen unter anderem von den Rahmenbedingungen und der Art der Projekte ab.

Unterschiedliche Projektarten fĂŒhren typischerweise zu spezifischen Herausforderungen fĂŒr die Beteiligten. Je nachdem, ob man das Projekt beispielsweise intern oder extern entwickelt, es öffentlich ausgeschrieben wird oder nicht, der Preis feststeht oder nach tatsĂ€chlichem Aufwand abgerechnet wird, ob es ein kleines oder großes Projekt ist, ob es sich um eine Neu- oder Weiterentwicklung handelt, erfordern andere Sachverhalte die besondere Aufmerksamkeit.

Scrum verlangt eine andere Sichtweise auf die Frage nach der Projektart als nicht agile Vorgehensweisen. Seine wachsende PopularitĂ€t fĂŒhrt derzeit zu Fragen in der Art "Wie mache ich eigentlich 'etwas Bestimmtes' in Scrum?". Mit 'etwas Bestimmtem' sind etwa das Arbeiten an zwei Standorten, Festpreis, das Einbinden nicht agiler Zulieferer, drei Teams und Architekturstandards gemeint.

Je nach Projektart hat die Frage aber oftmals eine andere Bedeutung, und auch die Antworten gestalten sich unterschiedlich. In Diskussionsforen ist hÀufig zu beobachten, dass (die ersten) Antworten oft an der Frage vorbeigehen, weil unausgesprochen eine andere Projektart unterstellt wurde.

Die Zusammenarbeit des Product Owner mit DomÀnen- und Anforderungsexperten birgt in einer internen Produktentwicklungsorganisation beispielsweise andere Chancen und Risiken als die in einer externen Projektorganisation mit wiederum vielen Zulieferbeziehungen zu Dritten.

Im Folgenden seien Projektarten vor allem im Hinblick auf die Bedeutung fĂŒr Scrum-Projekte beziehungsweise fĂŒr agiles Projektmanagement und agiles Requirements Engineering unterschieden.

Auch wenn es eine DIN-Definition des Begriffs "Projekt" gibt, spielt sie nach Gerhard Wohland "aber kaum eine Rolle. Jedes Unternehmen hat eine eigene Auffassung von dem, was ein Projekt ist. Oft gibt es sogar im gleichen Unternehmen mehrere Auffassungen. – Am hĂ€ufigsten sind sogenannte temporĂ€r modifizierte Linienstrukturen, die als Projekt bezeichnet werden." Der Autor schließt sich Wohland an und versteht unter "'Projekt' eine temporĂ€r gebildete Sonderorganisation – in einer permanenten Organisation (Linie) als Umgebung". [1]

Ein zum allgemeinen VerstĂ€ndnis wichtiges Unterscheidungsmerkmal ist der Status im Lebenszyklus (Neuentwicklung, Erweiterung, Wartung et cetera). Die hieraus resultierenden Projektarten werden im Folgenden zunĂ€chst kurz dargestellt, um dann jedoch zu einem anderen wichtigen Unterscheidungsmerkmal zu wechseln, nĂ€mlich der Organisations- und Verantwortlichkeitsstruktur, die speziell fĂŒr agile Projekte interessanter sein dĂŒrfte.

Die Unterscheidung nach Lebenszyklus fĂŒhrt zu folgenden Arten:

Die Unterscheidungen haben Einfluss auf die Art, wie sich Anforderungen ermitteln und behandeln lassen beziehungsweise welcher Art die Anforderungen ĂŒberwiegend sind, weniger jedoch auf die Verteilung der Verantwortlichkeiten.

Wenn der Wartungsaufwand eher niedrig ist und kein Team konstant auslastet, stellen sich beispielsweise organisatorische Fragen. Normalerweise sollte ein Team nicht an mehreren Projekten gleichzeitig arbeiten sowie nur einen Product Backlog und einen Product Owner haben. Wartungsbedarf entsteht oftmals ad hoc. Ist der Aufwand außerdem gering, lohnt sich das Etablieren eines eigenen Teams und eines eigenen Product Backlog kaum.

Eine Lösung des Dilemmas wĂ€re, die Wartungsaufgaben so vieler verschiedener Systeme in einem Wartungs-Product-Backlog zu bĂŒndeln, dass sich die iterationsweise Einsetzung eines Teams hierfĂŒr lohnt. Man muss noch nicht einmal ein permanentes iteratives Vorgehen (auf eine Iteration folgt gleich die nĂ€chste) erreichen, sondern es lassen sich einfach so viele Wartungsaufgaben in einem Product Backlog sammeln, bis sie das Einsetzen eines Teams und einer Iteration rechtfertigen.

Auch ist es nicht zwingend, ein festes Wartungsteam vorzuhalten. Denkbar wĂ€re, in Iterationen wechselnd andere Teams einzusetzen oder neu zu bilden. Allerdings wĂŒrde das den Bedarf nach einem Projektportfoliomanagement wecken.

Bei Integrationsprojekten stellt sich die Beurteilung des GeschĂ€ftswerts und damit die Priorisierung der Aufgaben meistens anders dar. Die geschĂ€ftlichen Funktionen sind schon vorhanden. Der damit korrespondierende geschĂ€ftliche Nutzen ist auf Produktseite bereits hergestellt, das Produkt lĂ€uft bloß noch nicht in der richtigen Umgebung.

Typische Situationen fĂŒr Integrationsprojekte sind:

Integrationsprojekte wÀren stets gegen die Alternative Neuentwicklung abzuwÀgen. Sie haben typischerweise andere Interessenhalter als Neuentwicklungsprojekte. Die Bemessung des geschÀftlichen Nutzens ist oftmals indirekter und dadurch intransparenter.

GrundsĂ€tzlich ist die EinfĂŒhrung einer Standardsoftware ein Integrationsprojekt, denn es wĂ€re eine Ausnahme, wenn sie keine Auswirkung auf die bestehende Umgebung hĂ€tte. Manchmal ist es sinnvoller, die Standardsoftware zu verĂ€ndern und an die eigenen BedĂŒrfnisse anzupassen. Ein anderes Mal hingegen, die eigene Organisation und Prozesse an die Standardsoftware anzugleichen. In der Praxis ist es fast immer eine Mischung aus beidem.

Als agile Strategie empfiehlt sich, die Standardsoftware zunĂ€chst möglichst unverĂ€ndert einzusetzen und Erfahrungen und Erkenntnisse darĂŒber zu sammeln, wo ĂŒberhaupt Anpassungsbedarf notwendig ist. Der erkannte Bedarf lĂ€sst sich danach priorisieren und umsetzen. Denkbar wĂ€re, die Standardsoftware nur von einem kleinen, aber reprĂ€sentativen Teil der Organisation beziehungsweise Anwender nutzen zu lassen. Jedenfalls sollte das rein theoretische Antizipieren des Anpassungsbedarfs allenfalls eine ErgĂ€nzung, keinesfalls aber die primĂ€re Basis fĂŒr Umsetzungsentscheidungen bilden. Das wĂŒrde agilen Prinzipien widersprechen und zu großen fragwĂŒrdigen AnforderungsbestĂ€nden fĂŒhren. Empirisches Vorgehen sollte PrioritĂ€t haben.

Werden Projekte nach Organisations- und Verantwortlichkeitsstruktur unterschieden, ergeben sich ganz andere Projektarten, mit anderen Risiken, Chancen und Herausforderungen.

Das betrifft vor allem den Product Owner und seine Stakeholder. FĂŒr den Product Owner und das Requirements Engineering sind die Unterschiede in der Aufteilung der Verantwortlichkeiten zwischen den Beteiligten besonders relevant, und sie fĂŒhren in der Praxis zu unterschiedlichen Arbeitsweisen, weswegen der Unterscheidung besondere Aufmerksamkeit gewidmet sei.

Die in der Tabelle nĂ€her beschriebenen Projektarten "internes Projekt", "interne Linienaufgabe", "Gewerk", "Produktanbieter", "Koordinator" und "Kooperative" sind lediglich prototypische AusprĂ€gungen. TatsĂ€chlich gibt es beliebig viele Mischformen und Extreme. Beispielsweise sind Automobilhersteller sowohl Anbieter von Publikumsprodukten und gleichzeitig Koordinatoren einer Unmenge von Zulieferern. Sie bieten damit wahrscheinlich die grĂ¶ĂŸten Herausforderungen im Kontext des agilen Requirements Engineering.

Projektart
"Entwicklung
als 
"
Vertragsart & Abrechnung Vertrags­-
partner
Organisation Produktart & EmpfÀnger externe Lieferanten
A) internes
Projekt
(Projekt-
organisation zur Individual-
Produkt-
entwicklung);
interne Kostenstelle, ggf. interne Verrechnung interner Auftragnehmer temporÀr (Projekt) Individual-
produkt oder beschrÀnkter Kundenkreis
keine oder wenige Gewerke
ggf. inkl. Arbeitnehmer-
ĂŒberlassung
(Dienst­leistungs-
vertrÀge mit Externen)
Dienstleistung (Abrechnung nach Aufwand) externer Auftragnehmer ergÀnzende Dienstleister
B) interne Linienaufgaben (dauerhafte Entwicklungs-
organisation zur Individual-
Produkt­-
ent­wick­lung)
interne Kostenstelle, ggf. interne Verrechnung interner Auftragnehmer dauerhaft (Linie) Individual-
produkt oder beschrÀnkter Kundenkreis
keine oder wenige Gewerke; oft ergÀnzende Dienstleister
C) Gewerk
(Projekt-
organisation mit externem Auftragnehmer als Werkvertrag)
Werkvertrag (ggf. Festpreis, ggf. Ausschreibung) externer Auftragnehmer temporÀr (Projekt) Individual-
produkt oder beschrÀnkter Kundenkreis
ein Auftragnehmer, ggf. Sub-
unternehmer
D) Produkt-
anbieter
(Dauerhafte Entwicklungs-
organisation zur Publikums-Produkt-
entwicklung)
interner Auftragnehmer dauerhaft Publikums-
produkt
keine oder wenige
E) Koordinator (Projekt-
organisation mit internem General-
auftragnehmer und vielen externen Lieferanten)
intern Dienstleistung; mit externen WerkvertrÀge (diese ggf. Festpreis und Ausschreibung) beides temporÀr (Projekt) Individual-
produkt oder beschrÀnkter Kundenkreis
viele
F) Koperative (OpenSource) freiwillige Einwilligung in Rahmen
-bedingungen
Kooperation oft dauerhaft, aber Beteiligte wechseln Publikums-
produkt
viele

"Unterscheidung nach Organisations- und Verantwortungsstruktur"

Alle Beteiligten arbeiten fĂŒr das gleiche Unternehmen – entweder fĂŒr die Linienorganisation oder fĂŒr das Projekt. Die Projektmitglieder haben zeitlich befristet die Projektleitung als fachlichen Vorgesetzten. Das Team gehört in jedem Fall zur Projektorganisation, der Product Owner ebenfalls.

Bei dieser Projektart wird in den meisten FĂ€llen die Software fĂŒr den eigenen Bedarf des Unternehmens entwickelt, weiterentwickelt oder angepasst. Gegebenenfalls trifft es zu, dass sie zusĂ€tzlich fĂŒr kooperierende GeschĂ€ftspartner programmiert wird. Die Software unterstĂŒtzt gewöhnlich indirekt den eigentlichen GeschĂ€ftszweck des Unternehmens. Beispielsweise entwickeln die Programmierer einer Krankenversicherung in einem Projekt eine Software fĂŒr die eigene Verwaltung. ZusĂ€tzlich erhalten sie UnterstĂŒtzung durch externe Entwickler und Berater.

Gewöhnlich sind viele Beteiligte angestellte Mitarbeiter, die durch Externe UnterstĂŒtzung erhalten (in Form von ArbeitnehmerĂŒberlassung, auch "Body-Leasing" oder "Consulting" genannt), sobald interne KrĂ€fte nicht ausreichend verfĂŒgbar sind. Im Extremfall können aber alle Beteiligten Externe sein – maßgeblich ist, dass die Projekt- und Gesamtverantwortung beim beauftragenden Unternehmen liegt. Auch hierfĂŒr sei ein Beispiel gebracht: Ein Mobilfunkunternehmen wird mehr oder weniger auf der grĂŒnen Wiese gegrĂŒndet, fast ausschließlich durch externe Berater aufgebaut, die die Firma schließlich nach und nach durch angestellte Mitarbeiter ersetzt.

Einige Besonderheiten sind im Kontext des agilen Requirements Engineering besonders: Entwicklungsteam, Product Owner und Scrum Master arbeiten angestellt oder mit Dienstleistungsvertrag fĂŒr ein Unternehmen, das gleichzeitig Auftraggeber und -nehmer ist. Dadurch vereinfachen sich viele Aspekte in der Zusammenarbeit. Beispielsweise sind die meisten Benutzer ebenfalls Mitarbeiter im gleichen Unternehmen. Allerdings sind die Anforderungen gebenden Organisationseinheiten (vor allem Fachabteilungen und GeschĂ€ftsstellen) oftmals verstreut und verfolgen möglicherweise unterschiedliche Interessen, PrioritĂ€ten und widersprĂŒchliche Anforderungen.

Ein agiles Projekt sollte daher bemĂŒht sein, die Anforderungen gebenden Einheiten zusammenzubringen und mit ihnen ein gemeinsames Bild zu kreieren. Es sollte die Zusammenarbeit so gestalten, dass sich die potenziell widersprechenden Parteien anleiten lassen, ihre WidersprĂŒche konstruktiv und miteinander zu erkennen und zu klĂ€ren.

Soweit das nicht gelingt, ist das Projektteam gefĂ€hrdet, permanent als Mittler und Stellvertreter auftreten zu mĂŒssen und zwischen den Parteien zerrieben oder gar ausgespielt zu werden. Eine nicht nur undankbare, sondern auch selten erfolgreiche Rolle. Ein dediziertes Stakeholder-Management sollte von Anfang an dazu gehören. UnabhĂ€ngig davon braucht man in jedem Fall eine ĂŒber allem stehende Eskalations- und Entscheidungsinstanz. Der Product Owner ist prĂ€destiniert hierfĂŒr.

Typische Herausforderungen fĂŒr ein internes Projekt sind:

Eine interne Linienaufgabe unterscheidet sich vom internen Projekt im Wesentlichen dadurch, dass man die Software nicht in Form von Projekten, sondern durch eine dauerhafte Entwicklungsorganisation programmiert. Oftmals ist der Betrieb der Software auch der primÀre GeschÀftszweck.

Nicht selten gibt es auch Mischformen dergestalt, dass ausgewĂ€hlte Teile als Projekt und die ĂŒbrigen durch die Dauerorganisation entwickelt werden. HĂ€ufig ist auch eine Entwicklung in Form zahlreicher Klein-"Projekte" anzutreffen. Ein Internetportal entwickelt etwa die eigene Internetanwendung permanent weiter. Der Betrieb der Anwendung ist der unmittelbare GeschĂ€ftszweck. Die Weiterentwicklung orientiert sich an neuen Funktionen, die projektunabhĂ€ngige Einheiten produzieren. Sofern nicht der Betrieb, sondern die Herstellung und der Vertrieb der Software primĂ€re GeschĂ€ftszwecke sind, handelt es sich meistens um Produktanbieter.

Im Kontext des agilen Requirements Engineering sind wieder einige Besonderheiten zu beachten: Wie beim internen Projekt arbeiten Entwicklungsteam, Product Owner und Scrum Master als Angestellte oder mit Dienstleistungsvertrag fĂŒr ein Unternehmen, das Auftraggeber und -nehmer ist. Sofern auch noch der Betrieb der Software mit dem GeschĂ€ftszweck des Unternehmens korrespondiert, ist die Zusammenarbeit der Beteiligten meistens einfacher als bei internen Projekten.

Im Unterschied zu ihnen befinden sich die Benutzer hĂ€ufig außerhalb des Unternehmens, und es sind meistens deutlich mehr Anwender. DafĂŒr haben einzelne weniger Macht und Einfluss und vertreten ihre Interessen gewöhnlich nicht direkt.

Typische Herausforderungen fĂŒr den zweiten Projekttyp sind:

Wie beim internen Projekt oder bei der internen Linienaufgabe wird eine Individualsoftware fĂŒr den Eigenbedarf programmiert. Die Entwicklung ist jedoch ergebnisverantwortlich an Externe ausgelagert. Gewöhnlich schreibt man die Vorhaben aus und realisiert sie als Werkvertrag durch einen externen Auftragnehmer – oftmals zum Festpreis. Der Auftraggeber ist einerseits Zulieferer von Anforderungen und Entscheidungen des Auftragnehmers und zum anderen gegebenenfalls Koordinator der internen und externen Beteiligten.

Verantwortung und Kompetenzen (zum Beispiel Haftung, GewĂ€hrleistung, ZahlungsmodalitĂ€ten, Vorgehensweise) sind maßgeblich anders verteilt als bei DienstleistungsauftrĂ€gen. Der Auftraggeber bestimmt die gewĂŒnschten Eigenschaften des herzustellenden Produkts, gewöhnlich aber kaum, wie sie herzustellen sind. Beispielsweise schreibt ein Seehafen auf Basis einer groben Anforderungsspezifikation die Entwicklung eines Hafenlogistiksystems öffentlich aus und beauftragt einen externen Auftragnehmer mit der schlĂŒsselfertigen Herstellung (in Form eines inhaltsvarianten Festpreises).

Gerade die Festpreis-Variante, wie sie etwa fĂŒr öffentliche Auftraggeber und andere stark haushaltsplanende Organisationen wichtig ist, prĂ€destiniert ein Vorgehen, das regelmĂ€ĂŸig brauchbare Vorversionen liefert und die Anforderungen nach absteigendem GeschĂ€ftswert sortiert umsetzt. Die Einhaltung eines Kostenziels ist bei der agilen Vorgehensweise vergleichsweise einfach, und der geschĂ€ftliche Nutzen lĂ€sst sich gut optimieren. Ein Wasserfallvorgehen kann nichts Vergleichbares bieten, auch wenn der Irrglaube, Wasserfallprojekte eigneten sich gut fĂŒr Festpreise, immer noch populĂ€r ist.

Typische Herausforderungen fĂŒr Gewerkentwicklungen sind:

Beim dieser Projektart ist der Verkauf der entwickelten Software der eigentliche GeschÀftszweck, ansonsten sind die Eigenschaften Àhnlich wie bei der internen Linienaufgabe oder gegebenenfalls beim internen Projekt. Beispielhaft sei ein MedizingerÀtehersteller genannt, der BeatmungsgerÀte samt zugehöriger Software herstellt, die er an KrankenhÀuser verkauft.

Sofern es sich um eine neue Produktart handelt, ist die frĂŒhe Lieferung funktional abgespeckter Artikeln wie iPhone und iPad. Nachahmer haben es dann schon schwieriger. Deren minimaler marktgĂ€ngiger Funktionsumfang ist durch den MarktfĂŒhrer gesetzt, sofern sie nicht besondere eigene Innovationen zufĂŒgen können. Andererseits ist es ab der zweiten Produktversion prinzipiell wieder einfacher, inkrementell zu arbeiten.

Typische Herausforderungen fĂŒr diese Projektart sind:

Die Gesamtverantwortung fĂŒr ein Vorhaben verbleibt beim Auftraggeber. Er entwickelt aber nicht mit, sondern vergibt dafĂŒr AuftrĂ€ge an externe Lieferanten. Die Eigenschaften sind Ă€hnlich wie beim Gewerk, wobei der Auftragnehmer wichtige koordinierende und ĂŒberwachende Aufgaben verantwortet, vor allem dass sich die Gewerke in einer (bestehenden oder durch andere Gewerke weiterentwickelten) Systemlandschaft integrieren und betreiben lassen.

Damit verbleibt ein signifikantes Risiko beim gesamtverantwortlichen Auftraggeber. Es kann ihm passieren, dass alle Zulieferer beanstandungsfrei liefern und trotzdem die Gesamtlösung nicht zum Laufen kommt, weil er Schnittstellen oder Rahmenbedingungen unzureichend koordiniert oder spezifiziert hat. Ein Beispielszenario fĂŒr diesen Projekttyp wĂ€re ein VersandhĂ€ndler, der eine neue Bestellverwaltungssoftware vom externen Anbieter A herstellen lĂ€sst, die in einer Hard- und Softwareumgebung laufen soll, die der externe Anbieter B betreibt.

Das Versagen eines Einzellieferanten kann das Gesamtsystem gefĂ€hrden. Einzelne MĂ€ngel haben das Potenzial, unkalkulierbar große Negativwirkungen zu zeigen, da Workarounds und andere Risikominimierungsmaßnahmen gegebenenfalls wiederum mit anderen Lieferanten zu verhandeln sind.

Typische Herausforderungen fĂŒr Koordinator-Projekte sind:

An der Entwicklung einer Open-Source-Software sind gewöhnlich viele Personen oder Firmen beteiligt, die sich den Entwicklungsaufwand auf zumeist freiwilliger und jederzeit abbrechbarer Basis teilen und sich selbst kooperativ organisieren. Die Basis bilden lizenzrechtliche Vereinbarungen, technische Infrastruktur und die Verteilung von Rollen und Rechten. Eclipse ist ein Beispiel eines Open-Source-Projekts, das durch die Freigabe eines ursprĂŒnglich IBM gehörenden Produkts (Visual Age) entstand, das spĂ€ter in die rechtlich eigenstĂ€ndige Eclipse Foundation ĂŒbergegangen ist.

Allerdings ist zu bedenken, dass normale, das heißt Nicht-Open-Source-Projekte manchmal einfach entscheiden, ihre Arbeitsergebnisse zu veröffentlichen, es aber ansonsten unverĂ€ndert das gleiche Projekt ist. Deswegen ist der Begriff "Open Source" nicht immer das richtige Unterscheidungsmerkmal.

Besondere Eigenschaften kooperativer Projekte sind:

Viele erfolgreiche Open-Source-Projekte haben eine oder wenige FĂŒhrungsfiguren, die dem Projekt eine klare Richtung geben, ansonsten fehlt oftmals die Erarbeitung oder Kommunikation einer Vision.

Typische Herausforderungen fĂŒr kooperative Projekte sind:

Jedes Projekt ist anders und hat andere Herausforderungen. Scrum wiederum ist ein Rahmenwerk, dass nicht viele Rollen, Artefakte und Arbeitstreffen (Prozesselemente) beschreibt, diese aber weitgehend bedingungslos einfordert. Alle unternehmens- und projektspezifische Varianz spielt sich vor allem in dem Bereich ab, den Scrum (bewusst) ausspart.

Insofern ist Scrum einerseits streng, gibt andererseits aber auch viel Gestaltungsraum. Jedes Projekt wiederum ist individuell, trotzdem gibt es immer wieder Gemeinsamkeiten, die sich vor allen an der Art des Projektes festmachen lassen. Deswegen ist es bei der Diskussion ĂŒber die konkrete Ausgestaltung von Scrum-Projekten nicht nur nĂŒtzlich, sondern geradezu notwendig, die jeweilige Projektart zu benennen, um zielgerichteter und effizienter darĂŒber zu diskutieren und kontextspezifisch Best Practices auszutauschen.

Dieser Artikel soll terminologisch und inhaltlich eine Basis hierfĂŒr bilden.

Bernd Oestereich
ist Inhaber der oose Innovative Informatik GmbH und Autor zahlreicher international verlegter FachbĂŒcher.

  1. Gerhard Wohland; Denkwerkzeuge der Höchstleister; Murmann-Verlag, 2007
  2. Bernd Oestereich; Agiles Requirements Engineering; dpunkt-Verlag, 2010 (in Vorbereitung)

(ane [1])


URL dieses Artikels:
https://www.heise.de/-1074852

Links in diesem Artikel:
[1] mailto:ane@heise.de