Agil werden – Warum und Wie?

 

Agile Programmierung, Entwicklung, agiles Management, agiles Business.

 

Renato Quedas, VicePresident Solution Strategy beimTestportfolio von Micro Focus erklärt, was hinter dem Kultbegriff steckt und warum gerade Software-Testing der richtige Bereich ist, um agil loszulegen.

Entscheider in der Technikbranche mussten immer ganz vorne auf der Welle ihrer Zeit surfen. Die Tidenwelle der heutigen, komplexen und digitalisierten Welt heißt Geschwindigkeit. Unternehmen versuchen sich täglich gegenseitig darin zu überbieten, ihre Softwareproduktion konsistenter, vorhersehbarer, zuverlässiger und vor allem schneller auf den Markt zu bringen. Dafür müssen sie eine Voraussetzung erfüllen: Agilität.

Im Februar 2001 trafen sich siebzehn erfahrene Software-Experten in einem Ski-Resort in den verschneiten Bergen von Utah, um sich über schlankere Entwicklungsmethoden auszutauschen. Heraus kam das Manifest für Agile Softwareentwicklung. Diese Tatsache wirft eine entscheidende Frage auf: Wenn Softwareentwickler schon seit mehr als 15 Jahren an agile Prinzipien glauben und danach trachten, sie umzusetzen – warum sind Unternehmen erst jetzt auf die Idee gekommen, dass es genau diese Prinzipien sind, die ihnen dabei helfen sollen, bessere Anwendungen schneller auf den Markt zu bringen?

 

Die Generation Y übernimmt das Steuer

Die junge Generation,auch Gen Y oder „Millenials“ genannt, besetzt nun nach und nach die führenden Positionen in Unternehmen. Sie haben die großen technischen Umwälzungen des Internets und des Mobilfunks nicht miterlebt. Sie kennen kein Leben davor. Diese Generation wurde in eine Welt hineingeboren, in der jede Information überall und ständig abrufbar ist.

Diese Millenials übernehmen nun Unternehmen aller Größen und bringen ihre Erwartungen an die technische Welt in die Welt der Unternehmensführung. Sie sind an eine Welt des On-Demand gewöhnt und erwarten von Unternehmen, nach denselben Gesetzmäßigkeiten zu funktionieren. Anders gesagt ist aus ihrer Sicht Agilität eine Grundkonstante des Lebens, nicht ein Ziel der fernen Zukunft.

Eine ebensolche Konstante im Unternehmen ist die Software. Sie hilft dabei, neue Produkte und Dienstleistungen anzubieten, mit denen sich ein Unternehmen den wichtigen Wettbewerbsvorteil über die Konkurrenz sichert. Doch heute gilt auch das Motto „Jedes Unternehmen ist ein Software-Unternehmen“ und die geringe Schwelle, die jedem den Einstieg leicht macht, schafft auch eine große Konkurrenz in einem Markt, in dem sofort eine schnellere, billigere und bessere Alternative zum eigenen Angebot auftauchen kann.

 

Geräte, Geräte und noch mehr Geräte

Nicht nur der Markt hat sich verändert, auch die Kundenerwartungen sind durch das Internet und den alltäglichen Umgang mit Software in Geräten aller Art geprägt. Desktop-Rechner, Mobilgeräte, Wearables und Sensoren im Internet der Dinge – Konsumenten nutzen Geräte und Softwareplattformen aller Art im täglichen Leben. Die Anforderungen an die einzelnen Software-Lösungen und Dienstleistungen steigen entsprechend an.

Eine Möglichkeit, um diesen Herausforderungen zu begegnen, ist das Modell der ContinousDelivery. Dabei wird Software in kurzen Zyklen produziert. Somit soll sichergestellt werden, dass die Software jederzeit in zuverlässiger Qualität ausgeliefert werden kann – damit quasi kontinuierlich. ContinousDelivery ist in diesem Sinne eine agile Methode, denn die Software wird somit schneller und häufiger zusammengebaut, getestet und veröffentlicht.

Der Knackpunkt dabei ist die zuverlässige Qualität der Software. Wie erwähnt ist die Erwartungshaltung der Kunden derart angewachsen, dass Agilität, also die Anpassung an neue Anforderungen, bereits kein Feature mehr ist, sondern eine Standardvoraussetzung. Ebenso ist die Geschwindigkeit, die das Entwicklungsteam an den Tag legt und neue Versionen in Sprint nach Sprint veröffentlicht, heute schon normal. Bei all dem Tempo hängt auch die agile Methodik letztlich an der Qualität – wenn etwas zwar schneller ausgeliefert werden kann, aber nur auf Kosten einer bisher funktionierenden Ware, so ist das kein erstrebenswertes Ziel.

 

Testen und Kommunizieren

Kein Unternehmen kann Software zuverlässig auf den Markt bringen, ohne sie auf funktionale Anforderungen ebenso wie auf nichtfunktionale zu testen. Diese Testvorgänge müssen dabei automatisiert sein und sich durch den gesamten Lebenszyklus einer Software ziehen. Dies führt analog zur ContinuousDelivery zum ContinousTesting.

Dies sind bereits zwei Anwendungen der agilen Prinzipien. Hinzu kommt eine weitere Konstante: Kommunikation. Ein Unternehmen, das sich auf agile Software-Entwicklung einstellen will, sollte darauf achten, dass die Transparenz eines Projekts und die regelmäßige Kommunikation mit sämtlichen Projektbeteiligten stets gewährleistet werden. Dies ist entscheidend für den Erfolg des Entwicklerteams und soll Unternehmen ermöglichen, besser auf Veränderungen zu reagieren.

Unternehmen müssen nachvollziehen können, wie Verbraucher ihre Geräte und die enthaltene Software benutzen, in welchem Kontext und mit welchen spezifischen Anforderungen. So können Unternehmen ihren Entwicklern etwa klare Anweisungen geben, welche Plattformen mit welcher Priorität behandelt und weiterentwickelt werden sollen. Obwohl der Kunde keine identische Anwendungserfahrung auf allen Plattformen benötigt, muss ihm dennoch jede einzelne als harmonisch und qualitativ hochwertig erscheinen.

Die Erwartungen der Kunden zu erfüllen kann jedoch bei einer unzureichenden Kommunikation verschiedener Teams untereinander oder mit wichtigen Projektbeteiligten zu Schwierigkeiten führen. Die Zusammenarbeit ist daher entscheidend, wenn Entwicklungsprojekte kurzen Fristen gerecht werden, die benötigte Nutzererfahrung bieten und Software früh und effizient bereitstellen sollen.

 

Fazit: Jetzt auf Agilität setzen

Unternehmen müssen mit wachsendem Druck von außen rechnen: Mehr Geräte, auf denen ihre Software eingesetzt wird, mehr mögliche Konfigurationen, die getestet werden müssen; zugleich steigt die Kundenerwartung an Geschwindigkeit und Qualität ständig weiter an. Unternehmen können diesem Druck nur standhalten, wenn sie agile Methoden einsetzen – im Unternehmen allgemein, aber vor allem im Software-Testing, gepaart mit intelligenter Automatisierung ihrer Prozesse.

In den letzten zehn Jahren haben die Prinzipien des Agilen Manifests stetig an Bedeutung gewonnen. Heute führt kein Weg mehr an ihnen vorbei. Sie werden auch in den nächsten Jahren weiter dafür sorgen, dass die Geschäfts- und die Entwicklerseite des Unternehmens enger zusammenwachsen.

Nur wer ein Entwicklerteam hat, das schnell auf Änderungen am volatilen Markt und Kursanpassungen im Business reagieren kann, erreicht am Ende das Ziel eines agilen Unternehmens. Anders gesagt gibt es kein agiles Business ohne agile Entwicklung und keine agile Entwicklung ohne agile Testmethoden. Die gute Nachricht: die meisten Entwicklerteams setzen diese Methoden bereits ein oder sind dabei, sie einzuführen. Nun ist es am Management, sie dabei zu unterstützen.

Weiterführende Informationen:

Micro Focus

 

Aufmacherbild / Lizenz / Quelle

Agile development“ (CC BY-ND 2.0) by  dgray_xplane