Skip to main content
Erschienen in: Informatik Spektrum 6/2022

Open Access 15.08.2022 | HAUPTBEITRAG

Die Zerstörung der Agilität

verfasst von: Dirk Wiesmann

Erschienen in: Informatik Spektrum | Ausgabe 6/2022

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Zusammenfassung

Der Begriff agil wird in der IT und speziell in der Softwaretechnik häufig genutzt. Diese breite Verwendung ist verwunderlich, da der Begriff agil in der Softwaretechnik gar nicht ausreichend definiert ist.
Die Beliebigkeit des Begriffs agil birgt die Gefahr von unbegründeten Entscheidungen und ideologischen Diskussionen. Beides bremst den weiteren Erkenntnisgewinn in der Softwaretechnik aus. Der Begriff agil sollte daher im professionellen und wissenschaftlichen Umfeld nicht weiter verwendet werden.
In diesem Artikel wird der Begriff agil kritisch beleuchtet und es wird herausgearbeitet, welcher Begriff den Kerngedanken der Agilität besser ausdrückt.
Hinweise

Hinweis des Verlags

Der Verlag bleibt in Hinblick auf geografische Zuordnungen und Gebietsbezeichnungen in veröffentlichten Karten und Institutsadressen neutral.

Eine Polemik als Reflexionshilfe

Bevor ich mit dem eigentlichen Thema starte, muss ich kurz etwas abschweifen. Ich bin nämlich begeistert und etwas aufgeregt. Ich habe das folgende Manifest für die leckere Küche unterzeichnet.

Manifest für die leckere Küche

  • Gäste und ihre Zufriedenheit sind wichtiger als die Küchenprozesse und -maschinen
  • Ein fertiges Gericht macht eher satt als ein noch so dickes Kochbuch
  • Der Geschmack des Gastes ist wichtiger als die starre Umsetzung eines Rezeptes
  • Sonderwünsche akzeptieren, statt die Speisekarte durchsetzen
Da wird niemand widersprechen können. Außerdem erreicht man damit schmackhafte Gerichte (das verspricht ja die Überschrift). Das Manifest ist ein Leuchtturm und wird die Gastronomie revolutionieren! Obwohl ich kein ausgebildeter Koch bin, sehe ich mich, auf Grundlage des Manifests, in der Lage, Ihnen, liebe Leser, für einen mittleren vierstelligen Betrag zweitägige Schulungen anzubieten. Am Ende erhalten Sie sogar aufwendig gestaltete Fantasieurkunden. Sind Sie auch so begeistert von dem Manifest? Nein?!
Eigentlich haben Sie ja recht. Es handelt sich nur um eine Auflistung von Allgemeinplätzen. Dem Betreiber eines Restaurants wird damit in keiner Weise weitergeholfen. Was schmeckt, bleibt dem Einzelnen überlassen und es wird auch kein einziges konkretes Kochrezept präsentiert.
Damit genug der Polemik. Sie wissen wahrscheinlich schon, in welche Richtung ich möchte. Damit kommen wir zurück zum eigentlichen Thema und einer (hoffentlich) sachlichen Diskussion.

Suche nach einer Definition

Bereits im Jahr 2014 hat sich Meyer kritisch mit der Agilität in der Softwaretechnik auseinandergesetzt [6]. Leider hat sein Werk keine ausreichende Beachtung gefunden. Anders lässt sich die weitere unreflektierte Nutzung des Begriffs agil nicht erklären.
Während sich Meyer auch kritisch mit Praktiken, Methodiken, Rollen und Artefakten auseinandergesetzt hat, geht es in diesem Artikel um die grundsätzliche Aussagekraft des Begriffs agil.
Der Duden sagt, dass der Begriff agil einen lateinischen Ursprung hat und für flink, wendig und beweglich steht. Der Begriff agil ist also durchgängig mit positiven Assoziationen verknüpft (oder möchten Sie lieber als behäbig, schwerfällig oder unbeweglich bezeichnet werden?). Damit ist dieser Begriff kein sonderlich guter Kandidat, um als Basis einer sachlichen/neutralen Definition zu dienen.
Es gilt nun zu klären, welchen Bezug der Begriff agil zur Informatik hat. Wie lässt sich der Begriff der Wendigkeit sinnvoll nutzen und ggf. sogar quantifizieren?

Eine Vision ist keine Definition

Im Umfeld des Begriffs agil findet man viele Bezüge zum Agilen Manifest [10]. Das Manifest wurde im Jahr 2001 von einer Gruppe von Personen formuliert, die sich Gedanken zu Softwareentwicklungsprozessen gemacht haben. Im Folgenden ist das Agile Manifest wiedergegeben, wie man es unter der Onlinequelle findet [10]. Die konzeptionelle Ähnlichkeit des Manifests für die leckere Küche mit dem Agilen Manifest ist natürlich kein Zufall.

Manifesto for Agile Software Development

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan
Zu den 4 Aussagen gibt es den folgenden Zusatz (die folgende Relativierung):
  • That is, while there is value in the items on the right, we value the items on the left more.
Den eigentlichen Punkten kann aufgrund des nicht definierten Kontextes, der Allgemeingültigkeit und der Relativierung niemand widersprechen. In ihrer Allgemeinheit sind die Aussagen aber schon wieder beliebig. Es werden dort in keiner Form klare Grenzen und Festlegungen gezogen. Kann man anhand des Manifests bestimmen, ob ein gegebener Softwareentwicklungsprozess agil ist? Aufgrund der Beliebigkeit der Aussagen im agilen Manifest ist dies nicht möglich! Es liegt damit im Auge des Betrachters, ob ein Prozess als agil bezeichnet wird. Das Manifest hilft auch nicht dabei, einen (agilen) Prozess abzuleiten. Dazu ist das Manifest zu unkonkret und kann keine Hilfestellungen geben.
Ein geringer Dokumentationsumfang ist z. B., unabhängig vom Kontext, kein genereller Wert. Die Ratschläge des Manifests hätten konkreter formuliert werden müssen, z. B. in der Form:
  • „Die Prozessdokumentation darf nur so komplex sein, dass sie vom Team verstanden, umgesetzt und eingehalten werden kann.“
Dies ist aber nicht erfolgt. In welchem Gemütszustand muss man sich befinden, dass man solche Plattitüden unterschreibt? Dies deutet zumindest darauf hin, dass die Unterzeichner wohl sehr frustriert über die damaligen Zustände in der Softwareentwicklung gewesen sein mussten. Ihren Unmut haben sie zum Ausdruck gebracht. Aber eine sachliche Alternative konnten sie nicht anbieten. Wahrscheinlich war der durch das Manifest gesetzte Impuls sogar wichtig. Leider ist dieser Impuls in eine gewisse Beliebigkeit verpufft, wie die weitere Diskussion zeigt.

Diskussion der agilen Prinzipien

Zum agilen Manifest wurden auch Prinzipien vorgeschlagen, die ein agiles Vorgehen unterstützen und wahrscheinlich auch konkretisieren sollen [2]. Von Meyer werden (agile) Prinzipien ebenfalls diskutiert. Meyer hat allerdings eine freundliche Vorauswahl und Strukturierungen der Prinzipien getroffen.
Im Folgenden wird betrachtet, ob mithilfe der Prinzipien ein gegebener Softwareentwicklungsprozess als agil identifiziert werden kann oder ob sich aus den Prinzipien sogar ein agiler Prozess ableiten lässt.
Dabei wurden die deutschen Übersetzungen der Prinzipien aus [7] entnommen. Das erste Prinzip lautet:
  • Die höchste Priorität liegt darin, den Kunden durch frühe und kontinuierliche Lieferung hochwertiger Software zufriedenzustellen.
Die Formulierungen legen den Schwerpunkt auf ein fiktives Arbeitsergebnis. Wie diese wünschenswerten Arbeitsergebnisse erreicht werden können, wird nicht beschrieben. Eine hohe Priorität zu setzen reicht nicht aus. Hochwertige Software entsteht nicht, nur weil man es will. Es müssen auch entsprechende Maßnahmen ergriffen werden [3, 4, 8].
Dem Autor ist kein Prozessmodell bekannt, welches die Unzufriedenheit des Kunden, oder eine schlechte Qualität fordert. Ist ein Prozess genau dann agil, wenn hochwertige Software erstellt wird und der Kunde zufrieden ist? Diese Definition wäre im besten Fall eine selbsterfüllende Prophezeiung. Der Wunsch nach einer kontinuierlichen Lieferung weist zumindest auf die Nutzung eines inkrementellen Vorgehens hin. Ein inkrementelles bzw. evolutionäres Vorgehen ist aber vom Ursprung nicht mit dem Begriff agil verknüpft [6].
Die nächsten beiden Prinzipien beziehen sich auf funktionierende Arbeitsversionen bzw. funktionierende Software.
  • Funktionierende Arbeitsversionen der Software müssen regelmäßig geliefert werden, innerhalb weniger Wochen oder Monate, wobei der kürzeren Zeitspanne eindeutig der Vorzug zu geben ist.
Die Regelmäßigkeit der Auslieferung deutet wieder auf einen inkrementellen Entwicklungsprozess hin. In der Praxis spricht viel für die Nutzung von inkrementellen Prozessen [1]. Es bleibt aber wieder offen, wie diese funktionierenden Arbeitsversionen überhaupt erreicht werden können. Eine funktionierende Arbeitsversion wäre auch noch genauer zu definieren. Reicht eine fehlerfreie Übersetzung durch den Compiler aus? Sind gewisse Qualitätskriterien zu erfüllen oder muss sie gar vom Anwender genutzt werden können? Umschließt die Nutzung gar einen produktiven Einsatz? Ist diese Forderung überhaupt immer zu erfüllen? Der Integrationsprozess, welcher der Auslieferung einer funktionierenden Arbeitsversion vorausgeht, hat eine nicht geringe Komplexität und erfordert eine gewisse Planung [9]. Diese für die Praxis wichtigen Aspekte werden in den Prinzipien nicht adressiert. Es soll nur schnell gehen. Ist ein Prozess agil, sobald man schnell ist und funktionierende Arbeitsversionen hat? Dann wäre die Agilität nicht Ursache eines erfolgreichen Prozesses, sondern würde einen solchen Prozess nur bezeichnen.
  • Funktionierende Software ist der primäre Maßstab für den Fortschritt.
Software ist mehr als nur das ausführbare Programm. Zur Software gehören z. B. auch Benutzerhandbücher, Installationsanweisungen, Produktbeschreibungen, Betriebskonzepte, Onlinehilfen [1]. Was ist in diesem Kontext unter funktionierender Software zu verstehen? Wahrscheinlich ist gemeint, das ausführbare Programm als primären Maßstab des Fortschrittes zu verwenden. Auch der Prozess und das Projekt erfordern Maßnahmen und die Erstellung von Artefakten. Das Prinzip deutet darauf hin, dass man in der Vielfalt von erforderlichen Arbeitsergebnissen nicht den Fokus verlieren soll. Dies kann ein plausibler Ratschlag sein. Auf der anderen Seite scheint es kein Prozessmodell zu geben, welches den Fortschritt allein auf Grundlage der ausgefüllten Formulare bewertet. Und es gibt Situationen, in denen ein Programm ohne Benutzerhandbuch und Betriebskonzept nicht in Betrieb genommen werden kann. Dieses Prinzip grenzt daher agile Prozesse nicht ausreichend ab.
  • … Agile Verfahren nutzen Änderungen als Wettbewerbsvorteil des Kunden.
Die Frage, mit welchen Maßnahmen jegliche denkbare Änderung in einen Wettbewerbsvorteil gewandelt werden können, bleibt unbeantwortet. In dieser Allgemeinheit kann kein Prozess dieses Versprechen einlösen. Die Berücksichtigung von Änderungen deutet auf einen evolutionären Entwicklungsprozess hin. Diese existieren aber auch unabhängig von agilen Bestrebungen. Das obige (agile) Prinzip dient nur dazu, den Begriff agil mit positiven Assoziationen zu verknüpfen. Für eine Definition von agilen Prozessen ist es damit wertlos.
  • Geschäftsleute und Entwickler arbeiten täglich gemeinsam im Projekt.
Wahrscheinlich handelt es sich bei den Geschäftsleuten um Vertreter des Auftraggebers. Dies ist ein Prinzip, welches kein positives Arbeitsergebnis vorwegnimmt. Es ist noch ausreichend konkret, es reicht aber wohl nicht aus, um die spezifischen Eigenschaften eines agilen Prozesses zu definieren. In [6] findet noch eine detaillierte Diskussion statt. Diese stellt vor allem heraus, dass es nicht den einen Kunden gibt, sondern eine Reihe von Stakeholdern. Dieser Aspekt wird in der agilen Diskussion nur unzureichend abgebildet.
  • Bauen Sie ihr Projekt um einzelne motivierte Mitarbeiter herum auf. Geben Sie diesen Mitarbeitern die Umgebung und die Unterstützung, die sie benötigen und vertrauen Sie darauf, dass sie ihre Arbeit gut machen.
Das sechste Prinzip gilt sicherlich für die praktische Umsetzung jedes Prozessmodells. Wird jemand dediziert nach schlechten Mitarbeitern mit einer miesen Motivation suchen? Wie man motivierte Mitarbeiter findet und deren Motivation erhält bzw. erhöht, wird nicht beschrieben. Was ist, wenn man nur durchschnittliche Mitarbeiter mit einer eingeschränkten Motivation zur Verfügung hat? Oder reicht es einfach aus, sich agil zu fühlen, um von motivierten Experten umgeben zu sein? Natürlich hat jeder Mitarbeiter auch das Recht auf eine ehrliche und konstruktive Rückmeldung bezüglich seiner Arbeitsergebnisse. Das Vertrauen auf gute Arbeitsergebnisse sollte damit Prüfungen der Arbeitsergebnisse nicht ausschließen. Dieses Prinzip hilft auch nicht bei der Definition von agilen Prozessen.
  • Die effizienteste und effektivste Methode zur Informationsübermittlung für und innerhalb eines Entwicklungsteams besteht in der direkten Kommunikation.
Die Kommunikation in Projekten ist sehr vielfältig. Wie kann z. B. eine Verbindlichkeit und Nachvollziehbarkeit in der Kommunikation erreicht werden? Wie können Dritte informiert werden? Was ist mit verteilten Teams? Auf diese Aspekte wird nicht eingegangen. Stattdessen wird eine pauschale Behauptung auf Grundlage einer starken Vereinfachung getroffen. Eine Abgrenzung von Entwicklungsprozessen kann dadurch nicht erreicht werden.
  • Die besten Architekturen, Anforderungen und Designs entwickeln sich in Teams, die sich selbst organisieren.
Diese Aussage (Vermutung) ist ohne die Definition eines gewissen Kontextes absolut haltlos. Der Autor dieses Artikels sieht sich in der Lage, ein Team zusammenzustellen, welches das achte Prinzip widerlegt.
  • Ständige Aufmerksamkeit gegenüber technisch hervorragender Qualität sowie gutem Design verbessert die Agilität.
Auch bei diesem Prinzip ist wieder der Wunsch der Vater des Gedankens. Was ist technisch hervorragende Qualität und gutes Design? Wie kann man beides erreichen? Der Begriff agil wird ohne erkennbaren Bezug mit positiv hinterlegten Eigenschaften in Bezug gesetzt. Wenn man die für die Praxis erforderliche Operationalisierung des Qualitätsbegriffs betrachtet [8], dann erscheint dieses Prinzip von sehr naiver Natur zu sein.
  • Agile Prozesse fördern kontinuierliche Entwicklung. Geldgeber, Entwickler und Benutzer sollten endlos ein beständiges Tempo beibehalten.
Ein agiler Prozess ist noch gar nicht ausreichend definiert. Er kann aber trotzdem eine kontinuierliche Entwicklung fördern? Mit welchen Mitteln wird dies erreicht? Mit welchen Methoden kann ein beständiges Tempo erreicht werden und das auch noch endlos? Die wesentlichen Fragen bleiben unbeantwortet.
  • Schlichtheit – die Kunst, die Menge der nicht geleisteten Arbeit zu maximieren – ist essenziell.
Das elfte Prinzip lässt den Autor ratlos zurück. Es besteht daher nur die Vermutung, dass auch dieses Prinzip nicht bei der Definition von agilen Prozessen weiterhilft. Meyer hat zu diesem Prinzip einen etwas besseren Zugang und kann daher eine ausführlichere Diskussion liefern [6]. Aber auch bei dieser Diskussion kann diesem Prinzip nichts Hilfreiches abgerungen werden.
  • Die Teams müssen in regelmäßigen Abständen darüber beraten, wie sie noch effektiver arbeiten können und ihr Verhalten dann entsprechend anpassen.
Es ist nicht ungewöhnlich, dass im Team eine (regelmäßige) Kommunikation stattfindet. Eine Beratung führt aber nicht einfach zu Prozessoptimierungen. Bevor man sein Verhalten anpassen kann, muss zunächst eine Lösung gefunden werden. Können die Anpassungen auch zu einem nicht agilen Prozess führen? Ist ein Prozess bereits agil, sobald sich die Projektmitglieder regelmäßig über ihr Vorgehen austauschen? Dies würde nicht viel zu einer trennscharfen Prozessdefinition beitragen.

Agilität vs. Sachlichkeit

Die Prinzipien sind hauptsächlich eine Mischung aus allgemeinen Lebensweisheiten, Behauptungen und Wunschdenken. Es bleiben 3 Punkte, die dabei helfen können, einen agilen Prozess zu definieren.
1.
Der Prozess basiert auf einem evolutionären Vorgehensmodell
 
2.
Fokus auf ausführbaren Code
 
3.
Täglicher Kontakt mit dem Kunden
 
Die Erstellung von Teilprodukten führt mittelfristig automatisch zu einer ausreichenden Fokussierung auf den Code. Ansonsten könnten keine Teilprodukte ausgeliefert werden. Daher ist der zweite Punkt im Wesentlichen im ersten Punkt enthalten. Die Auslieferung und Erprobung von Teilprodukten führen auch zu einem Kontakt mit dem Kunden, wenn auch nicht zwingend zu einem täglichen Kontakt. Bei EDV-Projekten [5] ist die Integration der Rolle des Fachbereichskoordinators eine nicht unübliche Praxis. Die obigen Punkte gelten damit für viele unterschiedliche Prozessmodelle (dieser Aspekt wird im Folgenden aufgegriffen).
Auch die Prinzipien helfen nicht, den Begriff der Agilität in der Softwareentwicklung ausreichend zu konkretisieren. Es lässt sich aber ein Argumentationsprinzip erkennen. Der Begriff agil wird immer im Zusammenhang mit positiven Zielen, Begriffen und Eigenschaften genannt (hochwertige Software, funktionierende Software, Wettbewerbsvorteil, effizient, effektiv, beste Architektur, hervorragende Qualität). Meyer hat darüber hinaus 7 weitere rhetorische Tricks (Fallen) identifiziert, die genutzt werden, um für die agile Softwareentwicklung zu werben [6]. Dies ist einer sachlichen Diskussion kaum förderlich. Der Begriff agil ist dadurch verbrannt.
Im Umfeld des Extrem Programming werden eine Reihe von Praktiken vorgeschlagen, um das Erreichen der obigen Prinzipien zu unterstützen. Diese sind von unterschiedlicher Nützlichkeit [5, 6]. Eine wichtige Frage bleibt unbeantwortet. Welche der Praktiken sind essenziell für einen agilen Prozess? Muss ein agiler Prozess alle Praktiken umsetzen (auch die von eingeschränkter Nützlichkeit) oder ist bereits eine Teilmenge ausreichend?
Agilität wird über positive Eigenschaften und Fähigkeiten definiert. Wie diese positiven Eigenschaften und Fähigkeiten erreicht werden, bleibt diffus. Die unzureichende Definition des Begriffs agil in der Softwaretechnik lässt keine sachlichen und fundierten Diskussionen zu.
Es wird an dieser Stelle nicht ausgeschlossen, dass es viele Softwareentwicklungsprojekte gibt, die sich als agil bezeichnen und die sehr erfolgreich sind. Es wird hier vielmehr die nicht ausreichend reflektierte Verwendung des Begriffs agil kritisiert. Die obigen Diskussionen stützen die Vermutung, dass häufig mit einer impliziten Definition der folgenden Art gearbeitet wird:
  • Wenn ein Projekt nicht erfolgreich ist, dann wurde kein agiler Prozess gefahren.
Auf Grundlage dieser Definition und der positiven Belegung des Begriffs agil lässt sich natürlich vortrefflich argumentieren. Wissenschaftliche Untersuchungen zum Thema Agilität verbieten sich auf Basis dieser unzureichenden Definitionen. Je nach Geschmack und gewünschtem Ergebnis kann alles oder nichts als agil bezeichnet werden. Dies bringt die Softwaretechnik aber nicht voran.
Für die Praxis besteht zudem die Gefahr des Cargo Cults. Es reicht nicht aus, sich als agil zu bezeichnen, eine Tischtennisplatte ins Büro zu stellen, in die Hände zu klatschen und bunte Zettel an die Wand zu kleben. Diese Äußerlichkeiten werden alleine keinen wesentlichen Einfluss auf die Arbeitsergebnisse haben.
Aus den obigen Gründen ist der Begriff agil im Zusammenhang mit Softwareentwicklungsprozessen ungeeignet und sollte im professionellen und akademischen Umfeld nicht weiter verwendet werden. Es ist damit nicht ausgeschlossen, dass es evtl. Berufszweige/Branchen gibt, die gerade die Beliebigkeit des Begriffs agil sehr schätzen. Für solche Begriffe scheint es einen gewissen Markt zu geben. Bei Microservice handelt es sich z. B. um einen weiteren (noch) unzureichend definierten Begriff, der sich einer gewissen Beliebtheit erfreut.
In der Arbeitswelt scheint der Begriff agil mit einer gewissen Lebensart verbunden zu sein. Zumindest deuten die Bezüge in vielen Stellenausschreibungen darauf hin. Auch ist in diesem Zusammenhang von agilen Werten die Rede. Nicht selten wird auch der Begriff Kultur verwendet. Dies sind Aspekte, die in diesem Artikel aber nicht weiter behandelt werden. Jeder Mitarbeiter hat seinen individuellen Wertekanon. Es ist fraglich, ob ein Softwareentwicklungsprozess darauf Einfluss nehmen soll/muss. Die normative Nutzung des (agilen) Kulturbegriffs scheint eher der Überhöhung des eigenen Tuns zu dienen (die Agilen machen alles richtig, die anderen machen alles falsch).
Aus praktischer Erfahrung des Autors haben unterschiedliche Prozessmodelle zudem keine direkte Auswirkung auf die Zufriedenheit der Mitarbeiter. Hier haben Faktoren, die vom Prozessmodell unabhängig sind, eine größere Bedeutung. Zu diesen Faktoren gehören z. B. Wertschätzung, passende Qualifikation der Mitarbeiter, Transparenz von Entscheidungen und passende Arbeitsumgebung. Die Behauptung, dass es nur in agilen Prozessen zufriedene Mitarbeiter geben kann, ist nicht begründet (allein weil der Begriff agil nicht ausreichend definiert ist).

Vorschlag einer Alternative

Trotz aller Kritik scheint ein Bedarf für den Begriff agil vorhanden zu sein (unabhängig von dem Lebensgefühl). Um konkreter zu werden, ist es wichtig, sich vom Agilen Manifest zu lösen. Basis der weiteren Diskussion ist die Unterscheidung zwischen Vorgehens- und Prozessmodellen, wie sie von Ludewig und Lichter vorgeschlagen wird [5].
Im Wesentlichen werden sequenzielle, inkrementelle und evolutionäre Vorgehensmodelle unterschieden [1]. Ein konkreter Prozess basiert immer auf einem Vorgehensmodell und stellt damit eine konkrete und anwendbare Ausprägung eines Vorgehensmodells dar. Die Prozessmodelle Extreme Programming (XP) und Scrum werden häufig als agil bezeichnet. Scrum nimmt dabei eigentlich eine Zwischenstellung ein. Für ein Vorgehensmodell werden bereits zu konkrete Aussagen über Rollen und Artefakte gemacht. Es handelt sich aber auch nicht um ein Prozessmodell, da keine direkten Aussagen zu Softwareentwicklungsprozessen gemacht werden. Das heißt, die eigentlich wichtige Ausgestaltung der Sprints bleibt offen. Beide Prozesse basieren auf einem evolutionären Vorgehensmodell. Das heißt, das Produkt wird schrittweise in einzelnen Inkrementen entwickelt und die Anforderungen müssen nicht vollständig erhoben werden, sondern lassen sich über die einzelnen Iterationen ergänzen. Dies ermöglicht eine gewisse Flexibilität und Beweglichkeit, die mit dem Begriff agil häufig assoziiert werden. Bei der Analyse der Prinzipien hat es mehrfach Hinweise auf ein evolutionäres Vorgehen gegeben.
Im Kern scheinen sich viele Vorteile von agilen Prozessen auf die grundlegenden Eigenschaften von evolutionären Vorgehensmodellen zurückführen zu lassen. Ich plädiere daher dafür, den Begriff der agilen Prozesse durch die evolutionären Vorgehensmodelle zu ersetzen. Evolutionäre Vorgehensmodelle sind ausreichend scharf definiert [1]. Auf der Basis eines Vorgehensmodells lassen sich unterschiedliche Prozesse definieren, die den spezifischen Anforderungen gerecht werden.
Die Angemessenheit von Prozessmodellen ist von vielen Faktoren abhängig und kann nicht pauschal bestimmt werden. Zu diesen Faktoren gehören z. B.:
  • Qualifikation der Mitarbeiter,
  • soziale Kompetenz der beteiligten Personen,
  • Größe des Projekts,
  • Fluktuation der Mitarbeiter,
  • Erfahrung des Auftraggebers,
  • Qualitätsanforderungen,
  • Einsatzdauer/Wartung.
In der Folge können Prozesse z. B. unterschiedlich formal sein und einen sehr unterschiedlichen Grad an Dokumentation erfordern. Dabei sind formalere Prozesse aber nicht mehr per se schlechter als unbürokratische Prozesse. Sicherlich geht das Agile Manifest nicht differenziert auf diese Punkte ein. Der Begriff agil kann eine solche ausdifferenzierte Betrachtungsweise erst recht nicht leisten.
Man kann vermuten, dass sich der Einfluss des Agilen Manifests auf die Softwarequalität nicht positiv ausgewirkt hat, gerade von den extremen Interpretationen, wie z. B. XP. Zunächst ist festzuhalten, dass die Auslieferung von Inkrementen (siehe evolutionäres Vorgehensmodell) kein Mittel der Qualitätssicherung ist, sondern dem Risikomanagement zuzuordnen ist. Warum der Verzicht auf ein explizites Qualitätsmanagement und einen angemessenen Qualitätssicherungsplan (beides erfordert Dokumentation und Prozesse) die Qualität steigern soll, ist ebenfalls nicht direkt ersichtlich. Unit-Tests und Pair-Programming bilden nur einen vergleichsweise kleinen Teil der Softwarequalitätssicherung ab [3, 4].

Fazit

Das Agile Manifest hat damals sicherlich einen Impuls gesetzt. Nur wurde dadurch von einem Extrem (sehr komplexe Prozesse und umfangreiche Dokumentation) auf das andere Extrem (minimalistische Prozessbeschreibung) zugesteuert. Es sei die Frage gestellt, ob extreme Positionen einen guten Standpunkt für das praktische Handeln bieten.
Die Softwaretechnik soll und muss sich weiterentwickeln. Allerdings sollte nicht jegliche Diskussion mithilfe eines unzureichend definierten Begriffs abgewürgt werden. Der Begriff agil sollte vermieden werden, um eine sachliche Diskussion zu ermöglichen und begründete Lösungen zu finden. Dabei ist es natürlich nicht ausgeschlossen, dass man nach einer sorgfältigen Analyse auch Praktiken, Methoden, Rollen und Artefakte nutzt, die lange Zeit mit dem Begriff agil verknüpft waren. An dieser Stelle sei erneut auf [6] verwiesen.
Open Access Dieser Artikel wird unter der Creative Commons Namensnennung 4.0 International Lizenz veröffentlicht, welche die Nutzung, Vervielfältigung, Bearbeitung, Verbreitung und Wiedergabe in jeglichem Medium und Format erlaubt, sofern Sie den/die ursprünglichen Autor(en) und die Quelle ordnungsgemäß nennen, einen Link zur Creative Commons Lizenz beifügen und angeben, ob Änderungen vorgenommen wurden.
Die in diesem Artikel enthaltenen Bilder und sonstiges Drittmaterial unterliegen ebenfalls der genannten Creative Commons Lizenz, sofern sich aus der Abbildungslegende nichts anderes ergibt. Sofern das betreffende Material nicht unter der genannten Creative Commons Lizenz steht und die betreffende Handlung nicht nach gesetzlichen Vorschriften erlaubt ist, ist für die oben aufgeführten Weiterverwendungen des Materials die Einwilligung des jeweiligen Rechteinhabers einzuholen.
Weitere Details zur Lizenz entnehmen Sie bitte der Lizenzinformation auf http://​creativecommons.​org/​licenses/​by/​4.​0/​deed.​de.

Hinweis des Verlags

Der Verlag bleibt in Hinblick auf geografische Zuordnungen und Gebietsbezeichnungen in veröffentlichten Karten und Institutsadressen neutral.

Unsere Produktempfehlungen

Informatik-Spektrum

Hauptaufgabe dieser Zeitschrift ist die Publikation aktueller, praktisch verwertbarer Informationen über technische und wissenschaftliche Fortschritte aus allen Bereichen der Informatik und ihrer Anwendungen in Form von Übersichtsartikeln und einführenden Darstellungen sowie Berichten über Projekte und Fallstudien, die zukünftige Trends aufzeigen.

Literatur
1.
Zurück zum Zitat Balzert H (2001) Lehrbuch der Software-Technik. Spektrum, HeidelbergMATH Balzert H (2001) Lehrbuch der Software-Technik. Spektrum, HeidelbergMATH
2.
Zurück zum Zitat Cockburn A (2003) Agile Softwareentwicklung. mitp, Bonn Cockburn A (2003) Agile Softwareentwicklung. mitp, Bonn
5.
Zurück zum Zitat Ludewig J, Lichter H (2010) Software Engineering. dpunk, HeidelbergMATH Ludewig J, Lichter H (2010) Software Engineering. dpunk, HeidelbergMATH
6.
Zurück zum Zitat Meyer B (2014) Agile! The good, the hype and the ugly. Springer, Cham Meyer B (2014) Agile! The good, the hype and the ugly. Springer, Cham
7.
Zurück zum Zitat Trepper T (2012) Agil-systematisches Softwareprojektmanagement. Springer Gabler, WiesbadenCrossRef Trepper T (2012) Agil-systematisches Softwareprojektmanagement. Springer Gabler, WiesbadenCrossRef
8.
Zurück zum Zitat Wagner S (2013) Software product quality control. Springer, BerlinCrossRef Wagner S (2013) Software product quality control. Springer, BerlinCrossRef
9.
Zurück zum Zitat Winter M, Ekssir-Monfared M, Sneed HM, Seidel R, Borner L (2013) Der Integrationstest. Hanser, München Winter M, Ekssir-Monfared M, Sneed HM, Seidel R, Borner L (2013) Der Integrationstest. Hanser, München
Metadaten
Titel
Die Zerstörung der Agilität
verfasst von
Dirk Wiesmann
Publikationsdatum
15.08.2022
Verlag
Springer Berlin Heidelberg
Erschienen in
Informatik Spektrum / Ausgabe 6/2022
Print ISSN: 0170-6012
Elektronische ISSN: 1432-122X
DOI
https://doi.org/10.1007/s00287-022-01480-1

Weitere Artikel der Ausgabe 6/2022

Informatik Spektrum 6/2022 Zur Ausgabe

Premium Partner