In den klassischen Softwareentwicklungsprojekten verhält es so, dass der Kunde der vor Beginn des Softwareprojekts in einem Pflichtenheft oder Lastenheft genau festlegen muss, welchen Anforderungen die Software zu entsprechen hat. Jedoch kristallisiert sich in den meisten Fällen erst im Laufe des Entwicklungsprozesses heraus, welche Funktionen im Einzelnen tatsächlich erforderlich sind.
Um diese neuen, unvorhergesehenen Funktionen in das Softwaresystem einzubauen, bedarft es oft kosten- und zeitintensive Nachverhandlungen, die weder dem Kunden noch dem Softwareentwickler gefallen. Genau hier kann die agile Softwareentwicklung Abhilfe schaffen.
Agile Softwareentwicklung bedeutet für den Kunden Flexibilität
Eine agile Softwareentwicklung bedeutet für den Kunden in erster Linie Flexibilität. Bei diesen agilen Methoden der Softwareentwicklung sind keine starren Pflichtenhefte erforderlich. Zu Beginn des Projekts gibt der Kunde nur ein paar wenige erforderliche Basisfunktionen vor und das Projekt kann sofort ohne Verzögerung starten. Neue oder geänderte Anforderungen lassen sich während des Projektverlaufs jederzeit definieren und integrieren. Das hat beispielsweise den Vorteil, dass die aus dem laufenden Projekt gewonnenen Erfahrungen in den Entwicklungsprozess einfließen können und die Softwareentwickler nur das entwickeln müssen, was dem Kunden tatsächlich von Nutzen ist.
Weil eine effiziente und einfache Kommunikation genauso zum Erfolg eines Entwicklungsprojekt beiträgt wie die angewandten Techniken, ist bei der agilen Softwareentwicklung grundsätzlich so, dass die Entwickler beim Kunden vor Ort arbeiten und so in ständigem Kontakt zu ihm stehen – die schriftliche Kommunikation, bei der leider oft Missverständnisse aufkommen, fällt also flach.
Zeitersparnis bedeutet auch Wettbewerbsvorteil
Diese kurzen Kommunikationswege zwischen Softwareentwickler und Kunde sparen natürlich auch deutlich Zeit ein und das System ist somit insgesamt früher fertig, was einen deutlichen Wettbewerbsvorteil bedeutet; Stichwort „Time-To-Market“. Außerdem lassen sich in der Entwicklungsphase stets die Elemente des Systems zuerst fertigstellen, die den höchsten Geschäftswert erzielen und dem Kunden somit natürlich auch am wichtigsten sind. Bevor das Gesamtprojekt abgeschlossen ist, lassen diese Teile der neuen Software bereist produktiv einsetzten.