Hier sind einige Einblicke in den Wert des Findens Anforderungsmängel  vor dem Design oder der Codierung.

Für ein Softwareentwicklungsteam ist es sehr wertvoll, Fehler frühzeitig zu erkennen. Noch besser ist es, Defekte gänzlich zu verhindern. Ausgezeichnete Anforderungen sind eine wirksame Form von Fehlervermeidung und Nacharbeitsverhinderung. Eine mehrdeutige Anforderung kann zu erheblicher Aufwandsverschwendung führen.

Fehler treten auf, bevor mit der Codierung begonnen wird

Verfeinerung der Softwareanforderungen – Anforderungsmängel frühzeitig erkennenEs treten Mängel in Anforderungen und Architektur auf, bevor mit der Codierung überhaupt begonnen wird. Stellen wir uns vor, wir sind in einem Versicherungsunternehmen tätig und die Geschäftsleute haben entschieden, dass ein neues (oder geändertes) System erforderlich ist. Sie machen sich daran, zu beschreiben, was sie wollen, und es zur Schätzung an die IT weiterzuleiten. Solche Anforderungen werden oft als User Stories geschrieben, typischerweise in einem einheitlichen Format: „Als „…“ muss ich „….“ "so dass" …

Sobald die Feder zu Papier gebracht wird, tauchen Unklarheiten und Auslassungen auf, das ist unvermeidlich. Diese Fehler in schriftlichen Anforderungen können (wenn sie unentdeckt bleiben) später im Projekt zu kostspieligen Nacharbeiten führen. Die Kosten solcher Mängel sind nicht unerheblich, das Vereinigte Königreich wird voraussichtlich 37 Milliarden Pfund durch gescheiterte (agile) IT-Projekte verlieren (Referenz). Um diese vermeidbaren Kosten zu vermeiden, müssen wir sicherstellen, dass die Anforderungen so eindeutig und vollständig wie möglich sind. Selbst den erfahrensten Anforderungsautoren werden unbeabsichtigte Fehler unterlaufen, und es ist nicht so einfach, sie richtig zu machen. Hier kann nun Automatisierung helfen.

Die Kosten für minderwertige Softwareanforderungen bei der Generierung von Nacharbeiten

Vorteile der frühzeitigen Erkennung von Anforderungsfehlern

Die Bewertung einer frühzeitigen Erkennung von Anforderungsfehlern ist weder eindeutig noch endgültig. Der Hauptgrund dafür ist, dass es davon abhängt, wie spät (im Entwicklungsprozess) diese Fehler sonst möglicherweise entdeckt worden wären. Wenn ein Fehler erst zu einem viel späteren Zeitpunkt gefunden wird, ist der Reparaturaufwand erheblich höher und kostet Tausende. Wenn nur eine Stufe des SDLC früher gefunden wird, können möglicherweise einige Stunden Aufwand eingespart werden. Im Durchschnitt schätzen wir, dass für jeden frühzeitig entdeckten Anforderungsdefekt bescheidene 4 Personalstunden eingespart werden – etwa $200.

Typischer Aufwand für die Suche, Behebung und Überprüfung der Behebung von:

A Anforderungen mangelhaft gefunden während der Anforderungen Etappe: 20 Minuten – 4 Stunden

A Anforderungen mangelhaft gefunden während der Design Bühne: 1-10 Stunden

A Anforderungen mangelhaft gefunden während der Entwicklung Etappe: 2 – 15 Stunden

A Anforderungen mangelhaft gefunden während der Systemtest Etappe: 4 Stunden aufwärts

A Anforderungen mangelhaft gefunden während der Produktion Etappe: 8 Stunden aufwärts

Beachten Sie, dass dies lediglich die zusätzliche Arbeit zur Behebung des Problems darstellt und nicht die Folgen des Fehlers behandelt.

Kosten für in der Produktion festgestellte Anforderungsfehler

Wenn in der Produktion ein Anforderungsfehler festgestellt wird, wird dieser normalerweise von einem Benutzer gemeldet, und wir müssen Folgendes berücksichtigen:

  • Wie viele Benutzer waren betroffen, bevor es uns gemeldet wurde?
  • Wie viele weitere Benutzer werden betroffen sein, bis das Problem behoben werden kann?
  • Wie hoch sind die Kosten für die Bereitstellung einer Problemumgehung für die Betroffenen?
  • Welche Folgen hat dieser Mangel für Kunden und unser Unternehmen?
  • Der Folgeeffekt (Opportunitätskosten), der entsteht, wenn die Aufmerksamkeit auf dieses Problem statt auf andere Möglichkeiten gelenkt wird.

Die Summe dieser Kosten übersteigt in der Regel die Reparaturkosten um ein Vielfaches. In einigen extremen Fällen kann das Überleben eines Unternehmens durch einen einzigen Fehler in einer großen kundenorientierten Anwendung gefährdet sein. zB ein Bankensystem, das den Überblick über die Kontostände verloren hat

Sicherheitsmängel – ein Sonderfall

Sicherheitsmängel, die erst bei der Produktion entdeckt werden, sind immer teuer zu beheben, können häufig rechtliche Ansprüche gegen das Unternehmen nach sich ziehen und werden in der Regel gemessen Millionen von Dollar. Das frühzeitige Erkennen von Sicherheitsmängeln (insbesondere in der Anforderungsphase) kann daher möglicherweise Vorfälle vermeiden, die möglicherweise Millionen von Dollar kosten.

Der Nutzen von ScopeMaster beim Auffinden von Anforderungsfehlern

Wenden wir uns dem Wert zu, den ScopeMaster bei der frühzeitigen Aufdeckung von Anforderungsmängeln bietet. Tatsächlich bietet der Einsatz von ScopeMaster für Ihre Anforderungen mehrere Vorteile:

  1. Sehr schneller Weg Qualitätssicherung Anforderungen
  2. Findet (einige) potenziell fehlende Anforderungen – automatisch. (Denken Sie daran: Eine fehlende Anforderung ist ein Mangel).
  3. Durch die Verbesserung der Anforderungen wird es an anderer Stelle, bei Zeitplänen sowie bei Entwicklung und Tests weniger Fehler geben Die Kosten werden sinken.
  4. Verbesserung der Klarheit der Anforderungen, reduziert potenzielle Zwietracht zwischen den Teammitgliedern aufgrund unklarer Anforderungen.
  5. Erzeugt ohne manuellen Aufwand eine automatisierte funktionale Größenmetrik, die zur Angabe verwendet werden kann mehr Kontrolle von dem Projekt.
  6. Verbessert die Geschwindigkeit der funktionellen Größenmessung um 200-400% (für Projekte, die die funktionale Größe messen)
  7. Ändert die von Anforderungsautoren verwendete Sprache so, dass dies im Laufe der Zeit der Fall sein wird Anforderungsmängel verhindern vor der Einführung.

Diese sind nicht alle gleichwertig und ihre relative Bedeutung variiert von Projekt zu Projekt. In vielen Fällen ist vielleicht der letzte Punkt der wichtigste. Wenn Sie Mängel verhindern können, indem Sie die Anforderungen präziser und vollständiger spezifizieren, müssen Sie später weniger nach Mängeln suchen.

Während die potenziellen Vorteile der Verwendung von ScopeMaster bei einem Projekt in die Millionen gehen könnten, ist ein bescheidener $200 / Defekt eine sehr konservative Schätzung wie wichtig es ist, den Mangel frühzeitig aufzudecken.

Kürzlich mit einem Kunden geteilter Rat:
„Während der Anforderungsphase finden Mängel dauert länger als Festsetzung Zusammengenommen benötigen wir normalerweise 1 Stunde für die Suche und Reparatur (oder 4–10 Minuten mit ScopeMaster).
Wenn beim Systemtest Anforderungsmängel festgestellt werden, Finden, Reparieren und Überprüfen sind ALLE sehr zeitaufwändig. (4-8 Stunden insgesamt wären ein angemessener Bereich). Rechnen Sie also damit, dass die spätere Behebung jedes Defekts mindestens viermal teurer ist. Bei diesem Projekt handelt es sich nicht um die Entwicklung einer App, bei der die Entwickler ein allgemeines Gespräch über die Benutzerbedürfnisse führen und dann die Details erraten können. Diese Anforderungen, die beschreiben, wer was und wann bezahlt, müssen spezifisch und korrekt sein.
Aufwand, frühzeitig zu finden und zu beheben
  • Das Auffinden von Anforderungsmängeln in der Anforderungsphase erfolgt normalerweise im Gespräch mit drei bis vier Freunden. Danach dauert es ein paar Minuten, bis das Problem behoben ist. 15 Minuten Amigos-Diskussion sind 1 Stunde Personalzeit. (Viele davon konnten mit ScopeMaster innerhalb von 4–10 Minuten gefunden und behoben werden.)

Finden und Beheben von Anforderungsfehlern beim Systemtest

  • Das Auffinden der Anforderungsmängel in der Systemtestphase dauert möglicherweise immer noch nur eine Stunde, die Behebung wird jedoch erheblich länger dauern, weil:
  • Wenn im Systemtest ein (Anforderungsfehler) festgestellt wird, muss dieser umfassend dokumentiert werden. Anschließend ist eine außerordentliche Koordination der Tester und Entwickler von KMU erforderlich, um sie zu selektieren und als tatsächlichen Anforderungsfehler zu verifizieren. Anschließend wird die Anforderung schließlich korrigiert.
  • Die Implementierung des Fixes mag eine bescheidene Konfigurationsarbeit sein, aber die neuen Testebenen rund um diesen Fehler und alle damit verbundenen Funktionen, die ebenfalls erneut einem Regressionstest unterzogen werden müssen, sind nicht trivial.
  • Wenn ein Anforderungsfehler zu spät entdeckt wird, besteht eine höhere Wahrscheinlichkeit fehlerhafter Korrekturen. dh. Ein Fehler verursacht einen oder zwei weitere (jeder mit seiner eigenen Dokumentation, Triage und seinem eigenen Fix-Verify-Zyklus).
  • Es besteht die menschliche Tendenz, die Anforderungen in späteren Phasen nicht mehr in Frage zu stellen. Tester neigen dazu, die Anforderungen als korrekt zu akzeptieren, und es ist wahrscheinlicher, dass sie die Einhaltung der Anforderungen durch die Codierung/Konfiguration in Frage stellen, nicht die Anforderungen selbst. Die Folge ist, dass Fehler (verursacht durch schlechte Anforderungen) mit größerer Wahrscheinlichkeit in der Produktion landen, mit sehr schlimmen Folgen.“