Zum Inhalt
wannacode

Wenn sich eine Anforderung ändert

Kurz gesagt: Anforderungen ändern sich, und das ist normal. Gefährlich wird es, wenn eine Änderung ohne Aufzeichnung durchgeht. Die Auswirkungsanalyse beginnt bei der geänderten Anforderung und folgt der Matrix zu den Tests und zu den abhängigen Anforderungen. Eine Anforderung hat Versionen, und die Baseline ist der vereinbarte Satz von Versionen, an dem das Team arbeitet. Eine Änderung danach geht über einen Antrag, eine Bewertung und die Genehmigung durch den, der für die Anforderung verantwortlich ist.

Problem

Der Test, der „sich geirrt hat“

Am Montag sagt das Marketing in einer Besprechung: „Ab heute beginnt die kostenlose Lieferung bei 60 €.“ Der Entwickler ändert die Zahl noch am selben Tag.

Am Dienstag fällt der Test „Ein Warenkorb von 50,00 €: Die Lieferung ist kostenlos“ durch. QA erfasst einen Fehler: „Die Lieferung kostet 4,90 € bei einer Bestellung von genau 50,00 €“. Der Entwickler schließt ihn: „Das war so verlangt.“ QA fragt: „Wo steht das?“ Nirgends. Die Anforderung sagt immer noch 50 €, ebenso die Hilfeseite auf der Website.

Zwei Tage vergehen mit dem Streit, wessen Version stimmt. Die Änderung war nicht falsch. Falsch war, dass sie ohne Aufzeichnung durchging.

Die Idee

Auswirkungsanalyse

Bevor sich etwas ändert, fragst du: Was hängt noch davon ab? Das ist die Auswirkungsanalyse (impact analysis). Die Matrix aus der vorigen Lektion macht sie schnell:

  1. Finde die Zeile der geänderten Anforderung.
  2. Jedes Häkchen in der Zeile ist ein Test, der durchgesehen werden muss.
  3. Entscheide für jeden dieser Tests: Er ändert sich, bleibt gleich oder wird nicht mehr gebraucht.
  4. Frag, welche neuen Tests die neue Regel braucht.

„Durchgesehen“ heißt nicht „geändert“. Die Grenze wird 60 €. „Ein Warenkorb von 120,00 €: Die Lieferung ist kostenlos“ wird durchgesehen und bleibt gleich. „Ein Warenkorb von 50,00 €“ ändert sich: Er kostet jetzt 4,90 €. Und zwei neue Tests werden gebraucht, an der neuen Grenze: 59,99 € und 60,00 €.

Die Auswirkung reicht außer zu den Tests auch zu anderen Dingen: dem Bildschirm des Warenkorbs, der Hilfeseite, der Werbung, dem Bericht der Buchhaltung. Die Matrix zeigt die Tests. Den Rest kennt die Analystin, und oft auch die Interessengruppen.

Probier es aus

Die Rückgabefrist wird 30 Tage

Markiere die Verbindungen. Wähle dann im zweiten Schritt, welche Tests für die Änderung durchgesehen werden müssen.

Tests

  • T-1: Erhalten am 1. Oktober, Rückgabe beantragt am 15. Oktober: angenommen.
  • T-2: Erhalten am 1. Oktober, Rückgabe beantragt am 16. Oktober: abgelehnt.
  • T-3: Eine versandte Bestellung, noch nicht zugestellt: Die Rückgabe wird abgelehnt.
  • T-4: Eine bezahlte Bestellung, noch nicht versandt: Die Stornierung wird angenommen.
  • T-5: Eine versandte Bestellung: Die Stornierung wird nicht angenommen.
  • T-6: Eine zugestellte Bestellung, Rückgabe am fünften Tag: angenommen.

Klicke auf die Zelle, in der der Test die Anforderung prüft; noch einmal, um die Verbindung zu entfernen. Die Pfeiltasten wechseln zwischen den Zellen, Leertaste oder Enter markiert.

AnforderungenT-1: Erhalten am 1. Oktober, Rückgabe beantragt am 15. Oktober: angenommen.T-2: Erhalten am 1. Oktober, Rückgabe beantragt am 16. Oktober: abgelehnt.T-3: Eine versandte Bestellung, noch nicht zugestellt: Die Rückgabe wird abgelehnt.T-4: Eine bezahlte Bestellung, noch nicht versandt: Die Stornierung wird angenommen.T-5: Eine versandte Bestellung: Die Stornierung wird nicht angenommen.T-6: Eine zugestellte Bestellung, Rückgabe am fünften Tag: angenommen.Abgedeckt durch
A-1 Ein Produkt kann innerhalb von 14 Tagen nach Erhalt zurückgegeben werden.0
A-2 Nur eine zugestellte Bestellung kann zurückgegeben werden.0
A-3 Eine bezahlte Bestellung kann vor dem Versand storniert werden.0
A-4 Eine versandte Bestellung kann nicht storniert werden.0
Prüft000000

Die Idee

Anforderungen hängen voneinander ab

Manchmal steckt die Änderung in einer Anforderung, aber die Zahl steht auch in einer anderen. Die Grenze von 50 € steht in zwei Sätzen:

  • A-1: Die Lieferung ist bei einer Bestellung ab 50,00 € einschließlich kostenlos;
  • A-2: Unter 50,00 € kostet die Lieferung 4,90 €.

Du änderst A-1 auf 60 €, und A-2 bleibt bei 50 €. Jetzt ist eine Bestellung von 55 € weder kostenlos noch unter 50 €. Die beiden Anforderungen widersprechen sich.

Deshalb hört die Analyse nicht bei der Zeile in der Matrix auf. Sie fragt auch, welche Anforderungen von der geänderten abhängen. Eine gut geführte Liste hält auch diese Verbindungen fest, zwischen den Anforderungen. Dann taucht A-2 von selbst in der Analyse auf, und ihre Tests mit ihr.

Die Idee

Versionen und die Baseline

Eine Anforderung wird nicht überschrieben. Sie bekommt eine neue Version:

Anforderung Version Text Ab Entschieden von
A-1 1 kostenlose Lieferung ab 50,00 € 1. März dem Inhaber
A-1 2 kostenlose Lieferung ab 60,00 € 16. November dem Inhaber, auf Bitte des Marketings

Die alte Version bleibt. Ein Kunde mit einer Bestellung über 55 € von letzter Woche hat Anspruch auf kostenlose Lieferung: nach Version 1, die damals galt.

Die Baseline (baseline) ist der vereinbarte Satz von Anforderungen, jede in einer genauen Version, an dem das Team arbeitet. Zum Beispiel „die Anforderungen für das Release am 16. November“. Die Tests und die Matrix sind mit ihr verbunden: „T-1 prüft A-1, Version 1“. Sagt jemand „laut den Anforderungen“, beantwortet die Baseline die Frage „welchen?“.

Ist die Baseline vereinbart, wird eine Änderung nicht in einer Besprechung mit einem einzigen Wort gemacht. Sie geht einen Weg.

Genauer, für Neugierige

IREB CPRE behandelt Versionen, Konfigurationen und Baselines in seinem Kapitel über das Anforderungsmanagement. Eine Konfiguration ist ein Satz von Anforderungen, jede in einer Version. Eine Baseline ist eine Konfiguration, die stabil und vereinbart ist, oft für ein Release, und sich nur über das festgelegte Änderungsverfahren ändert.

Im BABOK v3 stehen die verwandten Aufgaben im Wissensbereich Requirements Life Cycle Management: Maintain Requirements (Anforderungen werden korrekt und mit ihrer Historie gehalten) und Approve Requirements (die Zustimmung und Genehmigung, nach der Anforderungen als Grundlage der Arbeit dienen können). Der Begriff „Baseline“ wird in beiden mit etwas anderen Worten benutzt, also lerne die Definition aus dem Lehrplan, in dem du die Prüfung ablegst.

Die Idee

Wer die Änderung genehmigt

Der Weg einer Änderung hat drei Schritte, und jeder gehört einem anderen Menschen:

  • Antrag. Jeder kann eine Änderung beantragen: das Marketing, ein Kunde, das Lager. Die Analystin erfasst sie: was, warum, ab wann.
  • Bewertung. Die Analystin, QA und die Entwickler sagen, was sie berührt und was sie kostet. Das ist die Auswirkungsanalyse.
  • Entscheidung. Wer für die Anforderung und das Budget verantwortlich ist, entscheidet. In Scrum ist das der Product Owner. In einer großen Organisation kann es ein Änderungsgremium (Change Control Board) sein, mit dem Fachbereich, den Technikern und QA.

Wer entscheidet, ist nicht der, der am lautesten bittet, und nicht der Entwickler, der die Zahl ändert. Wer entscheidet, sieht die Kosten und sagt „ja“, „nein“ oder „ja, aber ab nächstem Monat“.

Das ist die Änderungssteuerung (change control). In einem agilen Team ist sie leicht: Eine Story zu ändern, die noch nicht in Arbeit ist, ist ein Gespräch mit dem Inhaber und eine neue Zeile in der Liste. Schwer ist sie, wenn man etwas ändert, das schon vereinbart, gebaut oder veröffentlicht ist.

Genauer, für Neugierige

Der BABOK v3 beschreibt die Bewertung von Änderungen als die Aufgabe Assess Requirements Changes (im Wissensbereich Requirements Life Cycle Management). Wie Entscheidungen über Änderungen getroffen werden und wer sie genehmigt, wird früher vereinbart, bei der Planung der Steuerung von Anforderungen (Plan Requirements Governance), und die Genehmigung ist die Aufgabe Approve Requirements.

IREB CPRE beschreibt das Change Control Board und den Änderungsantrag als Teil des Anforderungsmanagements. Wie förmlich das Verfahren ist, hängt vom Projekt ab: In einem regulierten Bereich hat jede Änderung eine Unterschrift, in einem kleinen Team genügen eine Aufzeichnung und ein Gespräch.

ISTQB CTFL v4.0.1 (Abschnitt 1.4.4) nennt die Auswirkungsanalyse von Änderungen unter den Vorteilen der Rückverfolgbarkeit.

Probier es aus

Der Weg einer Änderung

Bring den Weg der Änderung der Grenze in die Reihenfolge, vom Antrag bis zum Release.

  1. Die Änderung geht an dem Datum in der neuen Version live
  2. Auswirkungsanalyse: Anforderungen, Tests, Bildschirme, Texte
  3. Die Anforderung bekommt eine neue Version, und die Baseline wird aktualisiert
  4. Das Marketing will, dass die Grenze für kostenlose Lieferung 60 € wird
  5. Die Tests ändern sich, der Entwickler ändert die Grenze, und alles besteht
  6. Der Product Owner entscheidet und sieht die Kosten
  7. Die Analystin erfasst den Änderungsantrag

Übung

Die Grenze wird 60 €

1. Die Grenze für kostenlose Lieferung. Die Änderung betrifft A-1, aber nicht nur dort.

Markiere die Verbindungen. Wähle dann, welche Tests durchgesehen werden müssen, wenn die Grenze 60 € wird. Achte darauf, wo die Zahl 50 sonst noch steht.

Tests

  • T-1: Ein Warenkorb von 50,00 €: Die Lieferung ist kostenlos.
  • T-2: Ein Warenkorb von 49,99 €: Die Lieferung kostet 4,90 €.
  • T-3: Ein Warenkorb von 120,00 €: Die Lieferung ist kostenlos.
  • T-4: Ein Warenkorb ohne Produkte: Die Bestellung wird abgelehnt.
  • T-5: Der Warenkorb enthält 10 T-Shirts. Ein weiteres hinzuzufügen wird abgelehnt.
  • T-6: Ein Warenkorb von 55,00 €: Die Lieferung ist kostenlos.

Klicke auf die Zelle, in der der Test die Anforderung prüft; noch einmal, um die Verbindung zu entfernen. Die Pfeiltasten wechseln zwischen den Zellen, Leertaste oder Enter markiert.

AnforderungenT-1: Ein Warenkorb von 50,00 €: Die Lieferung ist kostenlos.T-2: Ein Warenkorb von 49,99 €: Die Lieferung kostet 4,90 €.T-3: Ein Warenkorb von 120,00 €: Die Lieferung ist kostenlos.T-4: Ein Warenkorb ohne Produkte: Die Bestellung wird abgelehnt.T-5: Der Warenkorb enthält 10 T-Shirts. Ein weiteres hinzuzufügen wird abgelehnt.T-6: Ein Warenkorb von 55,00 €: Die Lieferung ist kostenlos.Abgedeckt durch
A-1 Die Lieferung ist bei einer Bestellung ab 50,00 € einschließlich kostenlos.0
A-2 Unter 50,00 € kostet die Lieferung 4,90 €.0
A-3 Ein leerer Warenkorb kann nicht bestellt werden.0
A-4 Der Warenkorb enthält höchstens 10 Stück eines Produkts.0
Prüft000000

Test

Teste dich

1. Eine Anforderung ändert sich. Wo beginnt die Auswirkungsanalyse?
2. Die Grenze wird 60 €. Der Test „Ein Warenkorb von 120,00 €: Die Lieferung ist kostenlos“ steht in der Auswirkungsanalyse. Heißt das, dass er sich ändert?
3. Was ist die Baseline?
4. Wer genehmigt die Änderung der Grenze für kostenlose Lieferung?
5. Warum behält eine Anforderung ihre alte Version, nachdem sie geändert wurde?

Erstellt von Ivo Gergov im Rahmen der Kampagne von Evo Tech für zugängliche Programmierausbildung ·