Die Anforderung der Kunden noch effizienter erfüllen
Die agile Softwareentwicklung ermöglicht es den Softwarespezialisten, die vom Auftraggeber gewünschten Softwarelösungen effizienter als bisher zu entwickeln.Der Anteil der Projekte, bei denen die Prinzipien der agilen Softwareentwicklung zum Ansatz kommen, wächst seit einigen Jahren. Die Kunden profitieren ebenfalls von dieser Methode.
Was ist agile Softwareentwicklung?
Bei konventionellen Softwareprojekten sind starre Konzepte und Planungen einzuhalten, die von den Beteiligten in der Regel als bürokratisch empfunden werden und unnötige Kosten verursachen. Um die Arbeit im Bereich der Softwareentwicklung flexibler und effizienter zu gestalten, wird seit Anfang der 1990er Jahre ein neuer Ansatz bei der Entwicklung von Software verfolgt. 2001 einigten sich die Vordenker auf den Begriff ‚agil‘, weil sich schnell abzeichnete, dass man mit dieser Methode bei der Lösung der komplexen Aufgaben beweglicher (agiler) ist. In einem Manifest sind die wichtigsten Werte und Prinzipien der agilen Softwareentwicklung festgehalten.
Die agile Softwareentwicklung nutzt ein iteratives Verfahren. Die komplexen Aufgaben bei der Entwicklung von Software werden in Arbeits-Einheiten unterteilt, die von kleineren Teams eigenverantwortlich bearbeitet werden. Nach jedem Zeitabschnitt wird der Entwicklungsstand gemeinsam bewertet. Zu den grundlegenden Prinzipien gehört ebenfalls die intensive Kommunikation zwischen den Teams und dem Kunden. So werden Missverständnisse und Fehlentwicklungen vermieden.
Auftragserteilung ohne detailliertes Lasten- und Pflichtenheft
Bei konventionellen Softwareprojekten spielen das Pflichtenheft und das Lastenheft eine zentrale Rolle. Im Lastenheft muss der Auftraggeber seine Anforderungen genau formulieren. Bevor es an die eigentliche Arbeit – die Entwicklung der dringend benötigten Software geht, sind die Auftragnehmer lange damit beschäftigt, in dem Pflichtenheft detailliert zu dokumentieren, wie sie den Auftrag abarbeiten werden. Akzeptiert der Kunde das Pflichtenheft, kann die Software entwickelt werden.
Firmen, die sich für die agile Softwareentwicklung entscheiden, verzichten darauf, diese Dokumente bis in das letzte Detail auszuformulieren. Stattdessen steigen sie sofort in einen intensiven Kommunikationsprozess ein. Die Erfahrung zeigt, dass es vielen Kunden zunächst schwerfällt, die Anforderungen an eine Software exakt zu formulieren. Deutlich zielführender ist es in der Regel, wenn die Softwarespezialisten sich das Problem des Kunden erklären lassen und anschließend Vorschläge für Softwarelösungen anbieten.
Auf diese Weise lassen sich zum Beispiel frühzeitig Basisfunktionalitäten der Software exakt definieren und die Entwickler können sofort mit der Arbeit beginnen. Ergeben sich im Arbeitsprozess neue Erkenntnisse oder ändern sich die Anforderungen des Kunden, wird die Vorgehensweise dementsprechend angepasst. Dieses iterative Vorgehen und der ständige Kontakt mit dem Kunden bewähren sich in der Praxis bestens, weil wirklich nur die Lösungen entwickelt werden, die der Kunde braucht. Auf diese Zeit wird wertvolle Zeit gespart und die Kosten werden minimiert. Die Kunden sind zu jedem Zeitpunkt über den Stand der Arbeit informiert und können Teillösungen (beispielsweise eine Basisversion) nutzen, bevor das Projekt zum Abschluss gebracht wird.
Schnell, transparent, flexibel – agile Softwareentwicklung verschafft Kunden Wettbewerbsvorteile
In der Praxis zeigt sich, dass die agile Softwareentwicklung den Interessen der Kunden sehr entgegenkommt. Der Auftraggeber bekommt eine Software, die in jeder Hinsicht an seine individuellen Anforderungen angepasst ist. Da er mit der Software bereits vertraut ist, kann er sie sofort nutzen und identifiziert sich stark mit der gemeinsam erarbeiteten Lösung. In der Regel kann er die Software deutlich schneller einsetzen, als das bei konventionellen Methoden der Softwareentwicklung der Fall ist.
Trotzdem sind manche Kunden zunächst skeptisch, weil die Kosten bei der agilen Softwareentwicklung im Vorfeld nicht exakt kalkuliert werden können. So verständlich der Wunsch der Auftraggeber nach einem verbindlichen Preisangebot auch ist, die Vorteile der agilen Softwareentwicklung sind so überzeugend, dass diese Unsicherheit sich letztendlich als marginal erweist. Das Risiko des Kunden ist begrenzt: Da das Projekt Schritt für Schritt bearbeitet wird, hat er die Kosten stets unter Kontrolle und kann den der Leistungsumfang und damit die Kosten weitgehend selbst bestimmen.