"Welchen Ansatz sollten wir wählen, um effizient und mit höchster Qualität unsere Produkte zu entwickeln? Das bewährte Wasserfallmodell oder die agile Softwareentwicklung?"
Welche Methode ist die richtige für die Software-Entwicklung? Diese Frage stellen sich viele Unternehmen. So auch unsere Partner*innen eines führenden Unternehmens im Bereich Gebäudeautomatisierung und -digitalisierung. In unserem Blogartikel beleuchten wir die Analysen und Abwägungen, die in diesem Best Practice Beispiel zur Entscheidung führten und gehen nach, wie sich die Wahl der Methodik auf die QA-Prozesse auswirkt.
Das Wasserfall-Modell: Noch zeitgemäß oder längst überholt?
Folgende Herausforderung hat sich unserem Partner gestellt: Innerhalb eines Jahres soll ein neues Produkt, bestehend aus Soft- und Hardwarekomponenten, gelauncht werden. Bislang wurden ähnliche Produkte nach dem Wasserfall-Modell entwickelt.
Die Methodik ist sequenziell aufgebaut und durchläuft nacheinander verschiedene Phasen, beginnend mit der Anforderungsanalyse über die Planung, Implementierung, dem Test bis hin zur Bereitstellungsphase.
In der ersten Phase werden die Anforderungen dokumentiert, in der Planung folgt die Festlegung der Ressourcen, Zeitpläne und Aktivitäten für das Projekt. Während der Implementierung beginnt die eigentliche Entwicklung des Produkts auf Basis der zuvor festgelegten Anforderungen und Plänen. Es folgt die Testphase, in der die Software ausgiebig geprüft wird, um sicherzustellen, dass sie den Anforderungen entspricht und fehlerfrei funktioniert, denn: Änderungen nach diesem Prozesspunkt sind teuer und zeitaufwändig. Nun folgt die letzte Phase des Wasserfalls: die Bereitstellung an den Kunden, nach dem erfolgreichen Testing des Produkts.
Soweit die Theorie. In unserem Beispiel eskalierte jedoch ein Konflikt, denn unsere Partner musste bei diesem entscheidenden Projekt feststellen, dass das Produkt nicht als Gesamtsystem funktioniert und das Testing eine hohe Fehlerquote hervorbrachte. Das Ergebnis: Steigende Kosten, Zeitverzögerung, unzufriedenen Kund*innen und der gesamte Entwicklungsprozess geriet ins Stocken.
Die Frage drängte sich auf: Ist der starre, sequenzielle Wasserfallansatz noch zeitgemäß? Schließlich verzögert sich die Produktentwicklungszeit immer weiter, am Ende tauchen viele unentdeckte Probleme auf und die Anpassung an sich ändernde Anforderungen während des Entwicklungsprozesses wird immer schwieriger.
Flexibilität und Struktur kombiniert: Hybrider Ansatz für mehr Effizienz im Entwicklungsprozess
In einem mutigen Schritt entschieden sich unser Partner*innen für einen Paradigmenwechsel. QA-Berater*innen von Appmatics wurden hinzugezogen und gemeinsam wurde die bestmögliche Lösung in einem hybriden Ansatz gefunden: Eine Mischung aus Wasserfall und agiler Softwareentwicklung. Die Flexibilität der agilen Entwicklung kombiniert mit der Struktur des Wasserfalls verspricht eine neue Ära der Effizienz und Qualitätssicherung. Das QA-Consulting Team von Appmatics verhalf dem Unternehmen in diesem Fall die agile Methodik für die Softwareentwicklung einzuführen und diese im nächsten Schritt mithilfe anderer Fachabteilungen umzusetzen.
Die hybride Lösung war in diesem Fall sinnvoll, da die Entwicklung der Hardware in einer klaren Abfolge stattfinden musste und sich die Anforderungen aufgrund der einfachen Struktur am Ende des Prozesses nicht mehr änderten. Für die zugehörige Software hat sich das QA Consulting Team für eine agile Methode in Scrum entschieden, da sich in diesem Bereich die Anforderungen oft im Nachhinein ändern und die einzelnen Tasks einen hohen Komplexitätsgrad aufweisen. Statt in langen Phasen konnte die Software nun in kurzen, zweiwöchigen Sprints entwickelt werden, was dem Unternehmen ermöglichte, sich schnell an Änderungen anzupassen, regelmäßige Feedback- und Testschleifen durchzuführen und Fehler frühzeitig zu erkennen und zu beheben.
Mit vereinten Kräften zu einer beschleunigten Entwicklung und verbesserten Qualität
Durch die Ergänzung des traditionellen Wasserfallprozesses um agile Elemente gelang es, die Entwicklung zu beschleunigen und gleichzeitig die Qualität zu steigern. Für unser Partner-Unternehmen wurden Anpassungsfähigkeit und schnelle Test- und Feedbackzyklen der Schlüssel zum Erfolg.
Besonders wichtig bei der Entwicklung von Hard- und Software ist die Umsetzung des Shift-Left-Ansatzes, bei dem Tests frühzeitig und kontinuierlich durchgeführt werden. Bei der agilen Softwareentwicklung empfahl unser Consulting Team zudem die Implementierung von Continuous Testing, bei dem automatisierte Tests in den gesamten Entwicklungszyklus integriert werden. Sowie darüber hinaus auch Integrationstests, die bereits in der Entwicklungsphase durchgeführt werden. Laut einer Studie von Tricentis konnten Unternehmen, die auf Continuous Testing setzen, eine Produktivitätssteigerung von 50 % erreichen. Weitere Vorteile sind eine Steigerung der Agilität des Unternehmens um 49 %, eine Verbesserung der Mitarbeitererfahrung (47 %) und des Kundenerlebnisses um 43 %. Diese Verbesserungen führen nicht nur zu einer höheren Effizienz und Produktivität, sondern letztendlich auch zu besseren finanziellen Ergebnissen. (Quelle: Tricentis-report_Forrester-Modernizing-Testing-to-Accelerate-Digital-Business-1.pdf .
Ein weiterer wichtiger Prozess, den wir gemeinsam mit unserer Abteilung für Testautomatisierung und unseren Partner*innen in den Entwicklungszyklus integrieren konnten, ist CI/CD. Die Implementierung der CI/CD-Pipeline sorgte für einen kontinuierlichen Softwareentwicklungs- und Updatezyklus sowie häufigere Code-Releases und unterstützte das Unternehmen bei der Ausführung von Shift Left. Durch CI wurde der Code regelmäßig integriert, um sicherzustellen, dass dieser mit Änderungen im Repository kompatibel ist. Zudem wurde durch Continous Deployment das Deployment und die Bereitstellung des aktuellen Releases automatisiert. Durch die Implementierung von CI/CD konnten Ausfallzeiten um 30 % minimiert werden, da Fehler frühzeitig erkannt und behoben wurden. So konnte das Unternehmen das Projekt wie geplant innerhalb eines Jahres umsetzen und erlangte gleichzeitig eine hohe Produktqualität sowie eine hohe Kundenzufriedenheit.
Die perfekte Balance: Optimierung von Entwicklungsprozessen durch die Symbiose von Agilität und Struktur
Das Ergebnis ist eine gelungene Symbiose aus Agilität und Struktur, die nicht nur zu einer Reduzierung von Fehlern führt, sondern auch die Innovationskraft des Unternehmens stärkt. Durch die partnerschaftliche Zusammenarbeit mit unseren Appmatics QA-Experten ist es unserem Partner gelungen, Entwicklungsprozesse zu optimieren und gleichzeitig auf sich ändernde Anforderungen des Marktes zu reagieren. Dabei unterstützte nicht nur das QA Consulting Team bei der Erstellung einer neuen QA-Strategie, sondern auch das Testing Team bei der Umsetzung der neuen Strategie. Auch beim Testen konnte das Bug Aufkommen von 20 auf 8 reduziert werden. Trotz der allgemeinen Abneigung gegen das Wasserfallmodell in der Welt der Softwareentwicklung sollte man immer das große Ganze betrachten. In diesem konkreten Beispiel war es sinnvoll, zumindest teilweise an diesem Modell festzuhalten. Das kann von Kunde zu Kunde unterschiedlich sein. Mit einem ausgewogenen Ansatz und einer klaren Vision für die Zukunft der Softwareentwicklung ist es möglich, die Herausforderungen der Qualitätssicherung zu meistern und den Weg für eine erfolgreiche digitale Transformation zu ebnen.
Für unsere Partner*innen war es wichtig, die QA Prozesse nicht nur zu verbessern, sondern auch gut zu verstehen und langfristige Potentiale aufzudecken. Unser QA Consulting Team unterstützte bei genau diesen Fragen und wägt geeignete Methodiken ab.
Du hast Fragen zur richtigen Methodik? Wir helfen gerne weiter.