Gute Anforderungen planen

Was macht also eine gute Anforderung aus? Eine gute Anforderung sollte wertvoll und umsetzbar sein. Es sollte einen Bedarf definieren und einen Weg zu einer Lösung bieten. Jeder im Team sollte verstehen, was es bedeutet. Die Anforderungen variieren in der Komplexität.

  • Ein gutes Anforderungsdokument kann Teil einer Gruppe mit allgemeinen Anforderungen sein, die in Unteranforderungen unterteilt sind.

  • Sie können auch sehr detaillierte Spezifikationen enthalten, die eine Reihe von funktionalen Anforderungen enthalten, die das Verhalten oder die Komponenten des Endprodukts beschreiben.

  • Gute Anforderungen müssen präzise und spezifisch sein und die Frage beantworten: "Was brauchen wir?" Anstatt: "Wie erfüllen wir ein Bedürfnis?"

  • Gute Anforderungen stellen sicher, dass alle Beteiligten ihren Teil des Plans verstehen. Wenn Teile unklar sind oder falsch interpretiert werden, kann das Endprodukt defekt sein oder versagen.

Das Verhindern von Fehlern oder Fehlinterpretationen von Anforderungen kann unterstützt werden, indem während des gesamten Prozesses kontinuierlich Feedback vom Team erhalten wird, wenn sich die Anforderungen ändern. Die kontinuierliche Zusammenarbeit und das Buy-in mit allen ist ein Schlüssel zum Erfolg.

Anforderungserfassung und -analyse

Eine Anforderung ist eine Bedingung oder Fähigkeit, die ein Stakeholder benötigt, um ein Problem zu lösen oder ein organisatorisches Ziel zu erreichen. eine Bedingung oder Fähigkeit, die von einem System erfüllt oder besessen werden muss.

Die Anforderungsanalyse in der Softwareentwicklung umfasst diejenigen Aufgaben, die zur Bestimmung der Anforderungen oder Bedingungen für ein neues oder geändertes Produkt unter Berücksichtigung der möglichen widersprüchlichen Anforderungen verschiedener Interessengruppen, zur Analyse, Dokumentation, Validierung und Verwaltung von Software- oder Systemanforderungen erforderlich sind.

Die Anforderungen sollten sein -

  • Documented
  • Actionable
  • Measurable
  • Testable
  • Traceable

Die Anforderungen sollten sich auf identifizierte Geschäftsanforderungen oder -chancen beziehen und bis zu einem Detaillierungsgrad definiert werden, der für das Systemdesign ausreicht.

Ein Business Analyst sammelt Informationen, indem er die vorhandenen Systeme beobachtet, die vorhandenen Verfahren untersucht, mit den Kunden und den Endbenutzern diskutiert. Der Analyst sollte auch über einfallsreiche und kreative Fähigkeiten verfügen, wenn kein funktionierendes System vorhanden ist. Die Analyse der gesammelten Anforderung, um die fehlenden Glieder zu finden, ist eine Anforderungsanalyse.

Ansatz erfragen

Stellen Sie dem Geschäftsexperten, dem Entwicklungsleiter und dem Projektsponsor die folgenden Fragen, um die Ziele zu ermitteln:

  • Welche Geschäftsziele des Unternehmens wird dieses Projekt erreichen?

  • Warum machen wir dieses Projekt jetzt?

  • Was passiert, wenn wir es später tun?

  • Was ist, wenn wir es überhaupt nicht tun?

  • Wer wird von diesem Projekt profitieren?

  • Halten die Menschen, die davon profitieren werden, es für die wichtigste Verbesserung, die derzeit möglicherweise erzielt werden kann?

  • Sollten wir stattdessen ein anderes Projekt machen?

Mögliche Ziele könnten sein, die Kosten zu senken, den Kundenservice zu verbessern, den Arbeitsablauf zu vereinfachen, veraltete Technologien zu ersetzen, eine neue Technologie zu testen und viele andere. Stellen Sie außerdem sicher, dass Sie genau verstehen, wie das vorgeschlagene Projekt zur Erreichung des festgelegten Ziels beiträgt.

Verschiedene Arten von Anforderungen

Die häufigsten Arten von Anforderungen, an denen ein Business Analyst interessiert ist, sind folgende:

Geschäftsanforderungen

Geschäftsanforderungen sind die kritischen Aktivitäten eines Unternehmens, die ausgeführt werden müssen, um die organisatorischen Ziele zu erreichen und gleichzeitig lösungsunabhängig zu bleiben. Ein Business Requirements Document (BRD) beschreibt die Geschäftslösung für ein Projekt einschließlich der Dokumentation der Kundenbedürfnisse und -erwartungen.

Benutzeranforderungen

Benutzeranforderungen sollten die spezifischen Anforderungen angeben, die der Benutzer von Software erwartet / wünscht, die aus dem Softwareprojekt erstellt werden soll. Eine Benutzeranforderung sollte überprüfbar, klar und präzise, ​​vollständig, konsistent, nachvollziehbar und lebensfähig sein.

Das Benutzeranforderungsdokument (URD) ​​oder die Benutzeranforderungsspezifikation ist ein Dokument, das normalerweise in der Softwareentwicklung verwendet wird und das angibt, was der Benutzer von der Software erwartet.

System Anforderungen

Die Systemanforderungen befassen sich mit der Definition der Softwareressourcenanforderungen und -voraussetzungen, die auf einem Computer installiert werden müssen, um ein optimales Funktionieren einer Anwendung zu gewährleisten.

Funktionale Anforderungen

Funktionale Anforderungen erfassen und spezifizieren das spezifische beabsichtigte Verhalten des zu entwickelnden Systems. Sie definieren Dinge wie Systemberechnungen, Datenmanipulation und -verarbeitung, Benutzeroberfläche und Interaktion mit der Anwendung sowie andere spezifische Funktionen, die zeigen, wie Benutzeranforderungen erfüllt werden. Weisen Sie jeder Anforderung eine eindeutige ID-Nummer zu.

Nicht-funktionale Anforderungen

Die nicht funktionale Anforderung gibt Kriterien an, anhand derer der Betrieb eines Systems beurteilt werden kann und nicht bestimmte Verhaltensweisen. Die Systemarchitektur spricht über den Plan zur Implementierung nicht funktionaler Anforderungen.

Nicht funktionale Anforderungen sprechen dafür, wie das System aussehen soll, oder es kann als „System soll sein“ bezeichnet werden. Nichtfunktionale Anforderungen werden als Eigenschaften des Systems bezeichnet.

Übergangsanforderungen

Übergangsanforderungen beschreiben Funktionen, die die Lösung erfüllen muss, um den Übergang vom aktuellen Status des Unternehmens in einen gewünschten zukünftigen Status zu erleichtern. Diese werden jedoch nach Abschluss dieses Übergangs nicht mehr benötigt.

Sie unterscheiden sich von anderen Anforderungsarten, weil sie immer vorübergehender Natur sind und erst entwickelt werden können, wenn sowohl eine bestehende als auch eine neue Lösung definiert sind. Sie umfassen in der Regel die Datenkonvertierung aus vorhandenen Systemen, Qualifikationslücken, die behoben werden müssen, und andere damit verbundene Änderungen, um den gewünschten zukünftigen Status zu erreichen. Sie werden durch Lösungsbewertung und -validierung entwickelt und definiert.

Rückverfolgbarkeit und Änderungsmanagement

Die Rückverfolgbarkeit von Anforderungen ist eine Möglichkeit, alle Ihre Anforderungen von der ersten Ideengenerierung bis zur Testphase zu organisieren, zu dokumentieren und zu verfolgen.

Die Requirements Trace Capability Matrix (RTM) bietet eine Methode zur Verfolgung der funktionalen Anforderungen und ihrer Implementierung während des Entwicklungsprozesses. Jede Anforderung wird zusammen mit der zugehörigen Abschnittsnummer in die Matrix aufgenommen.

Im Verlauf des Projekts wird das RIM aktualisiert, um den Status jeder Anforderung widerzuspiegeln. Wenn das Produkt für Systemtests bereit ist, listet die Matrix jede Anforderung auf, welche Produktkomponente sie anspricht und welcher Test überprüft, ob sie korrekt implementiert ist

Fügen Sie Spalten für jede der folgenden Optionen in das RTM ein -

  • Anforderungsbeschreibung
  • Anforderungsreferenz in FRD
  • Verifikationsverfahren
  • Anforderungsreferenz im Testplan

Example- Verbinden Sie die Punkte, um die Beziehungen zwischen Elementen in Ihrem Projekt zu identifizieren. Es ist ein Verbinder der gemeinsamen nachgeschalteten Strömung.

Ideenanforderungen Designtest Geschäftsziele

Sie sollten in der Lage sein, jede Ihrer Anforderungen auf das ursprüngliche Geschäftsziel zurückzuführen.

Durch Nachverfolgen von Anforderungen können Sie die Welligkeitseffektänderungen identifizieren, feststellen, ob eine Anforderung abgeschlossen wurde und ob sie ordnungsgemäß getestet wird. Das Rückverfolgbarkeits- und Änderungsmanagement bietet Managern Sicherheit und die Transparenz, die erforderlich ist, um Probleme zu antizipieren und eine kontinuierliche Qualität sicherzustellen.

Qualitätssicherung

Wenn die Anforderungen beim ersten Mal richtig geliefert werden, kann dies zu einer besseren Qualität, schnelleren Entwicklungszyklen und einer höheren Kundenzufriedenheit mit dem Produkt führen. Das Anforderungsmanagement hilft Ihnen nicht nur, es richtig zu machen, sondern hilft Ihrem Team auch, während des gesamten Entwicklungsprozesses Geld und viele Kopfschmerzen zu sparen.

Durch präzise, ​​spezifische Anforderungen können Sie Probleme frühzeitig erkennen und beheben, anstatt später, wenn die Behebung viel teurer ist. Darüber hinaus kann es bis zu kosten100 times mehr, um einen Fehler später im Entwicklungsprozess zu korrigieren, nachdem er codiert wurde, als um ihn frühzeitig zu korrigieren, während eine Anforderung vorliegt.

Durch die Integration des Anforderungsmanagements in Ihren Qualitätssicherungsprozess können Sie Ihrem Team helfen, die Effizienz zu steigern und Nacharbeiten zu vermeiden. Darüber hinaus treten bei Nacharbeiten die meisten Kostenprobleme auf.

Mit anderen Worten, Entwicklungsteams verschwenden einen Großteil ihres Budgets für Anstrengungen, die beim ersten Mal nicht korrekt ausgeführt werden. Ein Entwickler codiert beispielsweise eine Funktion basierend auf einem alten Spezifikationsdokument, um später zu erfahren, dass sich die Anforderungen für diese Funktion geändert haben. Diese Art von Problemen kann mit effektiven Best Practices für das Anforderungsmanagement vermieden werden.

Zusammenfassend kann Anforderungsmanagement wie eine komplexe Disziplin klingen, aber wenn Sie es auf ein einfaches Konzept reduzieren, geht es darum, Teams bei der Beantwortung der Frage zu unterstützen: "Versteht jeder, was wir aufbauen und warum?" Von den Geschäftsanalysten, Produktmanagern und Projektleitern über die Entwickler, QS-Manager und Tester bis hin zu den beteiligten Stakeholdern und Kunden ist die Hauptursache für das Scheitern eines Projekts häufig ein Missverständnis des Projektumfangs.

Wenn alle zusammenarbeiten und den gesamten Kontext und die Sichtbarkeit der Diskussionen, Entscheidungen und Änderungen im Zusammenhang mit den Anforderungen während des gesamten Lebenszyklus des Projekts haben, ist der Erfolg konstant und Sie behalten die kontinuierliche Qualität bei. Darüber hinaus ist der Prozess für alle Beteiligten reibungsloser und mit weniger Reibung und Frustration verbunden.

Note- Untersuchungen haben gezeigt, dass Projektteams 50-80% der Projektfehler beseitigen können, indem sie die Anforderungen effektiv verwalten. Laut dem Software-Engineering-Institut von Carnegie Mellon entfallen 60 bis 80 Prozent der Kosten für die Softwareentwicklung auf Nacharbeiten.

Anforderungsabmeldung erhalten

Die Anforderungsunterzeichnung formalisiert die Vereinbarung der Projektbeteiligten, dass der Inhalt und die Darstellung der Anforderungen, wie dokumentiert, korrekt und vollständig sind. Eine formelle Vereinbarung verringert das Risiko, dass ein Stakeholder während oder nach der Implementierung eine neue (bisher nicht angetroffene) Anforderung einführt.

Das Abrufen der Anforderungsfreigabe umfasst in der Regel eine persönliche abschließende Überprüfung der Anforderungen, wie dokumentiert, mit jedem Projektbeteiligten. Am Ende jeder Überprüfung wird der Stakeholder gebeten, das überprüfte Anforderungsdokument offiziell zu genehmigen. Diese Genehmigung kann entweder physisch oder elektronisch aufgezeichnet werden.

Das Abrufen der Anforderungsfreigabe ist normalerweise die letzte Aufgabe in der Anforderungskommunikation. Der Business Analyst benötigt die Ausgabe der Überprüfung (en) der formalen Anforderungen, einschließlich der Berücksichtigung von Kommentaren oder Einwänden, die während des Überprüfungsprozesses erhoben wurden.