Wie agile Softwareentwicklung auch in Ihrem Unternehmen gelingt

Kaum ein Unternehmen kommt heute ohne ein digitales Produkt- und Serviceangebot aus. Wir erklären, wie durch agiles Requirements Engineering im Rahmen einer agilen Konzeptionsphase der Einstieg in Ihr nächstes Digitalisierungs- und Softwareentwicklungsprojekt gelingt.

ÜBERBLICK

„Jedes Unternehmen wird in der Zukunft ein Softwareunternehmen sein.“(Andreessen, 2011) Über alle Branchen hinweg ist die Erkenntnis gereift, dass IT-Systeme, digitale Anwendungen und passgenaue Softwarelösungen im B2B den Unterschied machen. Nur wenige Unternehmen kommen heute ohne ein digitales Produkt- und Serviceangebot aus. Auch Industrieunternehmen im Maschinen- und Anlagenbau machen sich darüber Gedanken, wie sie durch digitale Services Mehrwerte für ihre Kunden schaffen können, um deren Loyalität zu gewinnen. Der Start für eine solche Initiative umfasst das Entwickeln einer klaren Vision und das Sammeln der wichtigsten Anforderungen. Wie das am besten gelingt, lesen Sie hier.

Warum agile Projekte Requirements Engineering brauchen

In der klassischen Softwareentwicklung hat es sich etabliert, die  zuvor erarbeiteten Anforderungen in einem detaillierten Lastenheft festzuhalten. Das passiert entweder intern im Unternehmen oder durch die Beauftragung eines Dienstleisters. Diese Vorgehensweise ist im Maschinen- und Anlagenbau besonders tief verankert, obwohl sie deutliche Nachteile aufweist: Die Erstellung eines Lasten- und Pflichtenheftes nimmt viel Zeit in Anspruch, kostet Geld und ist letztlich ein zu starres Konzept, um nachträglich Änderungswünsche einfließen zu lassen. Da zur Spezifizierung einer Lösung verschiedene Stakeholder involviert werden, zieht sich dieser Prozess oftmals über Monate in die Länge. Dabei geben die meisten Unternehmen an, dass gerade fehlende Zeit die größte Hürde darstellt, wenn es um die digitale Transformation geht.

Umfrage unter Unternehmen zu Hindernissen bei der Digitalisierung 2022 (Quelle: Bitkom 2022).

Erfahrung mit agiler Softwareentwicklung ist bis heute in vielen Branchen und Funktionen noch wenig verbreitet und das externe Recruiting von Fachkräften ist ebenfalls eine Herausforderung. Nicht selten entsteht die Annahme, dass bei der Anwendung agiler Methoden eine Spezifikation der Anforderungen vor dem Projektstart nicht notwendig sei. Letztere werden dann eben „just in time“ erhoben und in den User Stories dokumentiert. Das zieht häufig mehrfache Anpassungen der Anforderungen im laufenden Projekt nach sich, da sich die grundsätzliche strategische Ausrichtung durch eine fehlende Abstimmung der beteiligten Stakeholder fortlaufend ändert. Agile Softwareentwicklung ermöglicht es zwar, auf Hindernisse und neue Anforderungen während des Entwicklungsprozesses flexibel zu reagieren. Gleichwohl sind stabile Geschäftsanforderungen ein Erfolgsfaktor für erfolgreiche Softwareprojekte. In der Formulierung klarer Anforderungen liegt eine essenzielle  Aufgabe des Requirements Engineerings. Diese lassen sich jedoch nur formulieren, wenn alle Stakeholder eine Vision teilen und sich auf gemeinsame Ziele verständigen. Um unseren Kunden den Einstieg in das Requirements Engineering zu erleichtern, haben wir hierfür eine durch agile Methoden unterstützte Herangehensweise entwickelt.

Agile Softwareentwicklung – Ein Überblick über unsere Methode

Viele unserer Kunden sind nicht ausreichend genug vertraut mit der agilen Softwareentwicklung, um uns fertige User Stories zur Umsetzung in den Sprints liefern zu können. Deshalb haben wir für uns die Aufgabe erkannt, sie Schritt für Schritt in diesem Prozess zu begleiten und ihnen die agilen Prinzipien näherzubringen.

Die Vorteile agiler Entwicklung einfach erklärt

Agile Softwareentwicklung funktioniert – zumindest zu Beginn – ohne einen detailliert dokumentierten Anforderungskatalog. Essenziell wichtig ist jedoch die Erarbeitung einer klaren Strategie. Vor dem Projektstart muss allen Beteiligten klar sein, was in der Entwicklung erreicht werden soll – Zielsetzung und Rahmengebung müssen selbstverständlich auch in agilen Projekten definiert werden. Aus diesen Überlegungen heraus ist unsere agile Konzeptionsphase entstanden. Es handelt sich hierbei um eine kompakte Workshopreihe, die in Anlehnung an den Google Design Sprint in wenigen Tagen bearbeitet werden kann (Knapp & Zeratsky, 2022). So schaffen wir es, eine hohe Projektgeschwindigkeit und kurze Time-to-market (Markteinführung) zu gewährleisten. In enger Zusammenarbeit mit dem Kunden können die größten „Pain Points” der Zielgruppe, eine darauf basierende Produktvision und ein erster Prototyp erarbeitet werden. Den Abschluss der Konzeptionsphase bildet die gemeinsame Validierung der entwickelten Ideen.

Überblick über eine mögliche Workshopreihe und Projekt-Roadmap.

Schritt 1: Die Produktvision als Startschuss jedes Projekts

Die Produktvision erfasst das gemeinsame Verständnis des Ziels, welches mit dem Bau des Produkts erreicht werden soll. Das Product Vision Board kann bei der Entwicklung einer Produktvision helfen, indem es wichtige Fragestellungen bezüglich der Zielgruppe, deren Pain Points und Bedürfnissen, möglicher Lösungsansätze sowie der Unternehmensziele aufwirft. Gerade in komplexen Projekten müssen Anforderungen verschiedener Stakeholder berücksichtigt werden. Eine Produktvision hilft dabei, ein hohes Maß an Konsens über die grundsätzliche Ausrichtung zu erreichen, bevor man tiefer in die Ausarbeitung funktionaler Anforderungen einsteigt.

Das Product Vision Board.

Schritt 2: Definition funktionaler Anforderungen und des Minimum Viable Products

Mit dem in der agilen Softwareentwicklung beliebten Werkzeug einer User Story Map werden Anforderungen in eine übersichtliche Struktur gebracht. Dadurch erhalten Stakeholder und Fachbereiche einen gemeinsamen Ankerpunkt für den Klärungsprozess. Nach der Erarbeitung der funktionalen Anforderungen sollte unbedingt eine Priorisierung der Anforderungen durchgeführt werden. Ziel ist es, mit einem minimal wertschöpfenden Produkt (MVP) schnell an den Markt zu gehen, um wertvolles Feedback zur Optimierung des Produktes zu erhalten.

Beispiel einer User Story Map.

Schritt 3: Gestaltung des Nutzererlebnisses durch User Experience Design

User Experience (UX) Design ist von zentraler Bedeutung für Unternehmen, insbesondere für deren Marke. Dabei wird angestrebt, über alle Touchpoints ein konstant positives Nutzererlebnis zu schaffen. UX umfasst nicht nur digitale Lösungen, sondern auch die Außenkommunikation und das Endprodukt selbst. Eine grundlegende User-Experience-Analyse und Designphase sollte unbedingt vor Entwicklungsstart durchgeführt werden, damit ein Gesamtkonzept entworfen werden kann. Dieses wird dann später im laufenden Projekt final ausgearbeitet . Besonders wichtig ist hierbei, klare User Journeys zu erarbeiten und diese in Form von Wireframes zu visualisieren. Je nach Projekt kann die Detailtiefe der Ausarbeitung variieren – von ersten Wireframes und Screen-Entwürfen bis hin zu klickbaren UX-Prototypen.

Verschiedene Möglichkeiten des Prototyping.

Schritt 4: Integration der Lösung in die IT-Systemlandschaft

Neue IT-Systeme werden selten als Stand-Alone-Systeme betrieben, das heißt, Schnittstellen zur bestehenden Systemlandschaft sollten frühestmöglich mitbedacht werden. Hierzu führen wir eine Betrachtung des Status quo der bestehenden Systemlandschaft durch, um auf dieser Basis ein Zielbild zu erarbeiten, das die Integration der neuen Lösung berücksichtigt. Je nach Komplexität der Systemlandschaft und ihrer Schnittstellen kann hierzu ein einzelner Workshop ausreichend sein oder ein komplett eigenständiges Projekt benötigt werden.

Schritt 5: Validierung der Problemlösung und Nutzererfahrung

Ohne Validierung der entwickelten Ideen kann keine agile Konzeptionsphase enden. Gemessen an den festgelegten Anforderungen prüft sie die Eignung einer Lösung. Wir stellen uns also abschließend die Frage: Löst das Produkt wirklich das Problem der Nutzer? Um sie so früh wie möglich beantworten zu können, testen wir die Lösung bereits in der Spezifikationsphase an potenziellen Anwendern. Hierzu kommen wieder die in Schritt drei angefertigten Wireframes und interaktiven Prototypen zum Einsatz. Anhand dieser lassen sich die eigenen Ideen besonders schnell hypothesenbasiert testen. Die Rückmeldungen arbeiten wir fortlaufend in die Lösung ein und testen weiter. So erhalten wir am Ende ein abgestimmtes und überprüftes Produkt, das für den Einsatzzweck optimiert ist – ohne eine Zeile Code geschrieben zu haben.

Konzeption zu Ende, wie geht es jetzt weiter?

Im Anschluss an die agile Konzeptionsphase können weitere Detail-Workshops stattfinden, um jene Themen zu adressieren, die bewusst ausgelagert wurden, um die hohe Geschwindigkeit der Konzeptionsphase nicht zu bremsen. Die Ergebnisse werden in Form eines Spezifikationsdokuments, eines UX-Prototypen und eines zusätzlichen User Experience-Konzepts dokumentiert. Außerdem werden die User Stories als Backlog in ein Projektmanagement-Tool, wie z. B. JIRA, übertragen. Bis zu diesem Zeitpunkt wurde nur das spezifiziert, was einen zusätzlichen Informationsgehalt für den Kunden bringt. Nach den agilen Prinzipien enthalten User Stories keine Details zur Umsetzung. Diese werden dann im Projekt, beispielsweise in der Sprintplanung, wieder aufgegriffen, besprochen und verfeinert.

cropped-holger-reimsbach.png

HOLGER REIMSBACH
consultant digital business

Quellen

Marc Andreessen (2011): Why Software Is Eating the World

Jake Knapp & John Zeratsky (2022): The Sprint Book.

Bitkom/Statista (2022): Was sind die größten Hürden für die Digitalisierung in Unternehmen? https://de.statista.com/statistik/daten/studie/1284685/umfrage/umfrage-unter-unternehmen-zu-hindernissen-bei-der-digitalisierung/ 

Das könnte Sie auch interessieren