Agile Softwareentwicklung
Die agile Softwareentwicklung zeichnet sich durch Flexibilität während des
Entwicklungsprozesses aus. Diese wird dadurch erreicht, dass nicht erst das fertige Produkt
an den Kunden geliefert wird, sondern bereits funktionierende Teile vom Kunden getestet
und genehmigt werden und folglich darauf weiter aufgebaut werden kann. Außerdem kann
die Bürokratie während der Entwicklung simpel gehalten werden, indem die
Entwicklerteams selbstorganisierend sind.
Der Begriff agile Softwareentwicklung beschreibt den Einsatz von Agilität in der Entwicklung
von Software-Lösungen. Je nach Anwendungsgebiet können damit einzelne Teilbereich oder
der gesamte Entwicklungsprozess gemeint sein. Ziel ist es aber immer, mit möglichst wenig
Aufwand, wenigen Regeln und einem iterativen Vorgehen auszukommen.
Grundlagen agiler Softwareentwicklung
Es existiert ein agiles Manifest, das insgesamt zwölf Prinzipien für die agile
Softwareentwicklung auflistet. Zu den grundlegenden Faktoren zählen dabei ständiger
Kontakt mit dem Kunden und ein hohes Maß an interner Kommunikation. Zudem werden
alle Projekte in Iteraions – ein- bis zweiwöchige Arbeitsphasen – unterteilt. Diese Phasen
sind durch festgelegte Aufgaben und abschließende Meetings gekennzeichnet.
Darüber hinaus basiert der Entwicklungsprozess auf einer klaren Projektdefinition, die auch
unter Zeitdruck nicht verändert wird. Lediglich wenn sich die Wünsche des Kunden ändern,
greift das Projektmanagement ein. Dabei werden allerdings nicht aktuelle Aufgabenpläne
abgeändert, sondern die jeweils nachfolgenden Iterations entsprechend gebrieft.
Vor- und Nachteile agiler Softwareentwicklung
Agile Prozesse benötigten weniger Zeit und Planungsspannen als die herkömmliche
Entwicklung von Software. Dadurch können Unternehmen letztlich Kosten einsparen. Zudem
reagiert die agile Softwareentwicklung schnell und flexibel auf Veränderungen, was sowohl
marktspezifische als auch allgemeine Anforderungen anbelangt.
Allerdings müssen auch für agile Projekte gewisse Budgets oder Deadlines festgelegt
werden, um einen groben Rahmen für die Arbeit vorzugeben. Darüber hinaus hängt der
Erfolgt agiler Softwareentwicklung maßgeblich von der Zusammenarbeit im Team ab. Nur
wenn dieses gut eingespielt ist, bringt die agile Entwicklung wirkliche Vorteile mit sich.
Grenzen von agiler Softwareentwicklung
Die agile Softwareentwicklung stößt vor allem dann an ihre Grenzen, wenn Management
und Entwickler unterschiedliche Vorstellungen über das Projekt haben. Wenn sich die
Entwickler beispielsweise zu Beginn auf die Qualität der Software fokussieren, können unter
Umständen die Vorstellungen der Geschäftsführung bezüglich der Geschwindigkeit nicht
mehr eingehalten werden.
Zudem ist Agilität nicht sinnvoll, wenn es sich um sehr kleine oder bereits vertraute
Projekte handelt. Dann sind die existierenden Arbeitsabläufe bereits hocheffizient,
Veränderungen würden hier keine Kosten- oder Zeitvorteile erbringen. Zudem sorgen vor
allem Veränderungen im Team dafür, dass Projekte zeitlich nicht mehr genau planbar sind.
Denn die individuelle Leistungsfähigkeit der Mitarbeiter wird bei der agilen
Softwareentwicklung vernachlässigt und durch abstrakte Punktzahlen ersetzt. Verlässt also
ein leistungsstarker Mitarbeiter ein Team, kann die agile Softwareentwicklung den Effekt auf
das Projekt kaum prognostizieren.
Agile Softwareentwicklung – Definition & Erklärung –
Zusammenfassung
• Ziel der agilen Softwareentwicklung ist es, mit möglichst wenig Aufwand und Regeln
für effiziente Lösungen zu sorgen
• Dies soll insbesondere durch ein hohes Maß an Kommunikation erfolgen
