Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 10 Min.

Modernes Anforderungsmanagement

Das moderne Anforderungsmanagement muss schnell und zuverlässig funktionieren. Agile Methoden erfordern flexible Vorgehensweisen.
© Bold
Statt Papier und Bleistift oder einer Excel-Tabelle arbeitet man komfortabler und erfolgreicher mit speziellen Tools. Die Software für die Durchführung des Anforderungsmanagements sollte anpassbar und den Wünschen gemäß erweiterbar sein. Idealerweise besitzt sie eine skalierbare Architektur und ist bereit für den Einsatz On-Premise und in der Cloud.Wenn wir als Entwickler so genau wüssten, was unsere Kunden sich für Software wünschen, dann wären wir einen gewaltigen Schritt weiter. Klar, mit dem zu erstellenden Programm sollen bestimmte Probleme gelöst, die Daten zu einem Antrag erfasst oder Bestellungen dokumentiert und ausgeführt werden.

Fokus und Tiefe der Analyse

Eine besondere Herausforderung besteht dabei darin, diese Anforderungen aus der Fachwelt (Business Case) in die technisch geprägte Welt der Software (Use Case) zu übersetzen. Diese Aufgabe wird als Anforderungsanalyse (Requirements Engineering) bezeichnet und findet initial zu Beginn eines Entwicklungsvorhabens statt. Je nach gewähltem Vorgehensmodell wiederholt sich dieser Prozess zyklisch und mit unterschiedlichen Fokus und Tiefe der Analyse. Wir können daher wie folgt definieren: Unter einem modernen Anforderungsmanagement versteht man ein Prozess, welcher alle Maßnahmen zur Erfassung, Steuerung, Kontrolle und Verwaltung von Kundenanforderungen umfasst.Das Vorgehen ist aufwändig, zeit- und kostenintensiv und kann in folgende Teilschritte zerlegt werden:Der Zweck des Anforderungsmanagements besteht in dem Ziel, dass das Endprodukt, das heißt, die zu erstellende Software, die Bedürfnisse der Kunden und Stakeholder erfüllt. Dabei kommen unterschiedliche Methoden und Werkzeuge zum Einsatz. In diesem Artikel legen wir den Fokus auf die Unterstützung durch spezialisierte Software, um Ordnung und System in die oft vielfältig verknüpften Einzelaspekte an die Erfordernisse einer Software zu bekommen. Wir betrachten die Funktionen und die typischen Funktionsweisen von in der Praxis eingesetzten Anforderungsmanagement-Tools. Mit ihrem Einsatz verfolgt man stets das Ziel den Prozess des Anforderungsmanagements zu erleichtern.Dabei gilt: Je größer und umfangreicher und damit komplexer die Projekte werden, desto sinnvoller ist die Verwendung von unterstützenden Tools. Mit wachsender Komplexität der Software wird es zu einer immer größeren Herausforderung den Überblick über alle Aspekte und Anforderungen zu behalten. Das Thema ist für die Softwarebranche von hoher Bedeutung, daher findet man auf dem Markt zahlreiche Tools mit einem umfangreichen Funktionsspektrum. Hilfreiche Hinweise zur Auswahl des passenden Tools sind beispielsweise:Das Anforderungsmanagement ist ein vielseitiger und komplexer Prozess. Bevor wir uns die Möglichkeiten von einigen ausgewählten Tools etwas näher ansehen, sind ein paar Bemerkungen zum eigentlichen Prozess angebracht. Wichtig ist es, von Anfang an das betrachtete System abzugrenzen. Damit wird eine schleichende unendliche Ausweitung beziehungsweise Erweiterung des Systems vermieden. Mit der fortlaufenden Integration von neuen Funktionen droht eine Software immer mehr in alle Richtungen auszufransen. Passt die geplante Funktion überhaupt noch zum Kern der Anwendung oder geht es dabei bereits um ein anderes Problem? Nur durch eine konsequente Systemabgrenzung kann man sicherstellen, dass der Projektaufwand nicht in die Höhe getrieben wird und dass gesetzte Termine eingehalten werden.

Stakeholder spielen eine Schlüsselrolle

Die Stakeholder spielen bei dem Prozess des Anforderungsmanagements eine Schlüsselrolle. Sie sind diejenigen, welche bestimmen wie ein System ausgestaltet sein soll. Es ist daher essenziell die Ziele der Stakeholder rechtzeitig zu erkennen und zu dokumentieren. Bei dieser Aufgabe kann Software bereits einen wichtigen Beitrag leisten, zum Beispiel durch den Einsatz von vorgefertigten und konfigurierbaren Formularen zur strukturierten Erfassung der Anforderungen aus der Perspektive der Stakeholder. Ein grafisches Hilfsmittel bei diesem Schritt sind Zieldiagramme oder hierarchische Darstellungen in Form von Bäumen.Solche Darstellungen helfen dabei die Zusammenhänge zwischen den Einzelanforderungen der Stakeholder darzustellen und auch mögliche Widersprüche zu verdeutlichen. Widersprüchliche Anforderungen führen zwangsläufig zu Problemen.Die Erfassung, Beschreibung, Dokumentation und Auswertung der Anforderungen bilden den Kern des Prozesses (Bild 1). An dieser Stelle können die Tools eine große Hilfe sein. Statt unzähliger und nicht einheitlicher Listen und Dokumente, werden die Items einer Anforderung und die Gesamtheit aller Anforderungen in eine einheitliche Repräsentation überführt. Die Softwaretools können dabei Helfen die Anforderungen in Formulare zu übernehmen; die Inhalte einheitlich zu strukturieren; Informationen aus E-Mails zu übernehmen und daraus Use Cases abzuleiten und diese in Backlogs zu erfassen und daraus Anforderungsdiagramme zu erstellen etc.
Zusammenhang:Anforderungen, Requirements Engineering und Requirements Management(Bild 1) © Bochkor
Ebenso bedeutsam ist es, die Anforderungen strukturiert zu beschreiben, Beziehungen zwischen den Anforderungen zu definieren, nachvollziehbar zu machen und die Traceability herzustellen. Unter Traceability versteht man die Rückverfolgbarkeit beziehungsweise die Fähigkeit, die Spuren einer Anforderung bis zu ihren Ursprung nachzuzeichnen. Damit kann man zu jedem Zeitpunkt die Frage beantworten, warum eine bestimmte Funktion in der Software integriert ist.Stets einen Überblick über alle Anforderungen und Artefakte zu behalten ist eine besondere Herausforderung. Hilfreich sind dabei interaktive Dashboards, die jederzeit die aktuellen Informationen zur Verfügung stellen und mit aktuellen Daten auf der Basis von Echtzeitabfragen gespeist werden. Auf diese Weise bekommen die Mitarbeiter stets einen Überblick zu den folgenden Fragen:Eine Anforderungsdokumentation beschreibt nicht nur die Anforderungen an das zu erstellende Softwaresystem, sondern sie ist auch die Voraussetzung für das spätere Testen der Software. Beispielsweise können aus der Dokumentation auch relevante Test-Cases abgeleitet werden. Auch ist es die Grundlage für die Zusammenarbeit von Stakeholdern und dem Entwicklungsteam. Wir können hier unzweifelhaft festhalten: Die Qualität der erstellten Software ist maßgeblich von der Qualität der Anforderungen abhängig.Um eine maximal Qualität der Anforderungen sicherzustellen, müssen diese sorgfältig erhoben, erfasst, dokumentiert und validiert werden. Bei all diesen Aufgaben kann uns Software selbst maßgeblich unterstützen.Es gibt verschiedene Möglichkeiten die Nachvollziehbarkeit herzustellen. Eine davon ist der Einsatz der Traceability Matrix. Man kann so eine Matrix entweder manuell oder automatisiert erstellen. Auf Grund der Größe eignet sich für die meisten Systeme die manuelle Erstellung eher nicht. Um alle Inhalte, Beziehungen und Abhängigkeiten darzustellen, wäre die Matrix zu groß und zu kompliziert.Die bessere Variante ist meist die teilweise automatisierte Traceability Matrix. Auch wie die voll automatisierte Variante setzt diese voraus, dass alle Artefakte in einem gemeinsamen System erstellt und verwaltet werden. Angezeigt werden jedoch nicht alle Anforderungen mit ihren Beziehungen zu anderen Anforderungen, Testfällen, UML-Diagrammen, usw. auf einmal, sondern in vier Analysebereichen: Auswirkungen, Herkunft, Abdeckung und Leistungswerte.Bei der Auswirkungsanalyse wird der Zusammenhang hergestellt, welche Artefakte durch Änderungen beeinflusst werden. Die Herkunftsanalyse bezieht sich auf die Herkunft der Anforderungen. Die Abdeckungsanalyse beschäftigt sich mit der Fragestellung, ob alle Artefakte für die Lösung berücksichtigt werden. Bei der Leistungswertanalyse wird der Fortschritt der Umsetzung dargestellt.Zusammengefasst: Eine Traceability Matrix liefert einen kompakten Blick auf die wesentlichen Zusammenhänge und den aktuellen Stand der Umsetzung zu den Anforderungen des Entwicklungsprojektes.

Tools für die Anforderungsanalyse

Es gibt eine Menge Softwaretools, welche die Anforderungsanalyse unterstützen. Wir haben uns einige davon angesehen.Visure ist ein umfassendes Anforderungsmanagement-Tool, welches auch die Integration anderer Prozesse wie beispielsweise Risiko-, Test-, Problem-, Änderungsmanagement und Fehlerverfolgung ermöglicht. Das Tool unterstützt die Zusammenarbeit zwischen den unterschiedlichen Beteiligten, wie den Business Analyst, dem Projektmanager, den Kunden und den Qualitäts-, Entwicklungs-, Test- und Marketingteam über eine gemeinsame Plattform. Visure eignet sich für diverse Entwicklungsprozesse (Wasserfall, V-Modell, agil). Elemente können aus Word, Excel und anderen Quellen übernommen werden. Integrierte Funktionen sind eine Elementverfolgung, ein Änderungsmanagement, eine Auswirkungsanalyse und eine Priorisierung.Das Risikomanagement wird in Visure mithilfe des FMEA-Modells (Failure Modes and Effects Analysis) realisiert. Die Traceability wird durch eine grafische Darstellung unterstützt, welche alle Anforderungen rückverfolgbar visualisiert. Durch den Source Code Parser ist die Rückverfolgbarkeit bis in den Quellcode möglich.Auch die Qualität der Anforderungen wird überprüft, um zu verhindern, dass eine schlechte Anforderungsdefinition und Mehrdeutigkeiten das Projekt behindern. Visure stellt eine enge Integration / Synchronisation mit Atlassian Jira und Microsoft Azure DevOps sicher. Ein Fehler oder eine Änderungsanfrage innerhalb von Jira/ Azure DevOps wird auf die spezifische Version der neuen und geänderten Elemente innerhalb von Visure zurückgeführt. Die Integration mit weiteren Tools der Anforderungsanalyse, für das Prototyping, Testwerkzeugen etc. macht Visure sehr vielseitig nutzbar.Ein weiteres Tool ist Xebrio, welches das komplette Anforderungsmanagement abdeckt und die Zusammenarbeit zwischen den Beteiligten in Echtzeit erleichtert. Xebrio ermöglicht die Erfassung, Überprüfung und Genehmigung der Anforderungen. Diese werden dann wiederum Aufgaben, Meilensteinen und Testfällen zugeordnet. Neben dem Requirements Management enthält das Tool folgende Module: Task Management, Team Communication, Milestone Tracking, Test Coverage und Reports.Etwas ausführlicher wollen wir nun das Tool ObjectiF-RM vorstellen. Dieses Tool des Herstellers microTool bietet einen großen Funktionsumfang. Es unterstützt alle Aufgaben der Anforderungsanalyse, das heißt, es hilft bei der Abgrenzung des Systems, bei der Analyse der Wünsche der Stakeholder und der daraus abgeleiteten Zielermittlung. Aus den Zielen werden wiederum die konkreten Anforderungen generiert. Nach der technischen Realisierung der Anforderungen kann geprüft werden, ob diese korrekt umgesetzt werden. ObjectiF-RM arbeitet mit Listen und Baumdarstellungen, aber auch grafischen Visualisierungen. Dabei werden die Methoden und Diagramme der UML beziehungsweise SysUML unterstützt und um eigene Diagrammtypen erweitert. Alle erfassten Informationen werden in einem zentralen Datenspeicher abgelegt. Auf dessen Basis können die Nutzer jederzeit aktuelle Informationen auf dem Dashboard zum Stand des Entwicklungsvorhabens abrufen. Ebenso ist es auf Knopfduck möglich standardisierte Dokumente, wie ein Lastenheft zu generieren. Die Inhalte dieser Dokumente werden auf der Basis von konfigurierbaren Vorlagen und dem projektspezifischen Daten aus der Datenbank generiert.
Anforderungsdiagrammin ObjectiF-RM(Bild 2) © Bochkor
Die grafische Unterstützung erleichtert das Verdeutlichen der Zusammenhänge in allen Phasen der strukturierten Anforderungsanalyse. Beispielsweise kann man bei der Systemabgrenzung ein Systemkontextdiagramm und bei der Feststellung der konkreten Ziele mit einem Use Case-Diagramm arbeiten oder alle Anforderungen in einem zentralen Anforderungsdiagramm (Bild 2) zusammenfassen.Durch die Verknüpfung aller relevanten Artefakte lassen sich zu jedem Zeitpunkt die Anforderungen bis zu ihren Entstehungsursprung rückverfolgen (Bild 3) und eine integrierte Versionierung sorgt dafür, dass Änderungen an den Inhalten und Dokumenten jederzeit nachvollzogen werden können. Die Benutzeroberfläche stellt alle Einzelelemente der Anforderungsanalyse in einer Hierarchie dar. Auch die Planung der Tests lassen sich mit ObjectiF-RM erledigen. Dazu können die Testfälle den Anforderungen zugeordnet werden. Die Erfassung von Testergebnissen erlaubt einen Überblick über den aktuellen Stand des Projektes hinsichtlich Reifegrad und Fehlerfreiheit. ObjectiF-RM unterstützt auch die Zusammenarbeit im Team. Funktionen wie Chat, Video und Desktop Sharing sind direkt im Tool integriert und können somit ohne Zusatzsoftware verwendet werden. ObjectiF-RM kann man in der eigenen Infrastruktur betreiben. Dazu wird die Software auf einen Applikationsserver installiert. Für die Speicherung der Daten dient ein eigener SQL-Server. Anwender greifen dann über Clients, entweder in Form einer Desktop-Lösung oder einer Web-Applikation auf ObjectiF-RM zu.
Nachverfolgbarkeitvon Anforderungen in ObjectiF-RM(Bild 3) © Bochkor
Die Alternative ist der Betrieb in der Cloud. Dazu kann das Softwaresystem beispielsweise auf einem in der Cloud gehosteten Server, wie dem Amazon Web Services (AWS) gehostet werden. Anwender können auch hier mit einem Browser mit dem System arbeiten. microTool bietet kein eigenes Hosting an, das heißt, die Verantwortung für Betrieb und Datenschutz verbleiben stets bei den Anwendern. ObjectiF-RM kann als Miet- oder als Kauflizenz erworben werden. Aktuelle Preise finden Sie auf der Webseite des Herstellers.

Fazit

Software wird immer komplexer und funktionsreicher im Umfang. Für das Entwicklungsteam besteht dabei immer noch die große Herausforderung die Wünsche und Ziele der künftigen Nutzer in der Software abzubilden. Für eine systematische Erfassung, Arbeit und Nachverfolgung der Anforderungen setzt man am besten auf spezielle Softwaretools.

Arten von Traceability

Unter der Traceability von Anforderungen versteht man die Rückverfolgbarkeit. Es handelt sich um die Fähigkeit Beziehungen zwischen Artefakten des Entwicklungsprozesses nachzuvollziehen. Die ISO/ IEC/ IEEE24765:2017 definiert für den Bereich von System- und Software-Engineering Traceability als »unterscheidbare Verknüpfung zwischen zwei oder mehr logischen Entitäten wie Anforderungen, Systemelementen, Überprüfungen und Aufgaben«. Es werden folgende vier Arten der Traceability definiert:

Jira vs. Azure DevOps

Jira ist ein Projektmanagement-Tool, das von der australischen Firma Atlassian entwickelt wurde. Es ist in erster Linie ein Problemverfolgungs- und Projektmanagementsystem und ist in verschiedenen Varianten erhältlich: JIRA Core, JIRA Software und JIRA Service Desk. Ursprünglich war es für das Bug-Tracking, Issue-Tracking und andere Projektmanagement-Prozesse gedacht. Es hat sich jedoch zu einer universellen Problemverfolgungslösung entwickelt. Jira eignet sich vor allem gut für Softwareentwicklungsteams, welche agile Methoden wie Scrum verwenden. Azure DevOps ist der cloudbasierte DevOps- und Kollaborations-Dienst aus dem Hause Microsoft. Unterstützt werden alle Programmiersprachen und Plattformen. Funktionen sind Planungstools für das agile Arbeiten und Testen, die Versionierung des Quellcodes mittels Git usw. Es ist ein Tool zur Implementierung eines DevOps-Lebenszyklus.

Links zum Thema

<b>◼ <a href="https://t2informatik.de/wissen-kompakt/traceability-matrix/" rel="noopener" target="_blank">Traceability Matrix</a> <b><br/></b></b>

Neueste Beiträge

DWX hakt nach: Wie stellt man Daten besonders lesbar dar?
Dass das Design von Websites maßgeblich für die Lesbarkeit der Inhalte verantwortlich ist, ist klar. Das gleiche gilt aber auch für die Aufbereitung von Daten für Berichte. Worauf besonders zu achten ist, erklären Dr. Ina Humpert und Dr. Julia Norget.
3 Minuten
27. Jun 2025
DWX hakt nach: Wie gestaltet man intuitive User Experiences?
DWX hakt nach: Wie gestaltet man intuitive User Experiences? Intuitive Bedienbarkeit klingt gut – doch wie gelingt sie in der Praxis? UX-Expertin Vicky Pirker verrät auf der Developer Week, worauf es wirklich ankommt. Hier gibt sie vorab einen Einblick in ihre Session.
4 Minuten
27. Jun 2025
„Sieh die KI als Juniorentwickler“
CTO Christian Weyer fühlt sich jung wie schon lange nicht mehr. Woran das liegt und warum er keine Angst um seinen Job hat, erzählt er im dotnetpro-Interview.
15 Minuten
27. Jun 2025
Miscellaneous

Das könnte Dich auch interessieren

UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
Mythos Motivation - Teamentwicklung
Entwickler bringen Arbeitsfreude und Engagement meist schon von Haus aus mit. Diesen inneren Antrieb zu erhalten sollte für Führungskräfte im Fokus stehen.
13 Minuten
19. Jan 2017
Evolutionäres Prototyping von Business-Apps - Low Code/No Code und KI mit Power Apps
Microsoft baut Power Apps zunehmend mit Features aus, um die Low-Code-/No-Code-Welt mit der KI und der professionellen Programmierung zu verbinden.
19 Minuten
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige