Bei der Überprüfung der Anforderungsspezifikation welche "Todsünden" müssen angegangen werden?

7

Bei der Überprüfung der Anforderungsspezifikation (einschließlich funktionaler, nichtfunktionaler Anforderungen, Einschränkungen usw.), egal wie klein oder groß sie ist, sind es die "Todsünden", auf die die Autoren achten müssen?

Bitte listen Sie nicht mehr als 7 wesentliche Dinge auf (in der Reihenfolge der abnehmenden Schwere), die in der Anforderungsspezifikation gemacht (oder nicht getan) haben nachteilige Auswirkungen auf die Qualität des Softwareprodukts. Weniger als 7 ist vollkommen in Ordnung.

    
Vlad Gudim 09.10.2008, 10:47
quelle

17 Antworten

12

OK, das ist mehr als 7, aber gute Anforderungen haben die folgenden Attribute:

  • Einzigartig Gibt es noch andere? Anforderungen, die ähnlich sind?
  • Identifizierbar , Kann die Anforderung muss eindeutig identifiziert werden? Kann es während Ihres gesamten Entwicklungsprozesses nachvollzogen werden?
  • Vollständig Fehlt etwas oder Vergessene? Ist es gründlich? Macht es enthalten Sie alles Notwendige, um zu machen steht es alleine?
  • Genau . Ist es richtig? Definiert es richtig das Tor? Gibt es irgendwelche Fehler?
  • Eindeutig . Ist die Beschreibung genau und nicht vage? Gibt es eine einzige Interpretation? Ist es leicht zu lesen und zu verstehen?
  • Konsistent . Ist die Beschreibung von das Feature geschrieben, so dass es steht nicht im Widerspruch zu anderen Elementen in die Spezifikation?
  • Relevant . Ist die Aussage notwendig? zur Funktion? Ist es extra Informationen, die weggelassen werden sollten? Ist es nachvollziehbar zu einem ursprünglicher Kundenbedarf?
  • Machbar Kann es sein implementiert mit den verfügbaren Personal, Werkzeuge und Ressourcen innerhalb des angegebenen Budgets und Zeitplan?
  • Code-frei . Ist die Spezifikation bleibe bei der Definition des Produktes und nicht das zugrundeliegende Softwaredesign, Architektur und Code?
  • Testbar Kann es getestet werden? Ist genug Informationen vorausgesetzt, dass ein Tester könnte Tests erstellen, um zu überprüfen, ob die Anforderung erfüllt ist?
  • Priorisiert Ist es mehr oder? weniger wichtig als andere Anforderungen?
  • Verwendet aktive Voice . Macht der Spezifikation verwenden Sie die aktive Stimme? Passive Stimme wird nicht immer angegeben wer oder was führt die Aktion aus.
  • Kategorisiert Ist die Anforderung logisch gruppiert mit ähnlich Anforderungen? Mögliche Kategorien sind: Verhalten, Leistung, Schnittstelle, Datenstrukturen / Elemente, Implementierung, Compliance / Qualität, Operational (Zuverlässigkeit, Sicherheit, Sicherheit), abgeleitet / entwickelt.

Ein anständiges Anforderungsverfolgungstool kann einige der oben genannten Funktionen wie identifizierbar, priorisiert, kategorisiert automatisieren / durchsetzen, aber nur eine Überprüfung durch das Team kann den Rest überprüfen. Der Schlüssel liegt darin, Ihr Team hinsichtlich dieser Attribute zu schulen, indem Sie sowohl gute als auch schlechte Beispiele von Anforderungen lesen und einen effizienten Überprüfungsprozess einrichten, der die Anforderungen früh genug in Ihrem Lebenszyklus überprüft, um Auswirkungen auf die nachgelagerten Aktivitäten zu haben / p>     

Patrick Cuff 09.10.2008, 11:33
quelle
2

Fehlende Anforderungen - Viel schwieriger zu fangen. Durch das Trennen der Anforderungen in klare Abschnitte (z. B. Sicherheit, Leistung, Styling usw.) kann dies leichter erkannt werden.

    
Morphio 09.10.2008 11:03
quelle
2

Features, Zeit, Qualität - wählen Sie zwei. Stellen Sie sicher, dass die Anforderungen nicht alle drei auf Ihr Team anwenden.

Schieben Sie Anforderungen zurück, die versuchen, Ihren Prozess zu steuern.

Fordern Sie von Anfang an eine klare Priorisierung an.

Bestehen Sie auf klare Annahmekriterien für jede Anforderung.

    
Franci Penov 09.10.2008 11:04
quelle
1

Die Anforderungen müssen spezifisch und eindeutig sein im Hinblick darauf, was benötigt wird, aber weniger darauf, wie die Anforderungen zu erfüllen sind.

    
Michael Haren 09.10.2008 10:50
quelle
1

Annahmen treffen - überprüfen Sie, ob alles, was wie eine Annahme aussieht, tatsächlich verifiziert wurde.

    
Morphio 09.10.2008 10:56
quelle
1

Schlecht formulierte Sätze, die mehr als eine Anforderung enthalten. Trenne sie irgendwo heraus, um sie klarer und einfacher zu machen als getan.

    
Morphio 09.10.2008 10:58
quelle
1

Anforderungen, die nicht einfach als erfüllt zu überprüfen sind - Wechseln Sie in ein Formular, das beim Überprüfen leichter als erfüllt gekennzeichnet werden kann oder nicht.

    
Morphio 09.10.2008 11:00
quelle
1

Die Anforderung spezifiziert nicht, wer / was die Sache macht.

%Vor%

Bedeutet das, dass das System etwas tut, oder der Benutzer?

    
WW. 09.10.2008 11:05
quelle
1

Das Schlimmste, das ich in einem Projekt gesehen habe, für das ich codiert habe: -

%Vor%

Erstens ist eine Anforderung mit "wie erforderlich" darin dumm. Diese eine Zeile muss 400.000 $ gekostet haben. Der Kunde zeigte darauf und sagte, dass es dort steht, dass du bla, bla, bla tun wirst.

    
WW. 09.10.2008 11:06
quelle
1

Über stringent - Wenn möglich, relevante Toleranzen angeben.

    
Morphio 09.10.2008 11:07
quelle
1

Mehrdeutige Anforderungen sind schlecht.

Unüberprüfbare und nicht quantifizierbare Anforderungen verdoppeln sich.

    
Ilya Kochetov 09.10.2008 11:09
quelle
1

Natürlich hängt alles davon ab, welche Art von Anforderung Sie erhalten. Ich bin typische Gui oder Web-Anwendung, Batch-Prozesse und

gewohnt
  • Legen Sie zuerst die Standars auf, die nicht in jeder Spezifikation definiert sein müssen, beziehen Sie sich auf sie
  • Mach es so klein wie möglich - selten kann man ein 200-seitiges Dokument lesen und alles im Kopf behalten
  • Seien Sie spezifisch, messbar, konkret
  • Machen Sie Beispiele (Zeichnungen, Buchhaltungsschriften)
  • Erklären Sie den Zweck vor der Beschreibung der Funktion
  • beinhaltet Leistungsstandards, Ausfallsicherheitsstandards, Implementierungsanweisungen, Dokumentation für erforderliche Operationen

Ich habe auch einen einzigen Ratschlag für den Reviewer: kenne dein Thema

Sie müssen sehr genaue Kenntnisse über den Kontext der Anforderung, den spezifischen Kundenbedarf, die technische Umgebung und vielleicht die wichtigsten Personen haben, an die diese Anforderung gestellt wird und welche Ebene des globalen Verständnisses sie haben.

Ich habe sehr schlechte Erfahrungen in Projekten mit vielen Leuten gemacht, die die Spezifikationen überprüft haben, da ihr individuelles Wissen sehr oberflächlich war. Sie erhalten das Feedback auf der gleichen Ebene, meist formale Korrekturen, aber die tiefgehenden Mängel der Spezifikation werden erst sehr spät im Projekt entdeckt.

    
Oli 09.10.2008 11:13
quelle
1

Vermeide "Wieselworte" - jede Sprache, die aus ihrem Kontext gerissen und schlecht gemacht werden kann, ist schlecht.

Stellen Sie sicher, dass alles absolut klar ist: vage == Bad Thing (tm)

    
warren 09.10.2008 11:38
quelle
0

Meine Empfehlung und was ich vor einem neuen Projekt immer mache ist die Checkliste zu überprüfen Seite 42,43 von Steve McConnells Code Complete

    
Robert Gould 09.10.2008 10:57
quelle
0

Die allwissende Wikpedia hat eine gute Zusammenfassung für die Anforderungen Ссылка . Ich würde sagen, dass unter diesen Punkten die fehlende Überprüfbarkeit am häufigsten vorkommt. Das große Ganze zu verstehen ist wichtig im Leben, aber Sie müssen Dinge explizit in Ihren Anforderungen formulieren, z. Das System soll schnell reagieren. Stattdessen muss das System auf alle Anfragen in weniger als 2 Sekunden reagieren.

    
Matt Brown 09.10.2008 11:09
quelle
0
  • Trennung von funktionellen, architektonischen, Schnittstellen-, nicht-funktionalen Anforderungen.
  • Verwendung einer eindeutigen und konsistenten Notation zur Beschreibung von Entitäten
  • Löschen Sie die Ein- und Ausstiegskriterien für die Anwendungsfälle
  • Verfügen über Flussdiagramme (Mindmaps dienen demselben Zweck wie UML und sind einfacher zu zeichnen)
  • Definieren Sie den Umfang in klaren Begriffen, was abgedeckt ist und was nicht ist und wo Sie diejenigen finden können, die noch unbekannt sind
  • Verfügen über eine Rückverfolgbarkeitsmatrix
questzen 09.10.2008 11:22
quelle
0

Sie könnten einige Anforderungsmanagement und CMMI Dokumente.

Besuchen Sie auch die Anforderungscheckliste und googlen Sie nach "Kriterien für gute Anforderungen".

Diese wurden speziell entwickelt, um Prozesse zu erstellen, die bei der Softwareentwicklung helfen.

    
Marcin Gil 09.10.2008 11:40
quelle