Das Agile Software Entwicklung Es handelt sich um eine bestimmte Art der Softwareentwicklung, die sich dadurch auszeichnet, dass sie möglichst bürokratisch, einfach und iterativ ausgeführt wird. Die Vorteile dieses Ansatzes sind a erhebliche Zeit- und Kosteneinsparungen im Vergleich zu herkömmlichen Programmiermethoden.
Hintergrund
Agile Softwareentwicklung als Begriff gibt es erst seit Anfang der 2000er Jahre. Die ersten vergleichbaren Aspekte dieser Methode gab es Anfang der 1990er Jahre. Mit seinem 1999 erschienenen Buch "Extreme Programming" schuf der Informatiker Kent Beck eine Art theoretische Grundlage für zukünftige agile Prozesse. Im Jahr 2001 wurde das "Agile Manifesto" von einer von Kent Beck geleiteten Gruppe formuliert, die die Prinzipien der agilen Softwareentwicklung enthält:
«Wir entdecken bessere Entwicklungsmöglichkeiten
Software, es zu tun und anderen zu helfen, es zu tun.
Durch diese Arbeit sind wir zu Wert gekommen:
Individuen und Interaktionen zu Prozessen und Werkzeugen
Arbeitssoftware zur vollständigen Dokumentation
Zusammenarbeit der Kunden bei Vertragsverhandlungen
Auf Änderungen reagieren, anstatt einem Plan zu folgen
Das heißt, obwohl es Wert in den Positionen von gibt
rechts schätzen wir die Beiträge links mehr ».[1]
Ein Blick auf dieses Manifest zeigt, dass diese Dynamik der Softwareentwicklung unterscheidet sich radikal vom Standard. Der Fokus der agilen Softwareentwicklung liegt auf der Funktionalität und dem Benutzer. Pläne und Verträge sind nicht so wichtig wie Kooperation und Veränderung.
Die Nachfrage nach agiler Softwareentwicklung begann kurz nach der Veröffentlichung des Manifests zu steigen. Im Jahr 2005 gaben 14% der von Forrester Research befragten europäischen und nordamerikanischen Unternehmen an, bereits mit agilen Methoden zu arbeiten. 8 Jahre später ergab eine neue VersionOne-Studie, dass mehr als 80% der Unternehmen eine vertrauenswürdige agile Softwareentwicklung befragten.
Komponenten (bearbeiten)
Das agile Manifest besteht aus 12 Prinzipien, denen Methoden vorausgehen:
1. Zufriedene Kunden durch frühzeitige und kontinuierliche Lieferung wertvoller Software.
2. Agile Prozesse und schnelle Veränderungen, auch in späteren Entwicklungsstadien, nutzen Veränderungen zum Wettbewerbsvorteil des Kunden.
3. Stellen Sie Job-Software viele Male und in kurzer Zeit bereit.
4. Unternehmer und Entwickler arbeiten während des gesamten Projekts eng zusammen.
5. Schaffen Sie ein motivierendes Umfeld für eine erfolgreiche Arbeit.
6. So viel persönlicher Kontakt wie möglich.
7. Job-Software ist das Hauptmaß für den Fortschritt.
8. Nachhaltige Entwicklung durch agile Prozesse.
9. Kontinuierliche Aufmerksamkeit für technische Exzellenz und gutes Design.
10. Einfachheit ist wichtig.
11. Teams organisieren sich selbst.
12. In regelmäßigen Abständen überlegt das Team, wie es effektiver sein kann, und passt es entsprechend an. [2]
Um den Grundsätzen zu entsprechen, werden häufig agile Methoden eingesetzt, die wiederum das Ziel haben so wenig administrativen und bürokratischen Aufwand wie möglich verursachenDies könnte sich negativ auf die Produktivität auswirken. Typische agile Methoden sind zum Beispiel
- Testgetriebene Entwicklung.
- Story-Karten als Teil der Story des Benutzers.
- Paar-Programmierung.
Agile Prozesse beschleunigen die Softwareentwicklung. Die beliebtesten Methoden sind:
- Kristall.
- Extremes Programmieren.
- Gedränge.
Vorteile und Nachteile
Die agile Softwareentwicklung bietet viele Vorteile. Agile Prozesse rerfordern weniger Zeit und Planung bis die Ergebnisse erzielt werden können und somit Kosten gespart werden können. Gleichzeitig kann die agile Software bei Änderungen schnell angepasst werden. Diese Änderungen können spezifische Marktänderungen oder allgemeine Anforderungen an die Software sein. Eine detaillierte Liste aller Aufgaben, die ausgeführt werden müssen (Sprint-Verzögerung), kann Ihnen helfen, Ihre Ziele zu erreichen. Trotz der Vorteile muss ein agiles Entwicklerteam immer noch die Budgets oder Fristen einhalten, die den Arbeitsumfang bestimmen. Gleichzeitig hängt der Erfolg der Projekte nicht nur von der Methode ab, sondern auch von der Teamarbeit. Daher agile Softwareentwicklung kann eine sinnvolle Alternative zu herkömmlichen Softwareentwicklungsmethoden sein. Unabhängig davon kann eine agile Softwareentwicklung natürlich keinen Softwareerfolg garantieren.
Web-Links