Sind Methodik und Prioritäten eines Entwicklungsprozesses nicht richtig geklärt, treten meist Probleme auf und bis zum Go-Live dauert es länger als geplant. Dienstleister und Kunde sollten sich deshalb regelmäßig abstimmen. Was auf dem Weg zum Projektabschluss zu beachten ist, damit alle Prozesse reibungslos laufen, beschreiben wir in diesem Blogbeitrag.
Teamsetup vor Beginn aufstellen
Die meisten Unternehmen haben eine klare Vorstellung von den Zielen ihrer E-Commerce-Strategie. Doch die Wege dorthin sind meistens vielfältig und dies macht sich bereits bei der Erstellung eines Onlineshops bemerkbar. Deshalb braucht es von Anfang an klare Absprachen zwischen Unternehmen und Softwareagentur, damit keine falschen Erwartungen entstehen und Unstimmigkeiten während der Projektentwicklung vermieden werden.
Das beginnt schon damit, dass beide Seiten in Übereinstimmung das Teamsetup festlegen sollten: Wer muss während der Entwicklungsphase dabei sein? In welchen zeitlichen Abständen finden die gemeinsamen Absprachen statt? Welche Kommunikationswege sollen dafür genutzt werden? Auch die Frage, wie Partner von dritter Seite effizient eingebunden werden können, ist wichtig – etwa Dienstleister, die sich um die Designoberfläche des Webshops kümmern sollen.
Drehbuch und Methodik zur Orientierung
Damit die gesteckten Ziele eines Projekts möglichst passgenau erreicht werden, sollten Kunde und Softwaredienstleister rechtzeitig eine Art Drehbuch schreiben. In diesem Storyboard können sie den Ablauf bis zum Go-Live definieren: Was muss bis dahin auf jeden Fall fertig sein, was kann noch nachjustiert werden und welche Personen sind wofür zuständig? Dabei spielt die Wahl der Arbeitsmethode eine entscheidende Rolle. Wird rein nach dem agilen Manifest entwickelt, gibt es weniger Planung vor dem Projektstart. Umso wichtiger ist es, dass der Kunde die einzelnen Sprints priorisiert und klar vermittelt, worauf es ihm letztlich ankommt. Welche Zwischenziele in den jeweiligen Sprintphasen möchte er erreichen?
In einigen Fällen ist eine Kombination der agilen Methodik mit dem Wasserfall-Konzept hilfreich: Letzteres ermöglicht es, schon im Vorhinein mehr Arbeitsschritte festzulegen, damit beide Seiten wissen, was sie wann erwartet. Gerade für Unternehmen, die gerne vor Beginn des Entwicklungsprozesses einen Kostenvoranschlag haben möchten, sind Festlegungen auf bestimmte Meilensteine von vorneherein unabdingbar. Andernfalls wird die exaktere Kalkulation des Gesamtprozesses schwierig. Allerdings muss sich das Entwicklerteam darauf einlassen können und wollen, nicht mehr komplett agil zu arbeiten.
Qualitätsmanagement reduziert Testaufwand
Ob einzelne Entwicklungsphasen tatsächlich zum gewünschten Ergebnis geführt haben, muss fortlaufend getestet werden. Durch ein modernes Qualitätsmanagement (QM), über dessen Ausgestaltung sich beide Seiten verständigen, kann sich dieser Testaufwand jedoch verringern. Es hilft, grundsätzlich festzulegen, welche Funktionen wann und wie lange getestet werden sollen, damit die Testing-Phasen strukturiert ablaufen.
Zu einem effektiven QM gehört ein ausgeklügeltes Ticketsystem, um einzelne Arbeitsschritte übersichtlich nachzuvollziehen. In diesem System kann jedes Anliegen in einem eigenen Ticket geplant und der Fortschritt kommuniziert werden. Zudem hat der Unternehmenskunde die Möglichkeit, diese Tickets nach seinen Wünschen zu priorisieren. Dadurch entsteht für das Entwicklerteam direkt ein Arbeitsplan. Je genauer einzelne Tickets definiert sind und je fokussierter sie abgearbeitet werden, umso weniger Fehler passieren in der Regel und die Testing-Phasen laufen flüssiger durch –im Optimalfall gehen sie automatisiert vonstatten.
Testings und Refinements gemeinsam abstimmen
Bei den Testings ist zu unterscheiden zwischen entwicklungstechnisch erforderlichen Tests einerseits und kundenbezogenen Tests andererseits. Entsprechend können Einstufungen zielgerichteter erfolgen. Auf der Entwicklungsseite sollen funktionale Tests klären, ob Anforderungen an bestimmte Systemeinheiten erfüllt sind und nichtfunktionale Tests den reibungslosen Ablauf von Funktionen prüfen. Bei den kundenbezogenen Tests geht es dagegen um Aspekte der User-Experience und der Usability: Ist die Benutzeroberfläche intuitiv bedienbar? Ist das Design des Frontends an allen Stellen stimmig?
Wenn Entwicklungsteam und Unternehmenskunden in der Zeitplanung darauf achten, dass die jeweils andere Seite ihre Bedürfnisse beim Testing hat, kommt der Gesamtprozess reibungsloser voran. Dazu tragen überdies regelmäßige gemeinsame Refinements bei, in denen Prozesse geordnet, weiterentwickelt und neu eingeschätzt werden. Vor allem, wenn es nach und nach in Richtung Abnahme geht, werden Backlog Refinements immer wichtiger. Darin wird der Auftragsbestand eines Projekts sondiert und dynamisch aktualisiert.
Deutliches Bild des Produktes schaffen
Am Ende soll jeder Entwicklungsprozess zu einem stimmigen Endprodukt führen. Damit dies gelingt, ist eine klare Vorstellung von diesem Produkt nötig, an der sich Entwickler und Kunden immer wieder im Laufe des Prozesses erinnern können. Hierbei hilft die Idee von einem Minimum Viable Product (MVP) weiter. Es geht darum, ein neues Produkt oder eine Dienstleistung mit möglichst geringem Aufwand zu kreieren.
Die Vorstellung davon, wie ein MVP aussehen und was es können soll, nutzt allen Beteiligten. So soll eine Basis für erste Rückmeldungen von Kunden oder Anwendern geschaffen werden. Auf Grundlage dieser Praxiserfahrungen mit dem MVP kann dann die Weiterentwicklung erfolgen. Erreichte Meilensteine sind fortlaufend anzupassen – von den Entwicklern technisch, durch Unternehmenskunden inhaltlich und optisch. Das MVP dient dabei als Leitfaden für den fortlaufenden Entwicklungsprozess, an dem sich beide Seiten orientieren können.
Mit Bugs gefasst umgehen
Im Abstimmungsprozess kommt es außerdem auf einen angemessenen Umgang mit Fehlermeldungen an. Ist nicht klar geregelt, was zu tun ist, wenn Bugs auftreten, entstehen vermeidbare Unstimmigkeiten, die die Projektentwicklung weiter verzögern. Stattdessen sollte ein offener, strukturierter Umgang mit Bugs gepflegt werden. Damit der Entwicklungsprozess nicht noch einmal komplett neu begonnen werden muss und keine Gewinnverluste auftreten, sollten Bugs möglichst früh identifiziert werden.
Ein Cluster, der Bugs nach ihrem Stellenwert kategorisiert, ermöglicht eine bessere Einschätzung, woran zeitnah gearbeitet werden muss. Zudem wird klar, welche Bugs den Betrieb des Webshops erst einmal nicht entscheidend beeinträchtigen und später noch behoben werden können. Für diese Kategorisierung sollten Entwickler und Unternehmenskunden wiederum gemeinsame Kriterien definieren.
Den Faktor Mensch beachten
Bei einer (teil-)agilen Projektentwicklung, die fortlaufend neue und dynamische Herausforderungen schafft, ist der Faktor Mensch nicht unerheblich. Schließlich gibt es mehr Anfälligkeiten für Fehler, wenn ein Prozess nicht von A bis Z durchgeplant ist. Wenn komplette System- und Prozesslandschaften permanent in Bewegung sind und sich gegenseitig beeinflussen, sind alle Teammitglieder immer wieder gefragt, die Übersicht zu bewahren. Ohne regelmäßige Abstimmungen und Zusammenarbeiten werden Fehler häufig gar nicht erkannt.
Hinzu kommt, dass die Zusammenstellung der Teams stimmen muss. So ist es beispielsweise enorm wichtig, dass der Product Owner auf Kundenseite alle relevanten Bereiche abbilden kann: Hat diese Person einen guten Draht zu Stakeholdern und Endkunden, um deren Bedürfnisse in die Entwicklung einzubringen? Ist der Product Owner mit den Methoden zur Analyse von Anforderungen und Risiken vertraut? Verfügt er oder sie über das nötige Verhandlungsgeschick samt Menschenkenntnis? Inwieweit sind dem Product Owner agile Entwicklungsmethoden überhaupt ein Begriff?
Klarheit trotz Agilität gefragt!
Es erscheint wie ein Gegensatz, doch trotz oder gerade wegen der agilen Entwicklungsmethodik ist es umso wichtiger, dass Softwareagentur und Kundenseite gemeinsam klare Verhältnisse schaffen. Ohne die Definition grundlegender Strukturen kann keine agile, flexible Projektenwicklung erfolgreich sein. Es treten sonst Stolpersteine auf und der Go-Live des Produkts verzögert sich. Deshalb wollen – um es noch einmal zusammenzufassen – vor allem folgende drei Bereiche gewissenhaft strukturiert sein:
- Die Zielsetzung: Welche Methodik soll für welche Projektziele genutzt werden? Was muss zum Erreichen eines Ziels im Drehbuch stehen?
- Das Qualitätsmanagement: Wie soll das Test-Design aussehen? Wann finden mit welchen Teams welche Refinements statt?
- Die Fehlerkultur: Wie können Bugs frühzeitig erkennt werden? Sind die Teams mit dem passenden Personal richtig zusammengestellt?
Nur wenn allen Beteiligten klar ist, wann, wie und von wem welche Probleme zu lösen sind und welche Ziele erarbeitet werden sollen, kann eine Projektentwicklung ohne Verzug ablaufen.
Bild: freepik