7 März 2025 (updated: 7 März 2025)

Wie man Agile jedem erklärt? Mit einer Metapher

Chapters

      Agile Softwareentwicklung ist ein bisschen wie eine Rucksackreise rund um die Welt. Lassen Sie mich erklären.

      Die Entwicklung maßgeschneiderter Software ist ein ziemlich komplizierter Prozess, der sich völlig von jeder anderen Erfahrung in unserem Alltag unterscheidet.

      Während meiner Interaktionen mit potenziellen Kunden spreche ich oft mit Menschen, die tolle Ideen für ihr erstes Startup haben, aber keine vorherige Erfahrung in der Softwareentwicklung. Wenn Sie einer von ihnen sind - dieser Artikel ist für Sie.

      Wie erkläre ich also Agile Softwareentwicklung auf eine relativ einfache Weise?

      Mit einer Analogie.

      In diesem Artikel erfahren Sie einige Dinge über Agile Softwareentwicklung:

      • was die Ähnlichkeiten zwischen Agile Softwareentwicklung und einer sehr langen Rucksackreise sind,
      • warum Schätzungen eine Form von fundierten Expertenannahmen und keine feste Kosten- und Leistungsbeschreibung sind,
      • warum es unmöglich ist, alles im Voraus vorherzusehen und zu planen (und warum Sie das tatsächlich nicht wollen würden),
      • was der alternative Ansatz ist (Waterfall),
      • warum Sie keine festen Kosten für ein Agile-Projekt festlegen können.

      Was haben eine Reise um die Welt und Agile Softwareentwicklung gemeinsam?

      In diesem Fall denke ich an die Art von Reise, bei der man mit seinem Rucksack in einige Länder reist, die halb um die Welt entfernt sind, und so viel wie möglich sehen möchte, oder vielleicht sogar an eine Rucksackreise rund um den Globus.

      Lass uns einige der Hauptähnlichkeiten zwischen der Reise und der Erstellung deines ersten Produkts auflisten:

      • Beides ist ziemlich anders als unsere üblichen Käufe oder Aktivitäten
      • Es sind eher teure einmalige Situationen, und du möchtest das Beste daraus machen und es beim ersten Mal richtig machen
      • Beides sind langfristige Prozesse und keine einmaligen Käufe
      • Beides bedeutet, etwas Einzigartiges zu tun, das wahrscheinlich noch niemand zuvor getan hat
      • Es ist unmöglich, alles im Voraus zu wissen oder zu planen in beiden Szenarien
      • Du musst bereit sein, Änderungen zu akzeptieren und deine Pläne unterwegs anzupassen

      Eine Einschränkung in meiner Metapher: Du kannst deine Reise planen und alleine gehen, aber du kannst deine Software nicht alleine erstellen. Du musst entweder dein eigenes Design- und Entwicklungsteam rekrutieren oder externe Hilfe von einer Softwareentwicklungsagentur in Anspruch nehmen. 

       

       

      Angenommen, Sie können (oder möchten einfach nicht) die Reise selbst planen und benötigen externe Hilfe. Daher entscheiden Sie sich, mit einer Reiseagentur zusammenzuarbeiten, die sich auf vollständig maßgeschneiderte Backpacking-Erlebnisse spezialisiert hat. Sie werden Ihnen nicht nur bei der Erstellung des Reiseplans helfen, sondern auch alle Formalitäten, Buchungen und Ausgaben während Ihrer Reise übernehmen, damit Sie sich wirklich darauf konzentrieren können, das Beste aus Ihrer Reise herauszuholen.

      Planen Sie Ihre Reise mit der Agentur

      Lassen Sie uns tiefer eintauchen - wie würde das tatsächlich aussehen?

      Wir können uns vorstellen, dass wir ein paar Meetings mit der Agentur haben, um Ihre Erwartungen, Ihr Budget, die wichtigsten Prioritäten, die erwarteten Unterkunftsstandards, die Länder und Sehenswürdigkeiten, die Sie besuchen möchten, sowie die Vorteile, die Ihnen wichtig sind, festzulegen, damit die Agentur Ihre Bedürfnisse versteht und darauf basierend das beste Erlebnis für Sie vorschlagen kann.

      Ähnlich werden Sie, wenn Sie mit einem Software-Entwicklungspartner sprechen, an einer Handvoll Meetings (vielleicht einem Product Design Workshop) teilnehmen, in denen die Agentur Ihre Ideen, Erwartungen, Bedürfnisse und Ziele bespricht und Ihnen hilft, die Pläne an Ihr Budget anzupassen.

      Die Agentur wird Ihnen einen Plan oder einen Überblick darüber präsentieren, was passieren wird, Ihnen verschiedene Möglichkeiten geben und Richtungen vorschlagen. Zu diesem Zeitpunkt handelt es sich um einen Entwurf mit einer geschätzten Zeit und Kosten sowie grundlegenden Informationen.

      In einer Software-Entwicklungsumgebung wäre dies gleichbedeutend mit einer ersten Schätzung. Die Agentur schätzt die beschriebenen Elemente und Funktionen der Anwendung, basierend auf den Informationen (geschäftliche & technische Möglichkeiten und Einschränkungen), die der Kunde zu diesem Zeitpunkt nach bestem Wissen bereitstellt.

      Vorbereitung vs. Bereitschaft, sich an veränderte Umstände anzupassen

      Angenommen, Ihr ursprünglicher Reiseplan sah vor, Japan nach Abschluss Ihrer Thailand-Tour zu besuchen. Aber Sie finden sich in Bangkok festgefahren, da alle Flüge nach Tokio in den nächsten Tagen gestrichen wurden. Sie müssen Ihre Pläne anpassen. 

      Der Auslöser für die Veränderung muss jedoch nicht unbedingt extern sein. Vielleicht gefällt Ihnen Bangkok so gut, dass Sie einfach länger dort bleiben möchten. Oder im Gegenteil - vielleicht möchten Sie einige Punkte von Ihrer Thailand-Liste streichen, um mehr Zeit in Tokio zu verbringen? Oder vielleicht haben Sie, nachdem Sie mit einigen Einheimischen gesprochen haben, festgestellt, dass es einen sehenswerten Ort in der Nähe gibt, von dem Sie noch nie gehört haben, und möchten ihn Ihrer Liste hinzufügen?

      In keinem der Beispiele war dies Ihr ursprünglicher Plan, aber die Situation hat sich geändert, und Sie müssen darauf reagieren. Alles, was Sie tun müssen, ist, die Agentur zu informieren, damit sie die Pläne basierend auf Ihrem Feedback anpassen und alles schnell für Sie erledigen kann.

      agile-methodology-vs-waterfall

      Das Gleiche kann während der Entwicklung Ihres Projekts passieren. Die Prioritäten einiger Funktionen können sich ändern; Sie könnten neue Funktionen hinzufügen oder die ursprünglich geplanten komplexer gestalten. Die Situation auf dem Markt könnte sich ändern und Sie zwingen, Ihr Produkt an neue Vorschriften oder Benutzerpräferenzen anzupassen, oder Sie haben einfach etwas übersehen.

      Die Schätzung, die Sie zu Beginn festgelegt haben, ist ein allgemeiner Fahrplan. Sie gibt ein allgemeines Verständnis des Umfangs, der zeitlichen und finanziellen Aufwendungen wieder, bleibt jedoch flexibel.

      Wenn sich etwas ändert, können Sie handeln und den Zeitplan sowie die Kosten anpassen und entsprechend reagieren. Sie sind nicht gezwungen, einen strengen Plan auszuführen, der unter anderen Umständen erstellt wurde. Einfach gesagt, erlaubt es Ihnen, die besten Entscheidungen zu treffen, während Sie vorankommen, ohne Sie von Anfang an an einen unrealistischen starren Plan zu binden.

      In Anbetracht dessen dürfen wir nicht vergessen, dass die natürliche Konsequenz solcher Änderungen auch die Zeit- und Kostenfaktoren beeinflusst. Sie können nicht erwarten, einige Tage länger im selben Hotel zu bleiben, ohne die Dauer der Reise zu verlängern und Ihr Budget zu erhöhen. Sie müssen entweder das Budget und Ihren Zeitrahmen erweitern oder einige andere Punkte auf Ihrer Liste aufgeben, um dies auszugleichen. Es ist die genau gleiche Geschichte mit der Softwareentwicklung. 

       

       

      Was ist die Alternative? Ein paar Worte zum Wasserfallansatz

      Stellen wir uns vor, Sie sind mit der Unsicherheit im Plan und den Kosten nicht zufrieden. Sie möchten einen sehr festen Plan zu einem festen Preis. Was tun Sie dann?

      Anstatt mit einer allgemeinen Skizze zu beginnen und während der Reise flexibel zu bleiben, müssen Sie alles im Voraus bis ins kleinste Detail planen und sich daran halten, egal was passiert.

      Das bedeutet, monatelang im Voraus zu planen, alle Unterkunftsdetails, Bus-/Zugtickets, welche Sehenswürdigkeiten Sie sehen werden, zu welcher Uhrzeit und wie lange. Sogar was Sie zum Frühstück, Mittagessen und Abendessen haben werden. Jeder einzelne Tag und jede Aktivität sind bis zur Stunde geplant und festgelegt, Monate vor der eigentlichen Reise, im Vertrag festgehalten, ohne Möglichkeit zur Änderung. Versuchen Sie sich das einmal vorzustellen.

      Das (ziemlich genau) ist der Wasserfall- & Festpreisansatz in der Softwareentwicklung. Es gibt sehr wenig Spielraum für Anpassungen, insbesondere in Echtzeit. Sie müssen alles zu Beginn planen und dann genauestens befolgen, unabhängig von der sich ändernden Umgebung oder der Situation um Sie und Ihr Produkt herum.

      Das ist noch nicht alles. In den meisten Fällen endet der Wasserfallansatz teurer als Agile, und es gibt zwei Hauptgründe dafür.

      Der erste ist Risikominderung. Arbeiten im Wasserfall und zu einem Festpreis bedeutet, dass die Agentur die oben genannten Risiken (intern und extern) kompensieren muss, um finanzielle Verluste bei einem solchen Projekt zu vermeiden. Das übersetzt sich einfach in einen erhöhten Preis, unabhängig davon, ob die Änderungen tatsächlich eintreten oder nicht und in welchem Umfang. Die Agentur muss alle denkbaren Worst-Case-Szenarien berücksichtigen und einen Preis dafür festlegen.

      Der zweite Grund sind die zusätzliche Arbeitsbelastung und Formalitäten. Nicht nur die Projektdokumentation vor Projektbeginn ist unvergleichlich komplexer und ausführlicher, sondern auch der Vertrag und alle Projektdokumentationen und -verfahren während des Projekts. Jede Änderungsanfrage im ursprünglichen Plan erfordert ihren eigenen Prozess: Schätzung, Beschreibung und Formalisierung mit einem rechtlichen Dokument (z.B. Annex zum Vertrag, Änderungsantrag usw.). Alle zusätzlichen Aktivitäten, die von der Agentur durchgeführt werden, mögen „kostenlos“ erscheinen - sie könnten im Angebot oder Vertrag nicht aufgeführt sein, sie könnten einfach höflich nie erwähnt werden. Aber da sie alle Zeit in Anspruch nehmen, können Sie sicher sein, dass sie von der Agentur in den Endkosten berücksichtigt werden.

      Wann funktioniert Waterfall?

      In Softwareprojekten - in einigen Fällen ist dies ein Ansatz, der immer noch existiert.

      Besonders für große Unternehmen und Konzerne, die viel größere Budgets als Startup-Besitzer haben, ist dies ein Ansatz, der manchmal funktioniert. Diese Arten von Institutionen haben auch in der Regel interne Kapazitäten (eigene spezialisierte Teams), die über die Fähigkeiten, Ressourcen und Zeit verfügen, um umfangreiche technische Dokumentationen vorzubereiten, bevor das Projekt beginnt.

      Die beste Waterfall-Softwareprojektdokumentation, die ich je gesehen habe, umfasste etwa 300 Seiten und war nur für den Front-End-Teil der Anwendung. Sie war so detailliert, dass sie sogar Mockups aller Bildschirme der Anwendung mit gründlichen und präzisen Beschreibungen der kleinsten Details (einschließlich der Größe und Farben der Schaltflächen) enthielt.

      Das ist ganz anders als der Agile-Ansatz, bei dem Geschwindigkeit, Effizienz und Agilität im Vordergrund stehen. Aber für Organisationen mit der Zeit, den Ressourcen und Budgets für diesen Ansatz - kann das tatsächlich funktionieren.

      Aber um fair zu sein, sehen wir immer mehr, dass selbst die größten Unternehmen sich entscheiden, Agile in der Softwareentwicklung aufgrund all seiner Vorteile zu wählen. Ich hatte persönlich das Vergnügen, mit einem der Big 4 Unternehmen an einem großen Agile-Softwareentwicklungsprojekt zusammenzuarbeiten. Es ist keine Überraschung - Agile ist aus gutem Grund der bevorzugte Weg, moderne Software zu entwickeln.

      Warum also nicht einen Festpreis für ein Agile-Projekt festlegen?

      Ich habe persönlich Situationen erlebt, in denen ein Kunde von all den Vorteilen von Agile hörte, aber um die Unsicherheiten zu mindern, erwartete, dass es von der Agentur mit einem Festpreis versehen wird.

      So großartig es auch klingt, so widersprüchlich ist es tatsächlich.

      Kannst du dir vorstellen, dass eine Backpacking-Reiseagentur zustimmt, all deine Kosten zu übernehmen, während du die absolute Freiheit hast, deine Reise potenziell unbegrenzt zu ändern, zu modifizieren und zu verlängern? Es ist buchstäblich eine Blankoscheck-Situation.

      Wenn der Umfang sich ändern kann - kannst du keinen definierten Preis haben. Wenn du den Umfang und den Preis definieren willst - nimmst du die Flexibilität weg und erhöhst die Gesamtkosten.

      Mit anderen Worten, zu versuchen, die Nachteile des Agile-Ansatzes mit den Vorteilen des gegenteiligen Waterfall-Ansatzes zu ersetzen, wäre so, als würde man versuchen, den Lichtschalter gleichzeitig ein- und auszuschalten. Wenn wir die Quantenphysik aus der Diskussion herauslassen können, hoffe ich, dass du zustimmen kannst, dass es einfach nicht möglich ist.

      Wie man das Beste aus Agile herausholt?

      Genau wie bei der Erfahrung des Backpackings - beginnen Sie mit der Kenntnis Ihres Budgets, der geschätzten Zeit und der Kosten. Seien Sie bereit, Anpassungen vorzunehmen, und nutzen Sie diese Flexibilität zu Ihrem Vorteil. Ändern, anpassen, hinzufügen, entfernen, ersetzen. Reagieren Sie je nach den aktuellen Bedürfnissen und der Situation.

       

       

      Finden Sie eine Agentur, der Sie vertrauen können. Eine, die von Anfang an einen starken Fokus auf das Verständnis Ihrer Bedürfnisse und Ziele hat, sodass Sie das Gefühl haben, dass sie auf derselben Wellenlänge wie Sie arbeiten.

      Ich würde Ihnen auch raten, sicherzustellen, dass die Agentur, die Sie wählen, starke Agile Project Management Fähigkeiten hat. Sie benötigen jemanden im Projektteam, der Ihnen hilft, das Budget zu verfolgen und zu verwalten sowie den Fortschritt zu überwachen. Oder anders gesagt - jemanden zu haben, der dediziert ist, um die Risiken und Nachteile der Arbeit mit Agile zu minimieren, während alle Vorteile erhalten bleiben.

      Denn insgesamt ist Agile aus dem ursprünglichen Waterfall-Ansatz hervorgegangen, aufgrund des großen Problems, mit dem er konfrontiert war. Und genau deshalb werden die meisten Softwareprojekte heute mit Agile-Methoden durchgeführt. Agile ist einfach der kostengünstigste und effizienteste Weg, digitale Produkte zu erstellen.

      Schau dir auch an

      Tomasz Czarnik

      Chief Operating Officer

      Vielleicht ist das Anfang einer wunderbaren Freundschaft?

      Wir sind für neue Projekte verfügbar.

      Contact us