Adaptive S / W-Entwicklung - Einführung
Was ist agil?
Literarisch bedeutet das Wort „agil“ jemanden, der sich schnell und einfach bewegen kann, oder jemanden, der schnell und klar denken und handeln kann. In der Wirtschaft wird „agil“ verwendet, um Planungs- und Arbeitsweisen zu beschreiben, wobei es selbstverständlich ist, dass das Vornehmen von Änderungen nach Bedarf ein wichtiger Teil der Arbeit ist. Geschäftsagilität bedeutet, dass ein Unternehmen immer in der Lage ist, die Marktveränderungen zu berücksichtigen.
In der Softwareentwicklung bedeutet der Begriff „agil“ „die Fähigkeit, auf Änderungen zu reagieren - Änderungen aufgrund von Anforderungen, Technologie und Mitarbeitern“.
Agiles Manifest
Das Agile Manifest wurde 2001 von einem Team von Softwareentwicklern veröffentlicht. Es unterstreicht die Bedeutung des Entwicklungsteams, berücksichtigt sich ändernde Anforderungen und die Einbeziehung der Kunden.
Das Agile Manifest ist -
Wir entdecken bessere Möglichkeiten zur Entwicklung von Software, indem wir dies tun und anderen dabei helfen. Durch diese Arbeit sind wir zu Wert gekommen -
- Individuen und Interaktionen über Prozesse und Werkzeuge.
- Arbeitssoftware über umfassende Dokumentation.
- Kundenzusammenarbeit über Vertragsverhandlungen.
- Antworten auf Umstellung nach einem Plan.
Das heißt, während die Elemente auf der rechten Seite einen Wert haben, schätzen wir die Elemente auf der linken Seite mehr.
Eigenschaften der Beweglichkeit
Im Folgenden sind die Merkmale der Beweglichkeit aufgeführt:
Agilität in der agilen Softwareentwicklung konzentriert sich auf die Kultur des gesamten Teams mit multidisziplinären, funktionsübergreifenden Teams, die befähigt und selbstorganisierend sind.
Es fördert die gemeinsame Verantwortung und Rechenschaftspflicht.
Ermöglicht effektive Kommunikation und kontinuierliche Zusammenarbeit.
Der Ansatz des gesamten Teams vermeidet Verzögerungen und Wartezeiten.
Häufige und kontinuierliche Lieferungen sorgen für ein schnelles Feedback, das es dem Team wiederum ermöglicht, sich an den Anforderungen auszurichten.
Durch die Zusammenarbeit können verschiedene Perspektiven zeitnah bei der Implementierung kombiniert, Fehler behoben und Änderungen berücksichtigt werden.
Der Fortschritt ist konstant, nachhaltig und vorhersehbar und betont die Transparenz.
Agile Methoden
Zu den frühen Implementierungen agiler Methoden gehören Rational Unified Process, Scrum, Crystal Clear, Extreme Programming, Adaptive Softwareentwicklung, Feature Driven Development und Dynamic Systems Development Method (DSDM). Diese werden nach der Veröffentlichung des Agile-Manifests im Jahr 2001 nun gemeinsam als Agile-Methoden bezeichnet.
In diesem Tutorial lernen wir die agile Methodik - Adaptive Software Development.
Was ist adaptive Softwareentwicklung?
Adaptive Softwareentwicklung ist ein Schritt in Richtung adaptiver Praktiken, wobei die deterministischen Praktiken im Kontext komplexer Systeme und komplexer Umgebungen belassen werden. Die adaptive Softwareentwicklung konzentriert sich auf Zusammenarbeit und Lernen als Technik zum Aufbau komplexer Systeme. Es basiert auf den Best Practices von Rapid Application Development (RAD) und Evolutionary Life Cycles. Die adaptive Softwareentwicklung wurde dann um adaptive Ansätze für das Management erweitert, wobei Spekulationen die Planung ersetzten.
Jim Highsmith veröffentlichte im Jahr 2000 ein Buch über adaptive Softwareentwicklung. In Highsmiths Worten -
„Adaptive Softwareentwicklung ist wie das Evolutionsmodell zyklisch, wobei die Phasennamen Spekulieren, zusammenarbeiten, lernen den unvorhersehbaren Bereich immer komplexer werdender Systeme widerspiegeln. Die adaptive Entwicklung geht in zweierlei Hinsicht über ihr evolutionäres Erbe hinaus. Erstens ersetzt es explizit den Determinismus durch die Entstehung. Zweitens geht es über eine Änderung des Lebenszyklus hinaus zu einer tieferen Änderung des Führungsstils. “