Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für...

16
Best Practices für die Anforderungsdefinition Juli 2015 von Kevin Parker, Vice President of Worldwide Marketing, Serena Software (jetzt Teil von Micro Focus) White Paper

Transcript of Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für...

Page 1: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

Best Practices für die AnforderungsdefinitionJuli 2015

von Kevin Parker, Vice President of Worldwide Marketing, Serena Software (jetzt Teil von Micro Focus)

White Paper

Page 2: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

Inhaltsverzeichnis Seite

Gibt es überhaupt noch Anforderungen? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Anforderungen sind ein Prozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

Best Practices für die Verwaltung von Anforderungen . . . . . . . . . . . . . . . . . . . . 5

Kritische Attribute einer Anforderungsmanagementlösung . . . . . . . . . . . . . . . . 6Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Page 3: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

1www.microfocus.com

Gibt es überhaupt noch Anforderungen?

Eine Anforderung definiert genau eine – und wirklich nur eine –Verhaltensweise, die für

das Unternehmen gewollt oder sogar erforderlich ist, um ein gestecktes Ziel zu erfüllen. Die

Anforderung muss auf messbare Weise getestet werden können. Sie muss vollständig sein

und alle erforderlichen Informationen beinhalten. Sie darf keiner anderen Anforderung

widersprechen und muss die rechtlichen Rahmenbedingungen einhalten. Sie muss

mindestens einen Stakeholder und einen Sponsor haben und wenigstens einem Benutzer

einen Vorteil bringen .

Eine Anforderung definiert eine Eigenschaft, die für das Unternehmen von essentieller Bedeutung ist Die Definition ist klar festgelegt. Der Bereich der Methodologien, die für das Sammeln und

Verwalten von Anforderungen eingesetzt werden, ist variabler als bei jeder anderen Disziplin

hinsichtlich der Verwaltung des Geräte-Lebenszyklus. Einige der Unterschiede ergeben

sich aus dem Maß der erforderlichen Spezifität für ein bestimmtes Projekt – aufgrund von

Produktumfang, Anwendungskomplexität oder Teamgröße und Verstreuung. Innerhalb

eines Unternehmens gibt es eventuell Teams, die Anforderungsperfektion mit einer

detaillierten Prüfung durch Stakeholder benötigen, während andere Teams eine einfache

Idee nehmen und diese so oft überarbeiten und verfeinern, dass am Ende gerade genug

Verständnis vorhanden ist, um mit der Entwicklung der Lösung zu beginnen.

Der IEEE definiert Anforderungen als „… die Bedingungen oder Fähigkeiten, die ein System

(oder eine Systemkomponente) erfüllen muss, um einen Vertrag, einen Standard, eine

Spezifikation oder eine förmlich auferlegte Beschränkung einzuhalten …“

Karl Wiegers1, der führende Experte auf dem Gebiet der Anforderungsdefinition, reduziert

die Definition auf die Eigenschaften, über die ein Produkt verfügen muss, um für

einen Stakeholder einen Wert zu haben. Sämtliche Arbeiten im Softwareentwicklungs-

Lebenszyklus2 beginnen mit einer Idee. Bei dieser Idee kann es sich um ein neues System

handeln, das entwickelt werden soll, um eine Verbesserungsanfrage für ein bestehendes

System oder um die Reparatur von etwas, das nicht wie gewollt funktioniert.

Diese nennen wir passend neue Systeme, Verbesserungen oder Fehlerbehebungen. Wir

kategorisieren, priorisieren und organisieren diese in Veröffentlichungen, Versionen und Patches.

Neue Systeme: Neue Systeme oder neue Funktionen für ein bestehendes System sind für gewöhnlich größere Projekte in einem Unternehmen, was sie auch zu den teuersten macht. Deshalb ist es auch schwieriger, die Finanzierung für diese Projekte zu erhalten. Die Kostenveranschlagung, Planung und Ausführung sind schwieriger, da es viele unbekannte Variablen gibt.

Beispiel: Es soll eine neue Funktion entwickelt werden, damit der Produktkatalog auch auf Mobilgeräten angezeigt werden kann.

Innerhalb eines Unternehmens gibt es eventuell Teams, die Anforderungsperfektion mit einer detaillierten Prüfung durch Stakeholder benötigen, während andere Teams eine einfache Idee nehmen und diese so oft überarbeiten und verfeinern, dass am Ende gerade genug Verständnis vorhanden ist, um mit der Entwicklung der Lösung zu beginnen. __________

1 www.karlwiegers.com und http://en.wikipedia.org/wiki/Karl_Wiegers

2 Software-Lebenszyklus, siehe: https://de.wikipedia.org/wiki/Vorgehensmodell_zur_Softwareentwicklung

Page 4: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

2

White PaperBest Practices für die Anforderungsdefinition

Verbesserungen: Verbesserungen am bestehenden Code sind inkrementelle Maßnahmen mit niedrigeren Kosten und geringerem Risiko, deren Finanzierung meist leichter gesichert werden kann. Diese Projekte können kurz oder lang laufen. Die Kosten dafür können einfacher ermittelt werden, weil das Problem und die Lösung dafür bekannt sind.

Beispiel: Die Preise im Produktkatalog sollen außer in US-Dollar jetzt auch in Euro, Pfund und Yen angezeigt werden.

Fehlerbehebungen: Dies sind oft kleine Änderungen am bestehenden Code, die keine neue Funktionalität hinzufügen, sondern das Verhalten der aktuellen Funktionalität so ändern, dass sie die Erwartungen des Unternehmens erfüllt. Die meisten Fehlerbehebungen konzentrieren sich auf fehlerhaftes und für das Unternehmen schadhaftes Verhalten, aber manchmal wird damit auch das Verhalten so geändert, dass die Funktion besser oder schneller ausgeführt werden kann.

Beispiel: Bei der Bezahlung werden Steuern nur bei Inlandsverkäufen berechnet und nicht bei allen Verkäufen weltweit.

Beim Geräte-Lebenszyklus geht es darum, eine Idee zu nehmen und sie in eine Lösung

umzuwandeln. Bis zum Ziel ist es oft ein langer Weg. Tatsächlich ist es bereits ein

signifikanter Erfolg, die Idee überhaupt festzuhalten.

Anforderungen sind ein Prozess

Das Problem zu definieren, kann Minuten oder Monate dauern. Das hängt von vielen

Faktoren ab. Nachfolgend finden Sie nur einige der Dinge, die Unternehmen beim

Definieren eines Problems beachten:

Regulatorische und Konformitätsanforderungen

Sicherheit und Integrität der Daten

Zugriff und Authentifizierung

Markteinführungszeit

Verfügbarkeit kommerzieller Lösungen

Technische Komplexität

Return on Investment

Unterbrechung der Projektpläne

Verfügbarkeit von Ressourcen

Finanzierung

Leistungsanforderungen

Internationalisierungsanforderungen

Und all das muss man berücksichtigen, bevor man sich überhaupt fragen kann: „Was genau

wollen wir mit dieser Technologie eigentlich erreichen?“

Zehn Best Practices zur Erstellung großartiger Anforderungen:

1. Verwenden Sie Prototypen und Simulationen anstatt geschriebener Definitionen.

2. Teilen Sie Ideen mit möglichst vielen Stakeholdern, und sammeln Sie Feedback.

3. Verwenden Sie Techniken zur Gamifizierzung, um ausgeglichenes Feedback zu erhalten.

4. Jede Anforderung sollte testbar sein.

5. Jede Anforderung sollte sich auf eine Sache konzentrieren.

6. Verwalten Sie die Nachverfolgung von der Anfrage bis zur Implementierung.

7. Nutzen Sie Ablaufpläne, Anwendungsbeispiele, Pseudo-Code oder was auch immer für Sie klar verständlich ist.

8. Testen Sie alle Anforderungen, um deren Auswirkungen auf vorhandene und geplante Funktionen zu erkennen.

9. Passen Sie die Priorität der Projekte stets an die Prioritäten des Unternehmens an.

10. Kümmern Sie sich bei den Anforderungen um die Versionskontrolle und zeichnen Sie alle Änderungen auf.

Page 5: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

3www.microfocus.com

Schritt 1 – Ideenfindung und Erfassung der Nachfrage: Häufig sind mehrere

Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für

verschiedene Systeme. Einige Systeme sind für die Selbsthilfe eingerichtet und bei anderen ist

eine E-Mail oder ein Telefonanruf erforderlich. Nur allzu oft wird Microsoft Excel als Repository

für diese Anfragen verwendet. Die meisten Unternehmen verfügen über eine Möglichkeit,

Ideen von Mitarbeitern zu sammeln. Für gewöhnlich wird dafür ein „Ticket“-System genutzt,

das häufig als System für Änderungsanfragen (oder CR-System) bezeichnet wird. Diese werden

normalerweise vom Helpdesk (auch als Service-Desk bekannt) gehostet und verwaltet.

Die Sammlung von Ideen auf gleiche und nachverfolgbare Weise ist ein grundlegender

Bestandteil dieses Prozesses. Die Ideenfindung ist eher ein modernes Konzept und in vielen

Organisationen nicht genau definiert. In manchen Unternehmen ist dafür das Change

Control Review Board (CCRB) oder das Change Advisory Board (CAB) oder eine andere

Gruppe an Personen mit einem ähnlich klingenden Namen zuständig. Nur allzu oft wird

MS Excel als System zur Aufzeichnung verwendet, was die Kollaboration und Sichtbarkeit

äußerst problematisch macht.

Schritt 2 – Änderungsmanagement: Hier sieht man sich die einzelnen Ideen genauer

an und entscheidet, welche die höchste Priorität erhalten. Für gewöhnlich sind das die

wichtigsten, zeitkritischsten und Governance-kritischsten Ideen. Die Ideen werden

auf Durchführbarkeit untersucht und es werden Finanzierung, Ressourcenverteilung

und Zeitplan festgelegt, bevor die Genehmigung zur Entwicklung erteilt wird. Einige

wichtige Notfallanfragen dagegen werden sofort genehmigt, wenn sie sich massiv auf das

Unternehmen auswirken.

Dieses neuere Phänomen, das manchmal als Nachfragemanagement bezeichnet wird, wird

durch IT-Abteilungen vorangetrieben, deren Ausgaben vom Konzern genau unter die Lupe

genommen werden. Durch Nachfragemanagement soll sichergestellt werden, dass die

Projekte, an denen eine IT-Abteilung arbeitet, auch mit den Prioritäten des Unternehmens

übereinstimmen. CIOs sprechen häufig über „Ausrichtung“ oder „die Angleichung der IT-

Abteilung an das Unternehmen“. Damit beschreiben sie die Notwendigkeit, sicherzustellen,

dass missionskritische, für die Konformität unabdingbare Projekte zuerst und möglichst

schnell implementiert werden. Das Review Board kann diesen Prozess überwachen und

Prioritäten, Ziele und sogar Budgets festlegen.

Schritt 3 – Anforderungsermittlung: Dazu zählen das Sammeln und Aufzeichnen

von Anforderungen von Stakeholdern und anderen Quellen. Verschiedene Techniken sind

dabei heutzutage im Einsatz: Interviews, Dokumentanalyse, Fokusgruppen, Workshops und

seit neuestem auch Prototypenentwicklung, Simulation und Gamifizierung. Die iterative

Prototypenentwicklung definiert Anforderungen schneller als dies durch wiederholte

Interviews mit dem Benutzer möglich wäre.

Die Ideenfindung ist eher ein modernes Konzept und in vielen Organisationen nicht genau definiert.

Page 6: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

4

White PaperBest Practices für die Anforderungsdefinition

In einem agilen Unternehmen folgt man fast genau demselben Prozess, mit der Ausnahme, dass es im selben Zeitraum mehr Versionen gibt als bei einem herkömmlichen Anforderungsdefinitionspro-zess.

Die wichtigste Person in einem agilen Team ist der Produkteigentümer, der als Mittelsmann zwischen dem Unternehmen und dem Entwicklerteam fungiert.

Der Produkteigentümer sammelt die Anforderungen und Aufträge und priorisiert sie für das Entwicklerteam. Der Projekteigentümer entscheidet, welche Projekte im Moment am wichtigsten sind, und unterstützt so das Unternehmen dabei, das Ziel nicht aus den Augen zu verlieren.

Agile Teams entwickeln keine Prototypen. Sie entwickeln stattdessen schnellstmöglich einen funktionierenden Code.

__________

3 https://de.wikipedia.org/wiki/Anwendungsfall

4 https://de.wikipedia.org/wiki/Unified_Modeling_Language

Schritt 4 – Anforderungsvalidierung: Hierdurch wird bestätigt, dass die

Anforderungen auch den Geschäftsanforderungen und -zielen entsprechen. Dieser Schritt

dient dazu, sicherzustellen, dass die gesammelten Informationen auch zur Entwicklung der

gewünschten Lösung ausreichen und dass die Informationen mit den organisatorischen

Beschränkungen wie Konformitäts- und Governance-Standards übereinstimmen.

Die Definition der Anforderungen schlägt nicht selten fehl, weil die deutsche Sprache nicht

genau genug ist, um die differenzierten Details der Geschäftsanforderungen entsprechend

zu beschreiben. Durch Anlegen von Anwendungsbeispielen3 und den Einsatz formalisierter

Methoden wie Unified Modelling Language (UML)4 können die erwarteten Verhaltensweisen

für die Lösung mit hoher Genauigkeit bestimmt werden. Diese Tools unterstützen Sie

beim Anlegen von Testfällen, die später im Entwicklungslebenszyklus die Grundlage der

Implementierungsvalidierung für die Anforderungen darstellen .

Schritt 5 – Anforderungsmanagement: Diese Aktivität folgt häufig äußerst formellen

Prozeduren. Bei diesem Prozess werden Anforderungen verbessert, versioniert, nachverfolgt,

überwacht, priorisiert, zugewiesen und, um es kurz zu sagen, verwaltet. Zu diesen

Aktivitäten zählen Folgende:

Die kontinuierliche Verbesserung von Anforderungen durch weitere Daten, Feedback und Ideen

Die Ordnung und Priorisierung von Anforderungen nach Unternehmens-Feedback

Die Einordnung einzelner Anforderungen nach Aufwand

Die Organisation von Anforderungen in Gruppen, die den Entwicklerteams vernünftige Arbeitslasten zuweisen sowie Veröffentlichungen ermöglichen

Die Nachverfolgung von Änderungen, Aktualisierungen und Modifizierungen von Anforderungen durch sich stets ändernde Geschäftsanforderungen

Die Verwaltung der Nachverfolgbarkeit zur Sicherstellung einer Revisionsliste von der Anfrage bis zur Implementierung

Die Überwachung von Genehmigungen für Anforderungen, die zur Finanzierung von Projekten implementiert werden sollen

Die Verwaltung der Beziehungen und Abhängigkeiten zwischen Anforderungen

Der Prozess zur Verwaltung von Anforderungen ist ein essentieller Bestandteil der Best

Practices für die Anwendungsentwicklung. Wenn man nicht weiß, was man entwickeln

soll, geht die Wahrscheinlichkeit, dass diese Entwicklung mit den Geschäftsanforderungen

übereinstimmt, quasi gegen Null. Dabei ist es nicht von Bedeutung, wie Sie dies definieren

oder wo sich Ihr Unternehmen auf dem methodologischen Spektrum befindet. Wichtig ist

lediglich, dass Sie die Erwartungen eines Kunden (oder potenziellen Kunden) verstehen,

bevor Sie mit der Entwicklung beginnen. Um das „Wie“ kann man sich während der

Entwicklung Gedanken machen, aber das „Was“ muss geklärt sein, bevor das Projekt

finanziert wird.

Page 7: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

5www.microfocus.com

Best Practices für die Verwaltung von Anforderungen

Gehen Sie davon aus, dass sich 1–5 % der Anforderungen pro Monat ändern.

– Quelle: Gartner

„Die Best Practice für das Anforderungsmanagement ist die Anwendung der Best Practices,

die für das Konfigurationsmanagement definiert wurden, auf das Management von

Anforderungen.“ – Kay Fuhrmann, Product Manager, Serena Software (jetzt Teil von

Micro Focus)

1. Benennungsregeln. Legen Sie diese fest, um einzelne Veröffentlichungen auseinanderhalten zu können – von der genehmigten Anforderung über die Baseline-Veröffentlichung bis hin zur Notfallfehlerbehebung oder zum Patch.

2. Baseline-Anforderungen. Anforderungen wie Softwareveröffentlichungen müssen zur Baseline gemacht werden, und diese Baselines müssen direkt der entsprechenden Veröffentlichung zugeordnet werden.

3. Gut definierter und verstandener Änderungskontrollprozess. Nachdem eine Baseline erstellt wurde, müssen alle Änderungen kontrolliert, nachverfolgt, überprüft und genehmigt werden.

4. Anforderungsprüfung. Ein Prozess zur Anforderungsprüfung muss eingeführt und auch durchgesetzt werden.

5. Änderungserwartung. Stellen Sie sicher, dass Änderungen einfach eingeführt werden können, aber dass eine strenge Zugriffssteuerung mit lückenloser Nachverfolgbarkeit vorhanden ist.

6. Versionsmanagement. Der Anforderungsverlauf sollte durch Methoden verwaltet werden, die es Analysten einfach machen, diesen nachzuvollziehen.

7. Anforderungsnachverfolgbarkeit. Wenn Sie eine Anforderung nicht von der Idee bis zur definierten Implementierung nachverfolgen können, gibt es keine Möglichkeit, die Auswirkungen der vorgeschlagenen Änderung nachzuvollziehen.

8. Informationsverwaltung. Verwalten Sie die Attribute für Abhängigkeiten, Beziehungen, Eigentümer, Stakeholder, Benutzer, Finanzierer, Daten, Kosten, Modelle, Prototypen, Diagramme, Governance usw. hinsichtlich der Anforderung.

9. Zusammenarbeit. Stellen Sie einen einfachen Zugriff auf die Anforderungsinformationen bereit und informieren Sie Stakeholder automatisch über Statusänderungen oder Anforderungsänderungen, um die Zusammenarbeit zu stärken.

10. Anforderungen an einem einzigen Ort. Bewahren Sie alle Anforderungen an einem einzigen Ort auf, vorzugsweise in einer Datenbank, die speziell zu deren Verwaltung entwickelt wurde.

Projekte werden über Epics (eine Sammlung von Anforderungen) und Storys (eine Anforderung), die gemeinsam das Sprint-Backlog (noch nicht abgeschlossene, aber zur Entwicklung vorgesehene Anforderungen) der Arbeiten, die noch durchgeführt werden müssen.

Der Fortschritt wird über Burndown-Diagramme (abgeschlossene Anforderungen) verfolgt, die den Fortschritt zum Ende des aktuellen Sprints aufzeigen. Ein entscheidendes Prinzip agiler Unternehmen ist die Eigenorganisation, und tägliche Statusberichte sorgen dafür, dass alle Mitarbeiter stets auf dem Laufenden bleiben, was das Projekt betrifft.

Das Projekt-Backlog wird ständig neu priorisiert und an die sich stets ändernden Geschäftsanforderungen angepasst.

Page 8: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

6

White PaperBest Practices für die Anforderungsdefinition

Kritische Attribute einer Anforderungs- managementlösung

Benutzerfreundlichkeit

Implementierung

Die Lösungsimplementierung muss einfach konfiguriert werden und dieselbe Sprache

verwenden wie der Rest des Unternehmens. Das Lexikon darf nicht geändert und auf die

Lösung zugeschnitten werden. Schulungen, eine vernünftige Implementierung und die

Lokalisierung sollten in zwei bis vier Wochen abgeschlossen sein.

Die Lösung muss einfach zu erlernen sein

Neue Benutzer, unabhängig von deren Rolle, können schnell lernen, wie sie sich bei der

Lösung anmelden und durch die Benutzeroberfläche navigieren. In diesem Kontext können

nicht technische Anforderungsprüfer durch ihr Verständnis der Geschäftsanforderungen

an einem einseitigen Überblick arbeiten. Alle anderen Benutzer der Lösung, mit Ausnahme

von Administratoren oder Projektmanagern, die bereits geschult wurden, um die

Implementierung zu unterstützen, müssen nach zwei bis vier Stunden Schulung dazu in der

Lage sein, das Produkt zu verwenden.

Die Lösung muss benutzerfreundlich sein

Die Lösung für die Verwaltung und Berichterstellung der Anforderungen muss die Arbeit

für alle beteiligten Personen einfacher machen und ihnen gleichzeitig Zugriff auf mehr

Informationen ermöglichen. Der typische Benutzer sollte innerhalb einer Stunde lernen

können, wie er bestimmte Funktionen in der Lösung verwendet.

Eigenschaften und Anzeige müssen konfigurierbar sein

Benutzer oder Administratoren müssen dazu in der Lage sein, einzustellen, wie viele

Informationen angezeigt werden .

Alle Stakeholder müssen Zugriff auf Dokumente haben

Es muss möglich sein, Dokumente im Unternehmensformat zur Überprüfung und

Genehmigung zu veröffentlichen. Es sollte nicht erforderlich sein, dass Benutzer das Tool

verwenden müssen, um die darin enthaltenen Informationen einzusehen.

Die Tool-Philosophie und -Technologie müssen transparent sein

Benutzer sollten nicht über architektonische, administrative oder technische Fertigkeiten

verfügen müssen, um mit dem Tool Anforderungen und deren Eigenschaften hinzuzufügen,

zu bearbeiten, zu prüfen oder zu genehmigen.

Die 10 am häufigsten geforderten Funktionen einer Anforderungsma-nagementlösung – Quelle: Forrester

Anforderungs-Backline zur Nachverfolgung der Umfangserweiterung

Anforderungsmodellierung und -simulation

Visuelle Tools zur Verwaltung von Veröffentlichungen, Funktionen und Patches von Anforderungen

Entscheidungsunterstützung zur Priorisierung der Auswahl von Anforderungen

Verknüpfung und Nachverfolgung von Beziehungen zwischen Anforderungen und Anfragen

Benutzerzentrierte Anforderungsaufzeichnung

Wiederverwendung von häufig verwendeten und geteilten Anforderungen

Anforderungs-Workflow, der anderen SDLC-Workflows gleicht

Integration basierend auf Nachverfolgung mit anderen ALM-Lebenszyklus-Tools

Direkt einsetzbare Anforderungen für typische Konformitätsansprüche wie ITAR

Page 9: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

7www.microfocus.com

Benutzeranforderungen (manchmal auch als Geschäftsanforderungen bezeichnet) identifizieren Funktionen, die der Stakeholder besitzen möchte oder benötigt, während funktionale Anforderungen festlegen, was das System ausführen muss, um die genannte Funktion bereitstellen zu können.

Für die Organisation von Anforderungen müssen Methoden vorhanden sein

Es muss möglich sein, Container (Ordner) zur Organisation von Anforderungen nach

Komponente oder Untertyp zu erstellen bzw. bestimmte Gruppen für Benutzer anzulegen.

Benutzerrollen müssen unterstützt werden

Es muss möglich sein, organisatorische oder Projektrollen zu definieren und Benutzern

diesen Rollen zuzuordnen .

Das System muss flexibel sein Anforderungen werden nach Typ oder Klassifizierung unterschieden. Typische

Anforderungstypen beinhalten Benutzer- und funktionale Anforderungen.

Benutzeranforderungen (manchmal auch als Geschäftsanforderungen bezeichnet)

identifizieren Funktionen, die der Stakeholder besitzen möchte oder benötigt, während

funktionale Anforderungen festlegen, was das System ausführen muss, um die genannte

Funktion bereitstellen zu können. Zu den weiteren üblichen Anforderungstypen zählen

nicht-funktionale Anforderungen, Systemanforderungen und Testfälle. Abgesehen von

diesen Basistypen gibt es noch eine Vielzahl an spezifischen Typen, die so vielfältig sind wie

die zu entwickelnde Software oder die Prozesse, die das Unternehmen zu deren Entwicklung

einsetzt. Eine gute Anforderungsmanagementlösung muss dazu in der Lage sein, dem

Unternehmen eine Möglichkeit bereitzustellen, eine Anforderung nach seinen Wünschen

zu klassifizieren. Außerdem müssen die Eigenschaften einer Anforderung (Metadaten)

ebenfalls vollständig konfigurierbar sein.

Anforderungen müssen als individuelle Objekte gespeichert werden

Anforderungen aller Art müssen als individuelle Objekte gespeichert werden. Sie können

mit anderen Objekten im Projekt verknüpft werden, dürfen aber nicht von diesen in

Besitz genommen werden. Eine beliebige Anzahl dieser Objekte kann zur Anzeige oder

Veröffentlichung gesammelt werden .

Anforderungen müssen hierarchisch geordnet und bis auf die atomare Ebene

zergliedert werden können

Anforderungen aller Typen müssen in immer kleinere Anforderungen aufgeteilt werden

können, bis sie so weit geschrumpft sind, dass sie nur noch eine einzige spezifische

Anforderung darstellen . Hierarchien zergliederter Anforderungen müssen individuell auf

atomarer, hierarchischer und zwischenhierarchischer Ebene bearbeitet werden können, wobei

die Aktionen auf die jeweils zergliederten Anforderungen angewendet werden können müssen.

Anforderungstypen müssen Geschäftsstandards erfüllen

Anforderungstypen müssen entsprechend der Bedürfnisse und Prozesse des Unternehmens

und nicht des Tool-Anbieters benannt und beschrieben werden. In der Lösung darf es keine

Anforderung geben, die einen direkt einsetzbaren Anforderungstyp enthält.

Page 10: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

8

White PaperBest Practices für die Anforderungsdefinition

Eigenschaften müssen konfigurierbar sein

Es muss möglich sein, Eigenschaften über die Standardeinstellungen des Produkts hinaus zu

definieren und sie Anforderungstypen zuzuordnen. Die Datentypen in der Definition dieser

Eigenschaften müssen ebenfalls flexibel sein. Sie müssen beispielsweise Textfelder (kurz und

lang), Dropdown-Listen, numerische Felder und Datenfelder enthalten. Es muss möglich

sein, Grafiken oder Anhänge Datentypen zuzuordnen.

Eigenschaften müssen bekannte Terminologie verwenden

Die Sprache, die zur Definition von Anforderungen und deren Eigenschaften verwendet

wird, muss dem Lexikon des Unternehmens entsprechen und überall in der Lösung

gleich sein. Es muss möglich sein, dass mehrere Projektteams im selben Unternehmen

Anforderungstypen definieren und dabei Terminologie verwenden können, die alle Teams

verstehen. Keine Gruppe sollte die Last einer anderen Gruppe tragen müssen.

Nachverfolgbarkeit muss gegeben sein

Es muss eine Ansicht für die Nachverfolgbarkeit erstellt werden können, in der die

einzelnen Anforderungstypen ausgewählt werden können, die nachverfolgt werden sollen.

Die angezeigten Informationen müssen einfach zu lesen und zu analysieren sein.

Import von Anforderungen Vor Einführung einer Anforderungsmanagementlösung verwalten die meisten Projektteams

ihre Anforderungen in einer MS Excel-Tabelle oder einem MS Word-Dokument. Es ist

essentiell, dass bereits vorhandene Daten und nachträgliche Änderungen an diesen Daten in

die Lösung importiert werden können.

Datenimport aus MS Word-Dateien

Die Lösung muss über Funktionen verfügen, um den Import von Daten aus MS Word-

Dateien zu ermöglichen. Es muss beispielsweise möglich sein, die Anforderungen in diesem

Dokument zu importieren.

Datenimport aus MS Excel-Dateien

Es muss möglich sein, ausgewählte Daten aus MS Excel-Dateien zu importieren, um neue

Anforderungen zu erstellen. Dazu ist eine einfache Funktion erforderlich, mit der sich

Spalten in der Excel-Datei bestimmten Eigenschaften zuordnen lassen.

Datenexport in MS Excel-Dateien

Es muss möglich sein, ausgewählte Anforderungsdaten in MS Excel-Dateien zu exportieren.

Dazu ist eine einfache Funktion erforderlich, mit der sich Eigenschaften in der Lösung

bestimmten Spalten in der Excel-Datei zuordnen lassen.

Die Sprache, die zur Definition von Anforderungen und deren Eigenschaften verwendet wird, muss dem Lexikon des Unternehmens entsprechen und überall in der Lösung gleich sein.

Page 11: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

9www.microfocus.com

Aktualisierung vorhandener Objekte aus MS Excel-Dateien

Die Lösung muss es ermöglichen, vorhandene Anforderungen mit Daten aus MS Excel-

Arbeitsblättern zu aktualisieren. Indem Anforderungsidentifikatoren oder Namen aus

dem MS Excel-Arbeitsblatt der aktuellen Anforderung zugeordnet und neue Eigenschaften

nachträglich hinzugefügt oder bestehende Eigenschaften aktualisiert werden können,

können alle Stakeholder, selbst diejenigen ohne Zugriff auf die Lösung, eine aktive Rolle

beim Überprüfungsprozess einnehmen. Aktualisierungen aus MS Excel-Arbeitsblättern

gewährleisten außerdem Batch-Funktionen.

Erstellung oder Aktualisierung von Verknüpfungen aus Arbeitsblättern

Verknüpfungen zwischen Anforderungen können mit MS Excel-Arbeitsblättern erstellt

werden .

Datenimport aus verknüpften ALM-Lösungen

MS Excel- oder CSV-Dateien, die von einer beliebigen Lösung im ALM-Spektrum erstellt

wurden, können importiert werden, um Anforderungen oder deren Eigenschaften zu

verknüpfen, zu bearbeiten, hinzuzufügen oder zu löschen.

Mechanismen zum Filtern und Sortieren von Anforderungen

Benutzerkontrollierte Filter

Anforderungen werden zu mehreren Zeitpunkten im Entwicklungszyklus von verschiedenen

Personen mit äußerst unterschiedlichen Bedürfnissen verwaltet, betrachtet und geprüft.

Nur selten ist es erforderlich, dass eine Person Zugriff auf alles hat.

Nach Anforderungseigenschaft gefilterte Listen und Berichte

Es muss möglich sein, nach nicht binären Eigenschaften zu filtern, die innerhalb der

Anforderung festgelegt wurden .

Erstellung und Aktualisierung von Anforderungssätzen

Es muss möglich sein, Anforderungssätze jedes Typs zu erstellen und Baselines aus diesen

Sätzen anzulegen.

Abfragen für die Anforderungsauswahl

Das Tool muss einfache oder komplexe Abfragen zur Sammlung von Anforderungen

nach Typ, Eigenschaft, Abwesenheit oder Vorhandenheit auf einer Liste, einer

Beziehung (Verknüpfung) oder einer Kombination dieser ermöglichen (Beispiel: alle

Benutzeranforderungen mit hoher Priorität, die mit mindestens einem Testfall verbunden

sind, dessen Testergebniseigenschaft auf „fehlgeschlagen“ festgelegt wurde).

Anforderungen werden zu mehreren Zeitpunkten im Entwicklungszyklus von verschiedenen Personen mit äußerst unterschiedlichen Bedürfnissen verwaltet, betrachtet und geprüft. Nur selten ist es erforderlich, dass eine Person Zugriff auf alles hat.

Page 12: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

10

White PaperBest Practices für die Anforderungsdefinition

Einfache Erstellung von Dokumenten, Listen oder CSV-Dateien

Es muss möglich sein, MS Excel- oder CSV-Dateien über jedes Dialogfeld in der

Benutzeroberfläche zu speichern, zu drucken oder zu erstellen.

Die Lösung muss den Anforderungsverlauf verwalten Die Lösung muss über einen Mechanismus verfügen, eine Anforderung und sämtliche mit

ihr gespeicherten Metadaten erstellen, löschen und ändern zu können. Es muss außerdem

möglich sein, alle diese Transaktionen aufzuzeichnen.

Der Anforderungsverlauf muss verwaltet werden

Die Lösung muss den Änderungsverlauf für alle Anforderungen und

Anforderungseigenschaften verwalten können.

Anforderungen können verschoben oder eingestellt werden

Die Lösung muss über die Funktion verfügen, Anforderungen zu verschieben oder sie

einzustellen. Es muss möglich sein, diese Anforderungen einfach in der allgemeinen Liste

auszublenden, ohne dass sie nicht mehr zur Überprüfung oder erneuten Übernahme

verfügbar stehen .

Anforderungen können gelöscht werden

Eine Anforderung muss durch die Lösung permanent aus einem Projekt gelöscht werden

können.

Baselines können schnell erstellt und aktualisiert werden

Die Lösung muss über Funktionen zur Erstellung von Veröffentlichungs-Baselines verfügen,

die versioniert werden können und über einen Änderungsverlauf verfügen. Es muss möglich

sein, Baselines zu vergleichen und eine einfache Liste veränderter Anforderungen sowie

einen detaillierten Bericht mit den Unterschieden zwischen Baselines zu erstellen .

Anforderungsverknüpfung und -nachverfolgbarkeit Eine gute Anforderungslösung muss nicht nur dazu in der Lage sein, jeden Anforderungstyp

zu klassifizieren, sondern auch, die Anforderungen verschiedener Typen zu verknüpfen. Die

Anforderungsverknüpfung macht Berichte zur Nachverfolgbarkeit erst möglich.

Eine gute Anforderungslösung muss nicht nur dazu in der Lage sein, jeden Anforderungstyp zu klassifizieren, sondern auch, die Anforderungen verschiedener Typen zu verknüpfen.

Page 13: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

11www.microfocus.com

Anforderungsverknüpfung

Es muss möglich sein, Beziehungen zwischen Anforderungstypen herzustellen. Die

Verknüpfungen, die diese Beziehungen zum Ausdruck bringen, müssen auf verschiedene

Weise möglich sein: eine zu vielen, viele zu einer oder viele zu vielen. Beispielsweise kann

eine einzige funktionale Anforderung über mehrere Testfälle verfügen, aber ein Testfall

könnte auf mehr als eine funktionale Anforderung angewendet werden.

Manuelle Verknüpfungen

Es muss möglich sein, Verknüpfungen manuell oder im Rahmen eines Batch-Imports zu

erstellen .

Gelöschte Verknüpfungen

Es muss möglich sein, Verknüpfungen wieder zu löschen.

Verknüpfte Objekte geben Auskunft über die Auswirkung einer Änderung

Verknüpfte Objekte müssen die Auswirkungen von Upstream-Änderungen anzeigen. Zum

Beispiel wird durch eine Änderung an der Benutzeranforderung bei einem Testfall, der mit

einer funktionalen Anforderung verknüpft ist, die wiederum mit einer Benutzeranforderung

verknüpft ist, angenommen, dass dies potentielle Auswirkungen auf die funktionale

Anforderung und den Testfall hat, was bedeutet, dass diese überprüft werden müssen. Eine

Änderung an der funktionalen Anforderung erfordert eine Überprüfung des Testfalls, aber

nicht der Benutzeranforderung .

Nachverfolgbarkeitsmatrix

Eine vollständige Nachverfolgbarkeitsmatrix muss für jede festgelegte Anforderung

verfügbar und vergleichsweise benutzerfreundlich sein. Die Nachverfolgbarkeit visualisiert

die Verbindungen zwischen den Anforderungen und ermöglicht es den Stakeholdern so, zu

sehen, dass Anforderungen über verbundene funktionale Anforderungen zugewiesen und

Testfälle für jede funktionale Anforderung erstellt wurden. Die Nachverfolgbarkeitsmatrix

muss die Umsetzung (und für die Lebensdauer der Anwendung auch die

Änderungsauswirkungen) als Bericht erfassen.

Es muss eine ausgezeichnete Berichtsfunktion vorhanden sein Die Lösung muss über eine gute Berichtsfunktion verfügen, und es muss möglich

sein, Dokumente in einem Format zu generieren, mit dem sich Stakeholder

auskennen. Die Verwaltung aktueller Berichte ist entscheidend für den Prozess des

Anforderungsmanagements, und die Erstellung solcher Berichte muss einfach per Filter-

und Sortierfunktion über die Client-Schnittstelle erfolgen können.

Die Verwaltung aktueller Berichte ist entscheidend für den Prozess des Anforderungsmanagements, und die Erstellung solcher Berichte muss einfach per Filter- und Sortierfunktion über die Client-Schnittstelle erfolgen können.

Page 14: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

12

White PaperBest Practices für die Anforderungsdefinition

Flexible Dokumentenunterstützung

Es muss möglich sein, Anforderungslisten mittels Skripte oder Abfragen auszuwählen und

diese Listen zur Erstellung oder Aktualisierung eines Dokuments zu verwenden.

Versionskontrolle für Dokumente

Es muss möglich sein, die Inhalte eines Dokuments einzufrieren und diesen eingefrorenen

Dokumenten einen Namen oder eine Version zuzuweisen. Es muss außerdem möglich sein,

solche Dokumente jederzeit zu löschen.

In Dokumentform veröffentlichbare Anforderungen

Es muss möglich sein, Dokumente über ein vertrautes Format (Vorlage), das zwischen

Projekten geteilt werden kann, zu exportieren (veröffentlichen).

Möglichkeit zum Vergleich von Dokumenten

Die Lösung muss über die Funktion verfügen, versionierte Dokumente zu vergleichen.

Bericht in grafischer Darstellung

Es muss möglich sein, Berichte als grafische Darstellung zu erstellen und die Daten zum

Erstellen von Berichten in den aktuell verwendeten Tools zu sammeln und zu exportieren.

Berichte sollten unter anderem Säulendiagramme mit den geplanten Anforderungen nach

Typ, der für eine benannte Veröffentlichung zugewiesenen Nummer und der noch nicht

implementierten Nummer enthalten.

Berichte sollten unter anderem Säulendiagramme mit den geplanten Anforderungen nach Typ, der für eine benannte Veröffentlichung zugewiesenen Nummer und der noch nicht implementierten Nummer enthalten.

Page 15: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

13www.microfocus.com

Zusammenfassung

Für viele Unternehmen ist es schwierig, die notwendige Disziplin für ein effektives

Anforderungsmanagement aufzubringen, weshalb es häufig vorkommt, dass der Prozess

zum Nachteil des Projekts überfrachtet wird. Projektteams wenden oft mehr Zeit dafür

auf, über die richtige Anwendungsbeispielstruktur oder den Unterschied zwischen einer

Benutzer- und einer Geschäftsanforderung zu diskutieren, als sich über den Inhalt dieser

Gedanken zu machen. Da das Projekt durch solche Diskussionen aber nicht vorankommt,

machen die Teammitglieder mit ihrer eigentlichen Arbeit weiter und nehmen einfach an,

dass die noch offenen Fragen während der Entwicklung geklärt werden.

Der Prozess zur Verwaltung von Anforderungen ist ein essentieller Bestandteil der Best

Practices für die Anwendungsentwicklung. Wenn man nicht weiß, was man entwickeln

soll, geht die Wahrscheinlichkeit, dass diese Entwicklung mit den Geschäftsanforderungen

übereinstimmt, quasi gegen Null. Man kann beispielsweise als Erstes eine Liste erstellen,

auf der die Projekterwartungen festgelegt und verwaltet werden. Die Liste kann wie eine

offene Tafel angezeigt werden, auf der Notizen und Änderungen gesammelt und sortiert

werden. Sie kann außerdem erweitert werden, um technische Details zu kontrollieren

und diese Details mit Testfällen zu verknüpfen, was letztendlich zu umfangreichen

Anforderungsberichtsfunktionen führt.

Die besten Anforderungsmanagement-Lösungen sind einfach zu erlernen, einfach zu

bedienen, zugänglich und transparent. Außerdem bieten sie ausgezeichnete Funktionen

für die Nachverfolgung, Versionskontrolle und Berichterstellung. Die Funktionen greifen

perfekt ineinander, um die Basis für eine erstklassige Lösung zu erstellen und den Beginn

eines Anforderungsprozesses mit Best Practices zu markieren.

Die besten Anforderungsmanagement-Lösungen sind einfach zu erlernen, einfach zu bedienen, zugänglich und transparent.

Page 16: Best Practices für die Anforderungsdefinition · Ticketsysteme gleichzeitig im Einsatz – für verschiedene Arten von Anfragen und für verschiedene Systeme. Einige Systeme sind

162-DE0100-001 | S | 05/17 | © 2017 Micro Focus. Alle Rechte vorbehalten. Micro Focus und das Micro Focus Logo sowie andere Namen sind Marken oder eingetragene Marken von Micro Focus oder Tochterunternehmen bzw. Schwestergesellschaften in Großbritannien, den USA und anderen Ländern. Alle weiteren Marken sind Eigentum ihrer jeweiligen Inhaber.

www.microfocus.com

Micro FocusDeutschlandFraunhoferstraße 7D-85737 Ismaning00 800-58102130

Micro FocusSchweizMerkurstrasse 148953 DietikonSwitzerland00 800-58102130

Micro FocusFirmenhauptsitzVereinigtes Königreich+44 (0) 1635 565200

www.microfocus.com