Sie beschließen eine Software entwickeln zu lassen, schreiben die Anforderungen dafür zusammen, schicken diese an einen Programmierer und erwarten nach vier Monaten eine fertige Software. Das kann funktionieren. Oftmals treten bei dieser Vorgehensweise allerdings Probleme auf: Die Software erfüllt bestenfalls die beschriebenen Anforderungen, doch der Endanwender nutzt sie schlichtweg nicht, weil sie ihm zu unübersichtlich ist. Agile Programmierung ist ein Gegenentwurf zu dieser klassischen Vorgehensweise, auch Wasserfall genannt.
Table of Contents
ToggleWas ist agile Programmierung?
Unter agiler Programmierung sind Methoden zusammengefasst, bei denen der Nutzer während oder sogar vor Beginn des Entwicklungsprozesses miteinbezogen wird. Die Software wird durch ständiges Feedback verbessert, bis sie den Wünschen des Kunden / Nutzers entspricht. Ziel ist es, die beste Lösung für beide Seiten zu finden. Durch agile Programmierung kann sich die Entwicklungszeit verkürzen, da lästige Review-Schleifen nach Release vermieden werden. Auch die Kosten können bei agilen Programmieransätzen geringer ausfallen. Durch den permanenten Austausch zwischen Auftraggeber und Programmierer werden zudem Risiken wie Fehlfunktionen oder unübersichtliche Benutzeroberflächen minimiert.
Was sind agile Methoden?
Methoden der agilen Programmierung sind beispielsweise Scrum und Kanban.
Scrum ist ein interaktiver und inkrementeller Prozess für das Organisieren von Projektteams von drei bis neun Personen. Dabei wird ein langfristiger Plan (Product Backlog) erstellt, der das Ziel des Projekts beinhaltet. Er ist eine Liste der Anforderungen an das fertige Produkt. Dann gibt es einen Detailplan (Sprint Backlog) für eine Iteration (Sprint). Die Sprints werden kontinuierlich angepasst und wiederholt bis das Product Backlog erfüllt ist. Weitere Details zu Scrum gibt es auch bei scrum-kompakt.de
Kanban wurde ursprünglich bei einem Autobauer verwendet, um die Produktionskette schneller zu gestalten. Dabei hat jeder Mitarbeiter einen Stapel Karten. Wenn er mit einem Produktionsschritt fertig und frei für weitere Arbeit ist, gibt er die Karte an den vorgelagerten Mitarbeiter. So entsteht kein Produktstau in einem Fertigungsschritt. Der Name Kanban ist das japanische Wort für Karte. Eine detaillierte Darstellung der Methode in Bildern zeigt lean-production-expert.de.
Wer nutzt agile Programmierung?
Die Funktion von Unternehmen wie Google und Yahoo basiert grundsätzlich auf agiler Programmierung. Doch auch immer mehr deutsche Unternehmen setzen auf agile Softwareentwicklung beispielsweise Siemens, Deutsche Telekom, 1&1, Audi oder Springer. Scrum-Erfinder Ken Schwaber zufolge nutzen mehr Unternehmen agile Programmierung als den klassischen Ansatz.
Das Manifest und die Prinzipien agiler Softwareentwicklung finden Sie hier: http://agilemanifesto.org/iso/de/manifesto.html
Mehr über agile Methoden wie Scrum oder Mobil-D: http://www.computerwoche.de/a/agile-methoden-im-vergleich,2352712
Lesen Sie außerdem, warum agiles Projektmanagement so erfolgreich ist und warum Sie auf agile Entwicklung setzen sollten.