Mit Tests die Kostenkurve kriegen

Bei einem Gespräch unter Kollegen kam wieder einmal das Thema „Qualität der Software“ zur Sprache. Jeder von uns hatte seine eigene Geschichte aus seinem Projekt mitgenommen und mit den anderen geteilt. Wir waren verblüfft, wie schwer es Software-Teams noch immer fällt, Software regelmäßig und funktionstüchtig zu liefern. Um mit gutem Beispiel voranzugehen, entschieden wir daher, diesen Beitrag im sogenannten “Pair Blogging” entstehen zu lassen. Was bedeutet das? Zwei Kollegen arbeiten nebeneinander auf ihren Notebooks in einem Google-Dokument und schreiben was das Zeug hält. Und damit zum eigentlichen Thema.Wir haben das Gefühl, dass auch heute noch viele Unternehmen bzw. das Management die anfänglichen Investitionskosten für einen guten Softwareauslieferungs-Prozess scheuen. Bei Legacy-Systemen ist die Angst vor einem langen und teuren Migrationsprojekt oft noch viel größer. Die Verlockung, schnell Software ohne wirkliche Achtung der Qualitätsgrundsätze zu entwickeln, rächt sich spätestens bei den ersten Anforderungsänderungen der Kunden. Denn zu diesem Zeitpunkt kippt das Verhältnis der anfänglichen Investitionskosten gegenüber den immer stärker steigenden Kosten für jede einzelne Änderung. Das folgende Diagramm, das die "Cost of Change"-Kurven von Berry Boehm, Alistar Cockburn, Scott Ambler und Kent Beck abbildet, macht dieses Phänomen deutlich sichtbar.

Screenshot 2014-11-28 10.03.18

Dabei ist es weder notwendig noch sinnvoll, für die Einführung von Testautomatisierung oder Continuous Delivery ein großes Projekt zu starten. Ein erfolgsversprechendes iteratives Vorgehen zeichnet sich durch einen schnellen Return on Investment und geringe Risiken aus. In kleinen Schritten immer genau jenen Teil verbessern, in dem die Schmerzen am größten sind. Welche Komponente sorgt für die meisten Fehler im Test? Diese sollte mit automatisierten Tests überprüft werden, und erstmal nur diese. Wo läuft das Deployment immer wieder schief? Für genau dieses System sollte das Deployment automatisiert werden. Solche Investitionen zahlen sich sofort aus, und wir lernen gleichzeitig für den Umgang mit dem nächsten Problem. Indem man immer das akut größte Problem löst, entsteht Stück für Stück ein Rahmen für agile Softwareentwicklung.Teams benötigen dafür folgende drei Rahmenbedingungen:

  1. Verantwortungsbewusstsein für Qualität und Lieferung
  2. Die Freiheit und die Freiräume, sich selbstorganisiert darum kümmern zu dürfen
  3. Das nötige Können und Wissen

Das Management ist gefragt, diese Rahmenbedingungen zu schaffen. Die Experten für die Etablierung agiler Entwicklungsmethoden seid jedoch ihr in den Teams - fangt einfach mit dem ersten kleinen Schritt an und erfreut euch am Ergebnis eures Schaffens.Der Beitrag entstand im Pair Blogging mit Frank Janisch.

bgloger-redakteur
January 14, 2015

Table of content

Diesen Beitrag teilen

Das könnte auch interessant sein:

Wie du mit klaren Rollen Erwartungen managst (und Konflikten vorbeugst)
BG

Wie du mit klaren Rollen Erwartungen managst (und Konflikten vorbeugst)

Innere Klarheit statt Aktionismus – wie du als Führungskraft souverän bleibst
BG

Innere Klarheit statt Aktionismus – wie du als Führungskraft souverän bleibst

Zwischen Klarheit und Kontrolle – was moderne Führung heute wirklich braucht
BG

Zwischen Klarheit und Kontrolle – was moderne Führung heute wirklich braucht

Gute Führung beginnt bei dir - warum Selbstführung kein Luxus ist
BG

Gute Führung beginnt bei dir - warum Selbstführung kein Luxus ist

„Purpose statt Position“ - warum der Wunsch nach Sinn zum neuen Karrieremotor wird
BG

„Purpose statt Position“ - warum der Wunsch nach Sinn zum neuen Karrieremotor wird

Arbeiten im Wandel - was Unternehmen heute leisten müssen
BG

Arbeiten im Wandel - was Unternehmen heute leisten müssen

Was ist eigentlich ein Agile Coach - und brauchen wir das wirklich?
BG

Was ist eigentlich ein Agile Coach - und brauchen wir das wirklich?

Finde deine Stimme – und nutze KI als Verstärker
BG

Finde deine Stimme – und nutze KI als Verstärker

Leadership in the AI Era: Reinventing Human-Centered Leadership
BG

Leadership in the AI Era: Reinventing Human-Centered Leadership

KI hier, KI da – was bedeutet das für mich als Führungskraft?
BG

KI hier, KI da – was bedeutet das für mich als Führungskraft?

Der kybernetische Teamkollege
BG

Der kybernetische Teamkollege

Agile Strategie mit OKRs: Vom Denken ins Tun kommen
BG

Agile Strategie mit OKRs: Vom Denken ins Tun kommen