Warum agile Softwareentwicklung auf allen Seiten Disziplin und Engagement erfordert und wie Sie von Fujitsu als Partner profitieren.
Die Anforderungen an Softwareprodukte wandeln sich immer schneller. Kurze Releasezyklen, Scopes, die sich verändern, noch bevor das Projekt überhaupt startet und immer individuellere Kundenanforderungen setzen Unternehmen unter Druck. Hinzu kommt, dass Softwareentwicklung zunehmend auch in Branchen und Bereichen relevant wird, die zuvor wenige Berührungspunkte mit Software und deren Entwicklung hatten. Das fordert nicht nur zusätzliche Ressourcen, sondern auch tiefgreifendes Spezialwissen. Unter diesen Bedingungen Schritt zu halten oder sich – im besten Falle – weiterzuentwickeln, ist eine enorme Herausforderung. Dafür benötigen Sie einen starken Partner und die richtige Methode.
Frühe und kontinuierliche Einbindung als Schlüssel zum Erfolg
Wenn es um geänderte Schnittstellendefinitionen, wechselnde Partnersysteme oder geänderte Hostingverträge und -Infrastrukturen geht, stößt traditionelle Softwareentwicklung zunehmend an ihre Grenzen. In klassischen Projektplanungsansätzen bedeutet eine solche Veränderung der Rahmenbedingungen meist einen kompletten Neuansatz des Projektgrundsteins. Es muss wieder ganz von vorne begonnen werden: beim Lastenheft – inklusive des damit verbundenen Zeit- und Ressourcenaufwands. Ein Dilemma, weiß auch Christian Ziegner, Head of Connected Services – Delivery Automotive bei Fujitsu: „Die Anforderungen an Software wandeln sich heute so schnell, dass sie sich bereits während der Erstellung eines Lastenhefts wieder komplett verändern können.“ Mit klassischen Methoden kommt man in solchen Fällen nicht weiter. Benötigt wird ein agiler Ansatz, der sich von starrer Planung löst und mehr Flexibilität erlaubt – ohne dadurch unbeherrschbar zu sein.
Durch die frühe und vor allem kontinuierliche Einbindung der Auftraggeber*innen sind Scope Adaptions bei der agilen Softwareentwicklung in das Standard-Projektmanagement inkludiert und können zeitnah, mit direktem Feedback zwischen Stakeholder*innen und Entwicklerteam ausgetauscht und, wenn nötig, verfeinert werden. Das vermeidet unnötigen Ressourceneinsatz. Zudem profitieren agile Softwareprojekte von einer deutlich verbesserten Zielerreichung und Qualität. Kein unbedeutender Aspekt. Schließlich ist nichts schlimmer, als nach einem zeit- und kostenintensiven Projekt sagen und hören zu müssen: „So war das nicht gemeint, da müssen wir noch einmal ran.“
Gewollte Veränderung braucht engen Austausch
Agile Softwareentwicklung zielt darauf ab, die Transparenz und Veränderungsgeschwindigkeit innerhalb des Softwareentwicklungsprozesses zu steigern. Ziel ist es, schnell Inkremente des zu entwickelnden Produktes zu generieren. Gleichzeitig sollen Risiken und Fehlentwicklungen auf ein Mindestmaß reduziert werden. Erreicht wird dies durch eine neue Art der Projektarbeit, die flexibler, kreativer und produktiver ist als klassische Entwicklungsmethoden wie dem Wasserfallmodell, das einem starren, linearen und sehr bürokratischen Prozess folgt.
Im Kern geht es bei Methoden der agilen Softwareentwicklung wie Scrum darum, die Entwurfsphase eines Projektes in kleinere, fokussiertere Blöcke zu unterteilen und Teile funktionsfähiger Software möglichst schnell bereitzustellen – und im engen Austausch mit den Auftraggeber*innen stetig weiterzuentwickeln. Die Entwicklung selbst findet dabei in inkrementellen, iterativen Schritten – sogenannten Sprints – in kleinen, selbst organisierenden Teams aus Entwickler*innen und Unternehmensvertreter*innen statt, die sich über den gesamten Softwareentwicklungszyklus hinweg eng austauschen. Das Eingehen auf Veränderung steht dabei über der Befolgung eines zuvor festgelegten Plans.
Die Einsatzmöglichkeiten sind vielfältig. „Viele unsere Kund*innen nutzen agile Methoden derzeit im Bereich Frontendentwicklung„, sagt Christian Ziegner. „Ein solches Vorgehen bietet sich aber auch bei komplett neuen Themen und Proof of Concepts an.“
Schritt für Schritt zum optimalen Softwareprodukt
Mit agilen Methoden sind Unternehmen wesentlich näher am Entwicklungsprozess als bei klassischen Vorgehensweisen – egal ob es sich um ein internes oder ein externes Entwicklerteam handelt. Das erleichtert die Steuerung der Entwicklung und die zeitige Anpassung an sich ändernde Gegebenheiten. „Mit agiler Softwareentwicklung planen Unternehmen nicht länger ins Leere“, erklärt Christian Ziegner. „Bereits früh im Entwicklungsprozess entsteht funktionsfähige Software, die in den folgenden Sprints weiterentwickelt wird.“ Durch den engen Austausch und die forcierte, kontinuierliche Anpassung sind Softwareprodukte, die agil entwickelt wurden, erfahrungsgemäß zudem weitaus näher an den gestellten Anforderungen. Das Risiko an der Idee oder den Anforderungen vorbei zu entwickeln, wird minimiert und das gewünschte Ergebnis ohne Umweg erreicht. Das ist auf lange Sicht kostengünstiger und bietet auch Unternehmen eine Perspektive, die sonst vor einem Investment ‚ins Blaue‘ zurückscheuen würden.
Klingt verlockend. Damit ein agiles Softwareprojekt erfolgreich ist, müssen aber auch einige Bedingungen erfüllt werden.
Agil heißt nicht chaotisch
Eine Vorstellung, von der sich viele Unternehmen lösen müssen, ist, dass agile Projekte „chaotisch“ wie von selbst ablaufen und damit wenig bis keinen Planungsaufwand bedeuten. Das Gegenteil ist der Fall. Agile Softwareentwicklung lebt von festen Prozessvorgaben, die es für ein erfolgreiches Projekt akribisch einzuhalten gilt. „Die Überraschung ist oft groß, wenn klar wird, dass agile Softwareentwicklung in vielen Bereichen mehr Planungsaufwand bedeutet als klassische Vorgehensmodelle. Was sich für Stakeholder*innen aber ändert, ist der Zeithorizont der Planung. Statt um Monate oder Jahre geht es nun um Zeitabschnitte von zwei bis drei Wochen„, sagt Christian Ziegner.
Die engen Prozessvorgaben und die damit verbundenen Anforderungen bedeuten vor allem auf Auftraggeberseite eine Umstellung. Statt ein Ziel vorzugeben und auf das fertige Ergebnis zu warten, sind sie nun intensiv in den gesamten Entwicklungsprozess involviert. Das verlangt den Auftraggeber*innen einiges ab. Denn agile Methoden sind anders als lineare Vorgehensweisen von engem Austausch und Kommunikation geprägt. Eine besondere Rolle kommt dabei dem sogenannten Product Owner zu. Er vertritt die Interessen der Auftraggeber*innen und legt fest, was getan werden muss. Dazu steht er während des gesamten Prozesses in engem Kontakt mit dem Entwicklerteam und überwacht dessen Fortschritte.
„Ein erfolgreiches Scrum-Team braucht einen starken Product Owner, der weiß, was er will und sein Produkt kennt. Nimmt er das Vorhaben nicht ernst oder hat nicht genug Zeit dafür, ist das Projekt zum Scheitern verurteilt. Das ist so, als hätte man nur ein halbes Lastenheft erstellt“, warnt Christian Ziegner. Wer diese Rolle einnimmt, sollte gut überlegt sein. „Hier muss auch die Gesamtorganisation mitspielen und den Mitarbeiter oder die Mitarbeiterin freispielen. Einfach so nebenher lässt sich ein solcher Prozess nicht bewältigen.“
Entwicklung ist keine Einbahnstraße
Der Schlüssel zum Erfolg agiler Softwareentwicklung ist die enge, vertrauensvolle Zusammenarbeit zwischen Auftraggeber*in und Auftragnehmer*in sowie eine intensive Kommunikation und Abstimmung über das gesamte Projekt hinweg. Das bedeutet aber nicht nur, dass sich die Auftraggeber*innen intensiv mit ihrem Entwicklerteam beschäftigen müssen.
Die enge Kooperation verändert auch die Anforderungen, die an die Auftragnehmer*innen gestellt werden. Gefragt ist mehr als nur reine Entwicklungsleistung, entscheidend für den Erfolg ist ein tiefgehendes Verständnis für die Auftraggeber*innen und ihr Geschäft. „Benötigt wird ein Partner, der in der Lage ist, den Use Case zu verstehen und sich in die Kundensituation hineindenken kann“, erklärt Christian Ziegner. Eine branchenspezifische Beratung ist dabei ebenso wichtig wie Serviceangebote, die über die reine Softwareentwicklung hinausgehen, etwa im Bereich User Design. Ein Partner wie Fujitsu.
Agile Softwareentwicklung mit Fujitsu
Im Bereich Softwareentwicklung unterstützen wir unsere Kund*innen als erfahrener und zuverlässiger Partner. Dabei deckt unser Portfolio eine Vielzahl von Dienstleistungen und Services ab – von der reinen Auftragsentwicklung über die „verlängerte Werkbank“ bis hin zur vollständigen Projektumsetzung im Rahmen unseres bewährten Co-creation-Ansatzes. Wie und in welcher Form wir Ihr Softwareprojekt umsetzen, erarbeiten wir dabei gemeinsam. Als globaler Anbieter mit weltweit acht Global Delivery Centern (GDC) mit einer Vielzahl hochqualifizierter Mitarbeiter*innen und agilen Teams unterstützen wir Sie auch bei der Skalierung Ihrer Softwareprojekte – Nearshore oder Offshore. Auf Wunsch mit deutschsprachigen Ansprechpartner*innen.
Neben unserer Erfahrung im Bereich Softwareentwicklung profitieren Sie auch von unserer breiten Branchenexpertise. So erhalten Sie nicht nur hervorragende Software, sondern auch immer ein Produkt, das optimal auf Ihr Business und Ihren Use Case abgestimmt ist. Über den Entwicklungsprozess hinaus bieten wir von Fujitsu Ihnen vielfältige Beratungsangebote, wenn es etwa um das Ressourcenmanagement in einem agilen Umfeld oder Fragen der User Experience geht. Auch Ihre hauseigenen Entwicklerteams und Ihre zukünftigen Product Owner machen wir mit geeigneten Workshops und Beratungsangeboten fit für die agile Softwareentwicklung.
Weitere Informationen
Sie haben weitere Fragen zum Thema agile Softwareentwicklung? Mehr über unsere Angebote und unsere Expertise finden Sie auf unserer Webseite. (Link leider nicht mehr verfügbar)