Agile Entwicklung: Was bringt sie Unternehmen und deren Kunden?

Software

Von Dr. Matthias Laux, Head of Software Development, Wolters Kluwer Tax & Accounting Deutschland.

„Agilität“ in der Softwareentwicklung ist in aller Munde. „Agil“ hört sich gut und richtig an, dynamisch, frisch, modern. „Wir müssen agil sein“ ist schnell gesagt und als Leitmotiv ausgegeben. Wenn es aber an die Praxis geht, kommen die ersten Fragezeichen auf.

Normalerweise reicht es für eine Annäherung aus, wenn man Agilität als Fähigkeit beschreibt, auf sich verändernde Rahmenbedingungen und Anforderungen reagieren zu können – und diese Reaktion in der notwendigen Geschwindigkeit und mit der nötigen Struktur erfolgt.

Der Beitrag erklärt, welche Vorteile Kunden und Unternehmen durch die agile Entwicklung erlangen, was sie in der Praxis bedeutet und welche Voraussetzungen es für erfolgreiche agile Entwicklung gibt.

Vorteile agiler Entwicklung aus Kunden- und Partnersicht

In der Softwareentwicklung ist es notwendig, eine Vision für ein Produkt und zugleich einen Plan zu haben, wie man sich dieser Vision nähert. Oberstes Anliegen ist es, dem Kunden in einer sich rasch ändernden Welt die für ihn beste Lösung zu bieten und ihn dabei zu unterstützen, erfolgreich zu sein. Deshalb fließen in einen solchen Plan viele Faktoren ein: Die eigene Strategie und die eigenen Ziele genauso wie Möglichkeiten, Chancen und Risiken des Marktes und die Erwartungshaltung des Kunden.

Früher, also vor dem „agilen Zeitalter“, gingen Unternehmen anders vor. Oft sah das so aus: Verantwortliche erstellten einen Plan, schrieben ihn auf und brachten nach zwei Jahren ein Produkt oder eine neue Produktvision an den Markt. Das Problem: Allzu oft hatte sich der Markt weiterbewegt, die Anforderungen, Prioritäten und Erwartungshaltungen waren inzwischen andere.

Bestandskunden und Anwender möchten heute nicht mehr so lange warten, bis eine angekündigte Neuentwicklung bei ihnen ankommt. Stattdessen wollen sie früher sehen, in welche Richtung es geht.

Hier greift ein wesentliches Prinzip der agilen Entwicklung: Die inkrementelle Entwicklung, also das regelmäßige Ausliefern kleinerer Teile funktionierender Software, die dann im Dialog mit dem Markt reflektiert und bei Bedarf angepasst werden können. Damit erhält das Unternehmen bei Fertigstellung ein Produkt, welches am Markt tatsächlich Akzeptanz findet und erfolgreich ist.

Für den Kunden wiederum ist das bereits deutlich ausgereifte Produkt ein großer Mehrwert, und einen weiteren Aspekt schätzen Kunden erfahrungsgemäß ebenso: Die Möglichkeit, selbst mitzugestalten und Einfluss zu nehmen, denn das Geschäft und den Bedarf der Kunden kennen am besten – die Kunden selbst.

Es gibt aus Kundensicht noch einen zusätzlichen Vorteil der agilen Entwicklung, den sie teilweise nicht direkt mit ihr verbinden: Gerade Agilität erlaubt die Einhaltung von Lieferterminen – ohne einen von Anfang an feststehenden, detaillierten und fixierten Plan mit Meilensteinen. Es ist sogar wahrscheinlicher, dass dem Kunden zu einem Liefertermin ein wertiges Lieferergebnis bereitgestellt wird, solange auf dem Weg zu diesem Termin ein aktives Management der Veränderungen stattfindet. Und das ist automatisch der Fall, denn die Planung der nächsten Entwicklungsiterationen und die Umsetzung finden inkrementell statt. Durch die Transparenz, die permanente Analyse und die Neubewertung der Situation können beispielsweise Änderungen am Scope mit den Kunden frühzeitig geklärt werden und die Steuerung auf einen Termin hin erreicht werden.

Vorteile agiler Entwicklung aus Sicht der Entwicklung

Für die Entwicklungsorganisation bedeutet eine agile Vorgehensweise, dass sie alle Aspekte der Softwareproduktion so aufeinander abstimmt, dass sie mit sich verändernden Anforderungen rasch und strukturiert umgehen kann. Gleichzeitig muss sie sicherstellen, dass sie bei Bedarf ein Produktinkrement qualitätsgesichert ausliefert.

Dabei ist eine gemeinsame Arbeitsliste mit Anforderungen, das Backlog, zentrales Arbeitsinstrument. Beim Backlog ist es wichtig, dass alle Beteiligten volle Transparenz über Anforderungen und deren Details sowie die Zusammenhänge und die Prioritäten haben.

Außerdem reflektiert eine gemeinsame Arbeitstaktung der beteiligten Teams und Prozesse die Anforderungen nach häufiger Auslieferung von Produktinkrementen – in der agilen Entwicklung nach Scrum beispielsweise arbeitet man mit Sprints, also Iterationen von typischerweise zwei bis vier Wochen Dauer. Dadurch, dass alle Anforderungen in einem gemeinsamen Backlog sichtbar sind, ist es jederzeit transparent, auf welchen Kundennutzen welche Entwicklungsaufgabe einzahlt.

An dieser Stelle fehlt noch ein Baustein zum Erfolg der agilen Methode: Der Fokus auf die beteiligten Mitarbeitenden, denn ohne die Begeisterung der Teams scheitert der beste Prozess. Deswegen ist es so wichtig, die Methodik und alle Aspekte des Prozesses umfassend und immer wieder zu erklären und Fragen, Bedenken sowie auftretende Probleme auszuräumen.

Zu guter Letzt ist auf Entwicklungsseite ein „agiles Mindset“ vonnöten, also eine Denkweise auf Basis der agilen Werte und Prinzipien: Die Reaktion auf Veränderungen ist wichtiger als das Befolgen eines Planes, funktionierende Software ist wichtiger als umfangreiche Dokumentation, permanente Interaktion mit dem Kunden und der Fokus auf Menschen sind wichtiger als Tools und Prozesse – alles eingebettet in die Grundidee einer inkrementellen Entwicklung mit häufigen Auslieferungen.

Die agile Methode bietet zudem viele Möglichkeiten für die Übernahme von Eigenverantwortung und persönlicher Entfaltung (das berühmte „Empowerment“). Das liegt an dem gemeinsamen Verständnis von Rollen und Verantwortlichkeiten, was es ermöglicht, sehr viel Entscheidungshoheit an Product Owner oder in die Teams zu verlagern. Dort sitzt die Expertise, um die beste Entscheidung, beispielweise für eine technische Umsetzung, zu treffen.

Agile Entwicklung: Ein Win-win-Szenario

Agile Softwareentwicklung bietet – richtig angewendet – sowohl für Softwarehersteller als auch deren Kunden große Vorteile. Kunden profitieren von der Methode, weil sie bessere Produkte für ihre Anforderungen erhalten. Den Mitarbeitenden beim Hersteller wiederum bietet die agile Entwicklung einerseits die Chance persönlicher Entfaltung und persönlichen Wachstums. Andererseits ergeben sich durch Transparenz sowie Verantwortungsübernahme viel mehr direkte Beteiligung an der Realisierung der Unternehmensstrategie, an der Weiterentwicklung des Portfolios und damit am Unternehmenserfolg.

Autor
Erfahren Sie mehr 
Erfahren Sie mehr