Projektarten im agilen Kontext
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.
Projektarten und ihre AusprÀgungen
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.
Unterscheidung nach Lebenszyklus
Die Unterscheidung nach Lebenszyklus fĂŒhrt zu folgenden Arten:
- Neuentwicklung eines Produkts, das es so noch nicht gibt;
- Erweiterung eines Produkts;
- Wartung, also das Aufrechterhalten der Einsatz- und LeistungsfÀhigkeit sowie die Fehlerbehebung;
- Sanierung oder Migration, den vollstÀndigen oder teilweisen Ersatz eines Produkts durch ein neues mit besserer Architektur und besseren Techniken bei weitgehend identischen Funktionen;
- Integration, die technische oder organisatorische Einbettung eines bestehenden Produkts in eine neue Umgebung;
- Standardsoftware, der Kauf und die Einbettung in die eigene Umgebung eines Standardprodukts, wobei sowohl das Standardprodukt als auch die eigene Umgebung (vor allem Prozesse und Organisation) manchmal erheblich anzupassen sind.
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.
Wartungsprojekte
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.
Integrationsprojekte
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:
- Die Entscheidung, keine neue Software zu entwickeln, sondern eine fertige Lösung oder ein Standardprodukt zu kaufen. Bei einer "Make or Buy"-Entscheidung fÀllt die Wahl demnach auf "Buy". Da kaum eine Software völlig unabhÀngig vom Rest der Welt eingesetzt wird, steht hierbei die Integration in die bestehende Organisation sowie die bisherigen Prozesse und Systeme im Vordergrund.
- Durch die Fusion von Unternehmen oder Unternehmensteilen, die bislang unabhÀngig voneinander operiert haben, werden Systeme des einen in die Umgebung des anderen integriert. Auch das betrifft die Prozesse, die Organisation und die Technik.
- Aufbau und ErschlieĂen neuer technischer Plattformen und Medien. Beispielsweise sollen betriebsinterne Systeme im Internetbrowser lauffĂ€hig werden oder man will zur Einsparung von Lizenzkosten andere Datenbanken, Betriebssysteme oder Middleware einsetzen.
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.
Standardsoftware
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.
Organisations- & Verantwortlichkeitsstruktur I
Unterscheidung nach Organisations- und Verantwortlichkeitsstruktur
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"
Internes Projekt
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:
- einflussreiche und sich widersprechende Interessenvertreter;
- verstreute Interessenvertreter;
- Stellvertreterkonflikte.
Interne Linienaufgabe
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:
- Benutzer lassen sich nicht oder nur indirekt beteiligen;
- Benutzer mit geringem Einfluss.
Gewerk
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:
- Auftragnehmer und Auftraggeber sind getrennt, die Projektbeteiligten haben unterschiedliche, sich auch widersprechende Interessen;
- aufwendige AuftragsklÀrung vor Vertragsschluss;
- nur wenige Einfluss- und Eskalationsmöglichkeiten zwischen Auftraggeber und -nehmer und nur indirekte zwischen Projektbeteiligten unterschiedlicher Parteizugehörigkeit.
Organisations- & Verantwortlichkeitsstruktur II
Produktanbieter
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 Endkunden und Endbenutzer sind nur indirekt zu beteiligen;
- sie sind einflussarm;
- reprÀsentative Beta-Testsituationen sind zu schaffen;
- eine inkrementelle Lieferung und sinnvolle Teillösungen sind zu schaffen.
Koordinator
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:
- EinzelvertrÀge sind so zu gestalten, dass das Koordinationsrisiko minimiert wird;
- RĂŒckstellungen und Puffer zur Behebung von Koordinationsfehlern mĂŒssen bereitgehalten werden;
- eine frĂŒhzeitige und regelmĂ€Ăige Integration ĂŒber Lieferantengrenzen hinweg.
Kooperative (Open Source)
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:
- Die Teilnehmer kennen sich oft nicht persönlich.
- In vielen Projekten gibt es eher weniger SchÀtzungen und Metriken.
- Es ist gewöhnlich transparent, wer etwas zu machen plant, aber weniger, wer tatsÀchlich wann wie intensiv an etwas arbeitet.
- Die Arbeit wird meistens nebenbei erledigt und kann auch mal ein paar Wochen liegen bleiben.
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:
- unstete und weniger zuverlĂ€ssige VerfĂŒgbarkeit und KapazitĂ€ten der Beteiligten;
- uneinheitliche QualitÀt der Arbeitsergebnisse, Ergebnisse werden öfter auch mal wieder verworfen beziehungsweise nicht akzeptiert;
- die Selbstverpflichtungen der Teilnehmer sind oft anders als in anderen Projektarten;
- die Kommunikation komplexer Sachverhalte ist aufwendiger und anfÀlliger.
Fazit
Fazit
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.
Literatur
- Gerhard Wohland; Denkwerkzeuge der Höchstleister; Murmann-Verlag, 2007
- 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
Copyright © 2010 Heise Medien