Die Agile Softwareentwicklung steht als Oberbegriff für alle Softwareentwicklungen, die flexibel bleiben wollen. Nicht umsonst wurde der Begriff Agil in Anlehnung an die Agilität, die Beweglichkeit, gewählt. Die Agile Softwareentwicklung beschäftigt sich mit einer Softwareentwicklung, die mit wenigen Regeln und wenig bürokratischem Aufwand zurecht kommt. Als bekanntes Beispiel gilt hierbei das Extreme Programming.

Die Zielsetzung bei dieser Form der Softwareentwicklung besteht darin, den gesamten Prozess der Softwareentwicklung schlanker und effizienter zu gestalten. Flexibilität ist hierbei das Zauberwort. Der Prozess der Softwareentwicklung soll sich jederzeit den persönlichen Anforderungen anpassen lassen, auch wenn plötzliche Änderungen der Anforderungen zum Tragen kommen. Die Agile Softwareentwicklung steht dabei im krassen Gegensatz zur ursprünglichen Softwareentwicklung, die auch bekannt ist als Rational Unified Process oder dem V-Modell.

Die Geschichte der Agilen Softwareentwicklung

Die ersten Ansätze zur Entwicklung dieser Form der Softwareentwicklung sind bereits zu Beginn der 1990er Jahre zu finden. Damals waren sie allerdings noch nicht sehr bekannt und wurden nur von wenigen Menschen verfolgt. 1999 gelangte die Agile Softwareentwicklung dann jedoch zu mehr Bekanntheit. Kent Beck und andere Autoren brachten zu jenem Zeitpunkt ein wichtiges Werk zum Extreme Programming heraus.

Bereits zwei Jahre später wurde offiziell der Name Agile Softwareentwicklung eingeführt, der den bis dato verwendeten Namen leichtgewichtige Softwareentwicklung ersetzte. Zu jenem Zeitpunkt wurden ebenfalls einige Grundregeln in der Agilen Softwareentwicklung festgelegt.

Auch eine Studie aus dem Jahre 2005 zeigt die wachsende Bedeutung dieser Form der Softwareentwicklung. Dabei hieß es nämlich, dass bereits 14 Prozent aller Unternehmen in Nordamerika und Europa die Agile Softwareentwicklung für neue Projekte einsetzten und weitere 19 Prozent darüber nachdachten.

Werte der Agilen Softwareentwicklung

Bereits 2001 wurden auch die Agilen Werte festgelegt, die die Grundlage für die Agile Softwareentwicklung darstellen. Hierzu zählen mehrere Aussagen. Sie besagen unter anderem, dass der Anwender und dessen Tätigkeiten mehr wert sind, als die Prozesse und Programme. Einfacher verständlich bedeutet dies, dass die konkrete Umsetzung von Zielvorgaben und Abläufen einzelner Programme sehr wichtig sind, von größerer Bedeutung sind jedoch die Anwender, deren Qualifikation und eine gute Kommunikation untereinander.

Der zweite Grundsatz lautet, dass die Programme, die gut funktionieren, von größerer Bedeutung sind, als umfangreiche Dokumentationen. So versteht man darunter, dass eine ausführliche Dokumentation wichtig für den weiteren Ausbau der Software ist, doch das eigentliche Ziel ist es, funktionierende Programme zu entwickeln.

Als dritter Grundsatz heißt es in der Agilen Softwareentwicklung, dass Verträge nicht so wichtig sind, wie die laufende Zusammenarbeit und Kommunikation mit den Kunden. Auch wenn der Vertrag die Grundlage für die Zusammenarbeit bietet, ist es wichtiger, mit dem Kunden im Gespräch zu bleiben, um auf veränderte Wünsche und Vorstellungen reagieren zu können.

Der vierte und letzte Grundsatz besagt dagegen, dass der Mut und die Offenheit für Neues an oberster Stelle stehen, und zwar vor dem geradlinigen Befolgen eines vordefinierten Plans. Das bedeutet, dass man sich auf die Veränderungen, die während der Agilen Softwareentwicklung entstehen, schnell einlassen können muss, um langfristig diese veränderten Anforderungen erfüllen zu können.

Das Prinzip der Agilen Softwareentwicklung

Auch wurden mittlerweile einige Prinzipien in der Agilen Softwareentwicklung festgelegt. Hierzu zählt beispielsweise die Aussage, dass vorhandene Ressourcen nach Möglichkeit mehrfach genutzt werden sollen. Des Weiteren steht die Agile Softwareentwicklung für eine einfache, zweckmäßige und kundennahe Umsetzung der gesetzten Ziele.

Die Methode der Agilen Softwareentwicklung

Die Agilen Methoden in der Agilen Softwareentwicklung besagen im Grunde nichts anderes, als dass man, wenn man nach Plan arbeitet, das geplante Ziel erreicht, aber nicht das, was man wirklich benötigt. Verschiedene Agile Methoden kommen hierbei zum Einsatz, wie die Story-Card, die Paarprogrammierung, die schnellen Codereviews oder die testgetriebene Entwicklung, um nur einige zu nennen.

Der Prozess der Agilen Softwareentwicklung

Der Agile Prozess dient vor allem einer Sache: Der bürokratische Aufwand soll so gering wie möglich gehalten werden. Das heißt, die Entwurfsphasen werden so kurz wie möglich gehalten, es wird das Ziel verfolgt möglichst früh zu ersten Ergebnissen zu kommen, die regelmäßig dem Kunden vorgelegt werden. Das wiederum soll insgesamt für eine erhöhte Kundenzufriedenheit sorgen, da auf Änderungswünsche sofort und frühzeitig eingegangen werden kann.