28 Feb
Blogposts

Let‘s do it! Erfolg, durch agile Methoden im Software Testing

Wir bei SDS haben einen Ansatz entwickelt, die möglichen Schwachstellen, die ein rigides, lineares Vorgehen mit sich bringen kann, auszugleichen und beide Welten – Wasserfall und die agile Vorgehensweise – zu vereinen.

Seit Jahren hört man in der Software-Entwicklung nur noch eines: „Wir müssen agil werden!“. Dennoch entwickeln nach wie vor viele Unternehmen ihre Softwareprodukte weiterhin in sequentiell-linearen Prozessen, bei denen die Anforderungen an das Produkt ganz am Anfang und der Test weit am Ende des Softwareentwicklungsprozesses stehen – nicht zuletzt deshalb, da dieses Vorgehen mit seinen klar umgrenzten Phasen für alle Beteiligten intuitiv nachvollziehbar und einfach zu managen ist.

Muss es aber immer der rigide Wasserfall sein, der stur und ohne Umwege nach unten fließt? Wir kennen die Antwort: Nein. Gerade wenn mehrere Firmen zusammenarbeiten – Auftraggeber, externe Softwareentwicklungsfirmen und (Software) Testing Services – und die Softwareprodukte in einer komplexen Systemlandschaft mit vielen Schnittstellen eingebettet sind, ist es die Quality Assistance, bei der am Ende des Projekts die Fäden zusammenlaufen.

Agile testing methoden erhöhen nachhaltig die qualität

Wir bei SDS haben einen Ansatz entwickelt, die möglichen Schwachstellen, die ein rigides, lineares Vorgehen mit sich bringen kann, auszugleichen und beide Welten – Wasserfall und die agile Vorgehensweise – zu vereinen. Damit können wir unseren Kunden punktuell die Anwendung agiler Methoden in der Projektabwicklung anbieten, um die höchste Softwarequalität zu erreichen, ohne dabei den komplett formalisierten Prozess, wie etwa „Scrum“ etablieren zu müssen.

Ein Projekt, das den Erfolg agiler Methodik beweist, ist definitiv das Testing des neuen Angebotes „FamilyBytes“ der T-Mobile Austria. Diesen Sommer durften wir für unseren langjährigen Kunden T-Mobile Austria, die Qualitätssicherung für dieses neue Telekommunikationsprodukt durchführen. Die besondere Herausforderung bei diesem Projekt bestand einerseits darin, dass der komplette Lebenszyklus eines Produkts mit entsprechend vielen beteiligten Systemen und Schnittstellen (von mobilen Webapplikationen bis zu komplexen Datenbankstrukturen) getestet werden musste. Andererseits war aufgrund von Marketing- und Werbeplanung ein Verzug im straffen Zeitplan keine Option.

mehr effizienz durch den wegfall der Black box”

Der entscheidende agile Baustein für den Projekterfolg von FamilyBytes war der intensive Austausch bereits während der Testspezifikation und Testfallerstellung. In ausführlichen Abstimmungsmeetings wurden die Anforderungen den Testern vorgestellt und erläutert. Die Ansprechpartner auf Kundenseite (Software Architekten, Business Analysten und Delivery Management) waren jederzeit offen für weitere Erläuterungen unklarer Punkte. Durch die intensive Diskussion und Auseinandersetzung mit den Anforderungen sowie punktuelles Nachziehen dieser bei Änderungen und vor allen Dingen durch den regen Austausch im Projektteam während der Testvorbereitung, waren wir zu Teststart optimal vorbereitet und konnten mit gutem Gewissen sagen: Let‘s do it!

Statt, wie in einem linearen Entwicklungsprozess üblich, in einer Blackbox zu testen und erst am Ende der Testphase die neue Software den Stakeholdern aus dem Fachbereich in einer großen Premiere vorzustellen, haben wir in diesem Projekt den intensiven Austausch auch während des Testings weiter gepflegt. Gleich im Anschluss an die Softwarelieferung in die Testumgebung wurde ein gemeinsamer Termin für einen Application-Integration-Test (AIT) angesetzt. Hier trafen sich alle Beteiligten (Design, Architektur, Business Analyse, Entwicklung und Test) zur Evaluierung der Softwarereife.  Anders als im klassischen AIT, lag unser Fokus klar darauf, grundsätzliche Fehler sofort während des Termins nicht nur zu identifizieren und analysieren, sondern auch umgehend zu beheben. Die Projektleitung gewann dadurch schon bei Anfang der QA die Entscheidungssicherheit für ein Go/No-Go hinsichtlich des angestrebten Markteinführungstermins. Und schließlich, nicht zu unterschätzen, bei einem Zusammenspiel mehrerer Unternehmen, stärken derartige Treffen den Teamspirit und den Fokus auf den Erfolg des Projekts.

einbindung der fachabteilungen bereits in der frühen projektphase

Ein weiteres wichtiges agiles Element waren die Testreviews, die von Struktur und Ablauf ähnlich zu den Sprint Reviews, während der laufenden Testphase gemeinsam mit den Stakeholdern aus Produktmanagement und Marketing abgehalten wurden. Auch hier hat man sich das agile Prinzip mit allen Stakeholdern an einem Tisch zu Nutzen gemacht: Die Kunden konnten sich mit der Software bereits vor der offiziellen Abnahme auseinandersetzen und hatten an dieser Stelle noch die Möglichkeit, Input aus fachlicher Sicht zu geben. Durch den frühen Zeitpunkt der Reviews war es auch möglich, mit Change Requests, die aus dieser Auseinandersetzung mit dem fast fertigen Produkt entstanden, die Softwarequalität noch innerhalb desselben Release zu verbessern. Beim abschließenden Abnahmemeeting gab es dann keine unerwarteten Überraschungen, da alle Unklarheiten und etwaige Missverständnisse bereits im Vorfeld geklärt wurden.

Die Testorganisation führte zum großen Erfolg des gesamten Testing Projektes. Delivery Management auf Kundenseite und Testmanagement bei SDS standen in engem, kontinuierlichen Austausch zueinander und ermöglichten dadurch einen klaren Rahmen für die Umsetzung.

Zusammenfassend sind es diese agilen Aspekte, die zum Erfolg des Projektes geführt haben:

  • Zusammenbringen aller Stakeholder für einen gemeinsamen Informations- und Erwartungshorizont statt  horizon instead of „Thinking inside the box”
  • Intensiver Austausch vor und während der Testphase statt One-Way-Kommunikation
  • Kurze Kommunikationswege, statt hierarchischer Ordnung
  • Offener und transparenter Austausch unter allen Beteiligten, statt Silodenken zwischen den Abteilungen und Rollen

Gerade der letzte Punkt ist natürlich nicht vom Test allein abhängig, sondern in einem hohen Maße von der modernen und offenen Arbeitsweise der involvierten Unternehmen. Und hier hatten wir das Glück, Teil eines hochmotivierten Projektteams zu sein. Dennoch waren es auch oben angeführte agile Maßnahmen, die sich positiv auf eine lösungsorientierte „Let‘s-do-it“-Haltung in der Testphase ausgewirkt und somit den klassischen Wasserfall punktuell ersetzt haben. Das Ergebnis: Effizienz, Transparenz und hohe Qualität der Produkte!

Kontakt
Gabriele Müller
Test Manager