Suche
Neuer Wein braucht neue Schläuche

Performancemanagement in agilen Unternehmen

Alois Reitbauer

Sie haben Scrum oder andere agile Entwicklungsmethoden erfolgreich in Ihrem Unternehmen eingeführt. Sie schaffen es, regelmäßig produktionsreife Software zu liefern. Ihr Management hat das jetzt auch mitbekommen und möchte nun regelmäßiger neue Funktionalität in Produktion auszurollen. Sie haben trotz der besseren Qualität ein flaues Gefühl im Magen und fragen sich, wie sich die Anwendung tatsächlich in Produktion verhalten wird. Agiles Performancemanagement zeigt einen innovativen, praxiserprobten Ansatz, wie Sie mit nichtfunktionalen Anforderungen wie Performance, Skalierbarkeit und Stabilität umgehen, um nicht letztendlich Opfer Ihrer Agilität zu werden.

Business Technology

Der Artikel „Performancemanagement in agilen Unternehmen“ von Alois Reitbauer ist erstmalig erschienen im Magazin:

Business Technology 3.2010.

Die Dinge ändern sich. Mit zunehmender Agilität in Softwareunternehmen hat sich die Art und Weise, wie wir Software entwickeln und ausrollen, grundlegend verändert. Releasezyklen werden immer kürzer und dauern oft nur mehr Tage und Wochen. Zudem findet man speziell im E-Commerce-Umfeld immer häufigere Rollouts in Produktion. Während wir es geschafft haben, unsere Entwicklungspraxis an dieses neue Umfeld anzupassen, trifft das im Bereich Performancemanagement nicht zu. Sehr häufig halten Unternehmen an den „guten alten“ Prozessen fest, obwohl sie schon längst bemerkt haben, dass diese eine Einbahnstraße sind. Letztendlich muss auch unser Performancemanagement agil werden – aber wie?

Wenn man sich selbst überholt

In immer kürzeren Iterationen mit lauffähiger Software zu arbeiten, hat positive Auswirkungen auf die Qualität von Anwendungen. Sehr oft wird dieser schnelle Fortschritt aber im Abnahmetest wieder eingebremst. Obwohl viele Entwicklungsteams in ihren Continuous-Integration-Umgebungen eine sehr gute funktionale Testabdeckung haben, trifft dies auf den Performancebereich nicht zu. In den meisten Fällen wird vor dem Produktions-Deployment noch mit klassischen Lasttests gearbeitet. Dieser Ansatz funktioniert in der Praxis allerdings nicht oder nur sehr schlecht. Lasttests sind in sehr vielen Fällen wartungsintensiv. Einerseits ist es sehr aufwendig, die Scripts zu warten und anzupassen, andererseits nimmt die Durchführung und Analyse der Tests eine nicht unwesentliche Zeit in Anspruch. In der Vergangenheit hat uns das weniger gestört, da wir am Ende einer langen Entwicklungsphase mit einer zweiwöchigen bis einmonatigen Lasttestphase gut leben konnten. Wenn wir aber nun mit Iterationen von einer Woche arbeiten, dann bedeutet das, dass wir Ergebnisse erhalten, die auf der Codebasis von vor zwei Iterationen basieren. Abbildung 1 zeigt klar das Dilemma, in dem wir uns befinden: Die Entwicklung hat die Tester überholt.

Abb. 1: Entwicklungszyklen vs. Testdauer

Außerdem sind wir mit den klassischen Problemen von Lasttests konfrontiert. Das genaue Nachbilden des Benutzerverhaltens stellt eines der größten Herausforderung dar. Oft gelingt es nur mit sehr viel Mühe, ein realistisches Szenario zu bauen. Dies liegt weniger an den verwendeten Tools, als am mangelnden Wissen über die entscheidenden Produktionsparameter. Oft fehlt auch die notwendige Hardware, um Tests produktionsäquivalent ablaufen zu lassen.

Geschrieben von
Alois Reitbauer
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.