Definition „Agile Software Development“

Agile Softwareentwicklung für mehr Leistung und Effizienz

| Autor / Redakteur: il1411 / Stephan Augsten

Agile Softwareentwicklung erfordert Teamarbeit und agile Methoden wie Scrum, um möglichst effizient zu sein.
Agile Softwareentwicklung erfordert Teamarbeit und agile Methoden wie Scrum, um möglichst effizient zu sein. (© bakhtiarzein - Fotolia.com)

Agile Softwareentwicklung soll dafür sorgen, dass Entwicklungsprojekte einfach, unbürokratisch und iterativ ablaufen. Agile Methoden und Prozesse wie Scrum können somit Zeit und Kosten sparen.

Hintergrund der agilen Softwareentwicklung

Den Begriff „Agile Softwareentwicklung“ gibt es erst seit Anfang der 2000er Jahre, jedoch sind erste Aspekte dieser Methode schon in den frühen Neunzigern zu verzeichnen. Das vom Informatiker Kent Beck im Jahr 1999 veröffentlichte Buch „Extreme Programmierung“ bildete schließlich die theoretische Grundlage für die Beschreibung agiler Prozesse.

Kent Beck und sein Forschungsteam waren es auch, die 2001 das sogenannte „Agile Manifesto“ veröffentlichten, in dem die Grundprinzipien der agilen Softwareentwicklung festgehalten sind. Ein Blick in dieses Manifest zeigt, dass die dort beschriebene Art der Softwareentwicklung sich vom damals üblichen Standard deutlich unterschied: Der User und die Funktionalität der Software standen nun im Mittelpunkt des Entwicklungsprozesses. Verträge und Pläne wurden der Veränderung und der Kooperation untergeordnet.

Die agile Softwareentwicklung gewann schon kurz nach Veröffentlichung des Manifests an Bedeutung. 2005 nutzen einer Umfrage von Forrester Research zufolge 14 Prozent der Unternehmen agile Prozesse. 2013 wurde die agile Softwareentwicklung bereits von 80 Prozent der Unternehmen eingesetzt.

Die Bestandteile der agilen Softwareentwicklung

Das Agile Manifesto enthält insgesamt zwölf Prinzipien, die es bei der Programmierung und Softwareentwicklung zu beachten gilt. Die Kunden sollen zum einen durch die schnelle Entwicklung einer funktionierenden Software zufrieden gestellt werden. Zum anderen sollen sie durch kontinuierliche Veränderungen während des Entwicklungsprozesses einen Wettbewerbsvorteil erhalten.

Ein weiteres Prinzip lautet, dass Fachleute und Entwickler während der einzelnen Projektphasen intensiv zusammenarbeiten sollten. Außerdem soll für die am Softwareprojekt Beteiligten ein motivierendes Arbeitsumfeld geschaffen werden. Die Kommunikation unter den Projektbeteiligten soll möglichst Face-to-Face erfolgen.

Weitere Prinzipien besagen, dass bei der agilen Softwareentwicklung der Fokus auf der Entwicklung einer perfekten Technik und eines perfekten Designs liegen soll, jedoch stets das Prinzip der Einfachheit zu beachten ist. Außerdem sollen die einzelnen an einem agilen Entwicklungsprojekt beteiligten Teams selbstgesteuert arbeiten und ihren Fortschritt selbst reflektieren.

Ergänzendes zum Thema
 
Die 12 Prinzipien agiler Softwareentwicklung im Überblick

Um diese Prinzipien umzusetzen, setzt man bei einem Softwareprojekt verschiedene agile Prozesse ein. Zu den beliebtesten agilen Prozessen zählt Scrum. Bei Scrum handelt es sich um eine Form des Projektmanagements, die auf Projektmanager verzichtet. Auch die Projektmanagement-Methoden Kanban wird häufig eingesetzt. Mit Hilfe des Kanban-Prinzips lässt sich das Aufgabenmanagement agiler gestalten.

Vor- und Nachteile der agilen Softwareentwicklung

Agile Entwicklungsprojekte zeichnen sich dadurch aus, dass weniger Zeit benötigt wird, bis Ergebnisse vorliegen. Außerdem lässt sich agile Software leicht anpassen, insbesondere dann, wenn sich während des Entwicklungsprozesses Veränderungen ergeben. Hierbei kann es sich sowohl um marktspezifische Veränderungen handeln als auch um allgemeine Anforderungen, die die Software erfüllen muss.

Um die gesteckten Ziele zu erreichen, kann es sich als hilfreich erweisen, eine Liste mit allen durchzuführenden Aufgaben zu erstellen. Eine solche Liste wird als Sprint Backlog bezeichnet. Das Sprint Backlog ist wiederum Bestandteil des in der agilen Softwareentwicklung verwendeten Projektmanagements und das Ergebnis der Sprint-Planung.

Obwohl die agile Softwareentwicklung zahlreiche Vorteile besitzt, unterliegt auch die agile Programmierung und Entwicklung allgemeinen Vorgaben wie Deadlines oder Budgets. Außerdem hängt auch bei dieser Form der Softwareentwicklung der Erfolg des Projekts maßgeblich von der Zusammenarbeit des Teams ab. Somit kann die agile Softwareentwicklung nicht als Pauschallösung für erfolgreiche Entwicklungsprojekte angesehen werden.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Willkommen bei Dev-Insider

Agile Entwicklung, DevOps und Projektmanagement im Fokus

Willkommen bei Dev-Insider

Dev-Insider liefert zu allen Themenbereichen der Software-Entwicklung und zu Trends wie DevOps künftig Fachbeiträge, News, Whitepaper, eBooks und weitere Inhalte. Offizieller Launch-Termin ist Mittwoch, der 1. Februar 2017. lesen

Teamarbeit in der agilen Entwicklung

Die DevOps-Philosophie leben

Teamarbeit in der agilen Entwicklung

Mit DevOps lassen sich Prozesse der Softwareentwicklung effizienter gestalten. Update-Zyklen, die Geschwindigkeit der Entwicklung und die Software-Qualität sollen sich mithilfe des philosophischen Ansatzes verbessern. Die Implementation ist jedoch gegebenenfalls aufwändig. lesen

Bedeutung von DevOps für die Softwareentwicklung

Definition „DevOps-Philosophie“

Bedeutung von DevOps für die Softwareentwicklung

Eigentlich sind die Softwareentwicklung und der IT-Betrieb grundverschiedene Bereiche. Der DevOps-Ansatz folgend sollen diese Bereiche nun zusammenrücken. Das Ergebnis: Eine beschleunigte Entwicklung und ein qualitativ hochwertiges Produkt. lesen

So sieht zukunftsfähige Embedded-Softwareentwicklung aus

Entwicklungstrends

So sieht zukunftsfähige Embedded-Softwareentwicklung aus

Mit den Experten von MicroConsult sprachen wir über die Bedeutung von Softwarearchitekturen und Frameworks. Dabei wurde das Thema Softwareengineering aus verschiedenen Blickwinkeln beleuchtet. lesen

DevOps: Gemeinsam stark!

Mit Agile Operations und Continuous Delivery zur modernen IT

DevOps: Gemeinsam stark!

Schon seit den ersten Tagen der Informationstechnologie schwelt ein Konflikt zwischen Software-Entwicklern und IT-Verantwortlichen. DevOps birgt das Potenzial, ihn zu lösen. lesen

DevOps und wie sich die Arbeit von Admins verändert hat

12 Fragen an Spiceworks-Gründer Francis Sullivan

DevOps und wie sich die Arbeit von Admins verändert hat

DevOps ist der Hype der Stunde, nicht zuletzt wenn Sie ein Programmierer sind. Wie wirkt sich der Prozessverbesserungsansatz auf die Entwicklung und die Entwickler aus? Welche Erfolge und Erleichterungen stellen sich ein? Gibt es neue Probleme? Wie am besten anfangen, wie ein Projekt erfolgreich durchziehen? Und: Schaffen sich die Admins am Ende gar selbst ab? lesen

Taugt agile Software-Entwicklung für KMU?

Einstellungspraxis in agilen Zeiten

Taugt agile Software-Entwicklung für KMU?

Mittelständische Software-Häuser nutzen vermehrt die Vorteile agiler Software-Entwicklung. Outsourcing kann dabei eine Option sein, wird in KMUs aber selten verwirklicht. Umdenken ist angesagt. Doch was soll eigentlich anders laufen? lesen

IT-Betrieb wie am Schnürchen mit DevOps

Neue Zuständigkeiten definieren

IT-Betrieb wie am Schnürchen mit DevOps

Im IT-Betrieb dominiert heute das Schichtenmodell. Unter Verwendung adäquater Management-Lösungen und Verfahren wie DevOps lässt sich reibungsloser, störungsfreier Betrieb aber besser sicherstellen. lesen

Programmierbare Infrastruktur mit HPE Synergy

Ressourcen auf ein Kommando

Programmierbare Infrastruktur mit HPE Synergy

IT-Abteilungen würden Systeme gern in Sekundenschnelle bereitstellen, skalieren und wieder abbauen, wie dies in der Public Cloud üblich ist. Zugleich müssen sie aber gewachsene Bestandsumgebungen betreiben. Mit einer programmierbaren Infrastruktur lassen sich beide Anforderungen erfüllen. lesen

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44432002 / Definitionen)