Skip to content

Agile Softwareentwicklung

Inhaltsverzeichnis

Das Ziel der agilen Softwareentwicklung (engl. agile software development, agile development) ist es, durch definierte Prozesse schnell und funktionale Software zu liefern.

Der Begriff “agile Softwareentwicklung” kann im ersten Moment verwirrend wirken, wenn angenommen wird, dass es nur einen Weg gibt, um Software zu entwickeln.

Woher kommt die Agile Softwareentwicklung?

In den frühen 1970er Jahren ist die adaptive Softwareentwicklung entstanden. Die ersten Methoden für die agile Softwareentwicklung wurden hingegen erst in den frühen 1990er Jahren veröffentlicht.

Bekanntheit erlangte sie jedoch vor allem im Jahr 1999, als Kent Beck das Buch “Extreme Programming Explained” veröffentlichte. Daraus sind auch viele weitere agile Prozessen und Methoden wie zum Beispiel Kanban, OKR oder Lean entstanden.

Als die agile Methodik zum ersten Mal populär wurde, war Extreme Programming (XP) der am häufigsten verwendete Ansatz. Seit 2006 wird Scrum jedoch viel häufiger eingesetzt.

Der Begriff “agile” wurde im Februar 2001 bei einem Treffen in Utah auf Antrag von Mike Beedle eingeführt, der ihn anstelle des bis dahin verwendeten Begriffs “lightweight” (vom englischen “leicht”) vorschlug.

Auch das “Agile Manifest” wurde auf dieser Versammlung erstellt.

Was sind die Prinzipien des agilen Manifests?

Das agile Manifest beschreibt, dass der Mensch sowie Interaktionen im Mittelpunkt stehen und folglich wichtiger sind als festgelegte Abläufe und Tools. Es scheint offensichtlich, dass wir Menschen einen höheren Stellenwert einräumen als Prozessen oder Tools. Schließlich sind es die Menschen, die auf die Geschäftsanforderungen reagieren und den Produktentwicklungsprozess vorantreiben. Im gegenteiligen Fall würden sich diese Menschen durch ein zu striktes Festhalten von Anforderungen und Abläufen in Prozessen verlieren, anstatt in der Lage zu sein, schnell auf sich verändernde Kundenbedürfnisse zu reagieren.

Der Schwerpunkt sollte auf der Bereitstellung eines Produkts oder einer Dienstleistung, die in der Praxis funktioniert, liegen, und nicht auf einer vollständigen Dokumentation von Abläufen und Prozessen. Bei der Entwicklung eines neuen Produkts oder einer neuen Funktion besteht immer ein unternehmerisches Risiko, das im Prozess immer mit einbezogen werden muss.

Die agile Methode will eine Dokumentation nicht völlig abschaffen, aber sie möchte sie so weit wie möglich minimieren. Sie sollte genügend Informationen liefern, damit die Mitarbeitenden ihre Aufgaben erledigen können, ohne sich in Details verlieren zu müssen.

Developer-Teams sollten der Zusammenarbeit mit Kund*Innen Vorrang vor Vertragsverhandlungen einräumen. Bei der traditionellen Produktentwicklung beginnt und endet der Zyklus mit vertraglichen Vereinbarungen. Bei agilen Projekten hingegen ist die Einbeziehung der Kund*Innen von Anfang bis Ende entscheidend.

Zudem ist Anpassungsfähigkeit von größerer Bedeutung als an einem strikten Plan festzuhalten, der möglicherweise nicht funktionieren wird. Wenn neue Produkte entwickelt werden oder sich die Anforderungen schnell ändern, ist es offensichtlich, dass es nicht die beste Option ist, einem festen Plan zu folgen. Stattdessen müssen agile Teams in der Lage sein, schnell und effizient zu reagieren, um die Bedürfnisse der Kund*Innen zufriedenstellend erfüllen zu können.

Bekannte Methoden der agilen Softwareentwicklung

Einige bekannte agile Frameworks sind

  • Scrum (ein Projektmanagement-Tool, das auf Sprints basiert)
  • Kanban (eine Arbeitsmanagement-Methode zur Visualisierung der Arbeitsschritte mit dem Fokus auf ein dezentrales und flexibles Aufgabenmanagement)
  • Extreme Programming (eine Methode, welche das Lösen von konkreten Entwicklungsaufgaben, statt eines formalisiertes Vorgehens, in den Fokus stellt)
  • Crystal oder auch Crystal Family (eine Ansammlung verschiedener Methoden und Ansätze, die miteinander vereint werden)

Bei der agilen Softwareentwicklung geht es nicht um konkrete Regeln, welche Prozesse unbedingt ausgeführt werden müssen. Es ist vielmehr eine Methode, um über Arbeitsabläufe nachzudenken und darüber, wie man am effizientesten und produktivsten mit Anderen zusammenarbeitet.

Diese Art des Denkens umfasst verschiedene Vorstellungen, die uns helfen zu bestimmen, was wir tun und wie wir es tun.

Kund*Innenzentrierter Ansatz

Agile Softwareentwicklung ist ein kund*innenorientierter Ansatz, der sich darauf konzentriert, so schnell wie möglich kleine, funktionierende Software zu liefern.

Diese Methoden beruhen auf ständiger Verbesserung und Teamarbeit. Die agile Softwareentwicklung hingegen findet in kleinen, sich selbst organisierenden Teams aus Entwickler*Innen und Unternehmensvertreter*Innen statt, die sich während des gesamten Softwarelebenszyklus in bestimmten Abständen persönlich treffen.

Die agile Softwareentwicklungsmethodik ist bestrebt, einen geringen Dokumentationsgrad beizubehalten und gleichzeitig in jeder Phase des Softwareentwicklungsprozesses offen für Änderungswünsche zu sein, anstatt diese Änderungen abzulehnen oder unnötig zu verlangsamen.

Quellen

Gabler Wirtschaftslexikon Definition Agile Softwareentwicklung
Was bedeutet agile Softwareentwicklung?
The New Methodology
Manifest für agile Softwareentwicklung

Beratung

Das Team von Connectly organisiert agile Teams für Ihre IT Projekte im Bereich Freelancing. Dazu gehören Web Developer, Architects und auch andere IT-Spezialisten, die Ihr IT-Projekt unterstützen. Gerne beraten wir Sie, welche IT-Expert*Innen am besten zu Ihrem IT-Projekt passen.

Weitere IT-Begriffe aus unserem IT-Lexikon

Das IT-Lexikon für IT-Begriffe

In unserem Lexikon finden Sie Definitionen, Beschreibungen und verständliche Erklärungen zu den relevantesten Fachbegriffen rund der IT-Branche.

Lassen Sie uns darüber sprechen!