Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Best Practices für die AnforderungsdefinitionJuli 2015
von Kevin Parker, Vice President of Worldwide Marketing, Serena Software (jetzt Teil von Micro Focus)
White Paper
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
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
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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