Internetagentur Nürnberg – Webdesign, Webentwicklung, SEO, Programmierung, Symfony

Tel: 0911 131 3970 0 · E-Mail senden

 

Was ist agile Softwareentwicklung?

Was ist agile Softwareentwicklung?

Was im Jahr 2001 mit der Veröffentlichung des „Agile Manifesto“ begann, hat schnell an Bedeutung gewonnen: Die agile Softwareentwicklung vereinfacht Entwicklungsprojekte, ist unbürokratisch und spart somit Zeit und Geld. Im Fokus stehen die Belange des Users und die Funktionalität – alle anderen Aspekte haben sich unterzuordnen.

Als theoretische Grundlage dieser Methode gilt das Buch „Extreme Programmierung“, das der Informatiker Kent Beck im Jahr 1999 das veröffentlichte. Er war es dann auch, der zwei später gemeinsam mit seinen Teamkollegen das „Agile Manifesto“ herausbrachte. Hier sind alle relevanten Grundprinzipien beschrieben, die eine agile Softwareentwicklung ausmachen, nämlich mit geringem bürokratischen Aufwand oder Regularien zu arbeiten, sich schnell an Veränderungen anzupassen und dabei das Fehlerrisiko nicht zu erhöhen. Die Vorteile erschlossen sich schnell, bereits im Jahr 2005 ergab eine Befragung durch Forrester Research, dass rund 14 Prozent aller teilnehmenden Unternehmen auf agile Prozesse setzen – im Jahr 2013 waren es bereits 80 Prozent.

Die Prinzipien der agilen Softwareentwicklung

Das „Agile Manifesto“ auf den Punkt gebracht: Die Softwareentwicklung soll schnell zum gewünschten Ergebnis führen, wobei der Prozess laufende Veränderungen möglich machen muss, um dem Kunden einen echten Wettbewerbsvorteil zu erarbeiten. Dazu arbeiten Fachleute und Softwareentwickler in den verschiedenen Projektphasen eng und in einem motivierenden Umfeld zusammen – optimal ist die Face-to-Face-Kommunikation zwischen den Projektbeteiligten. Die verschiedenen Teams eines solchen Projektes sollten der eigenen Regie überlassen werden, aber auch den Fortschritt in ihrer Arbeit selbst reflektieren. Ziel ist eine durch ihre Einfachheit und Klarheit bestechende Software, die sich in Technik und Design als perfekt erweist.

Bei der Umsetzung empfehlen sich naturgemäß agile Prozesse, wie beispielsweise Scrum. Diese Form des Projektmanagements basiert auf drei Rollen: Der Product Owner formuliert die fachlichen Anforderungen und vergibt Prioritäten. Der ScrumMaster wiederum managt den Prozess und räumt eventuelle Hindernisse aus dem Weg und das Team setzt die Softwareentwicklung um. Als Alternative kommt die Methode Kanban in Frage. Hier wird die Anzahl der parallel auszuführenden Arbeiten limitiert, was die Duchlaufzeiten verkürzt, aber eben auch Probleme schneller zutage fördert.

Die Vor- und Nachteile dieser Prinzipien

Damit liegt einer der wichtigsten Vorteile bereits auf der Hand: Agile Softwareentwicklung benötigt weniger Zeit, um Ergebnisse hervorzubringen. Darüber hinaus können Anpassungen leichter durchgeführt werden – auch und insbesondere während des Entwicklungsprozesses. So können Sie schneller auf Veränderungen im Markt reagieren, aber eben auch neue Anforderungen aufgreifen, die das Produkt erfüllen muss. Sinnvoll ist es daher, mit einem Sprint Backlog, also einer Liste der anstehenden Aufgaben, die sich aus der Sprint-Planung ergeben, zu beginnen.

Daraus ergeben sich jedoch besondere Herausforderungen: Der Erfolg hängt maßgeblich von der konstruktiven Zusammenarbeit der verschiedenen Beteiligten ab und unterliegt selbstverständlich trotzdem den Zwängen von Budgets und Terminsetzungen. Auch wenn sich nicht alle Entwicklungsprojekte auf diese Weise realisieren lassen, empfehlen sich diese Prinzipien jedoch sowohl für das Agile Modeling, also bestimmte Teilbereiche der Softwareentwicklung, als auch für komplette Entwicklungsprozesse.

Was ist agile Softwareentwicklung?
4.5 (90%) 10 votes

Keine Kommentare

Kommentar verfassen

Kommentar
Name
Email
Website