Anforderungsanalyse
Die Anforderungsanalyse gehört zu den wichtigsten Methoden im Projektmanagement. Mit ihr lassen sich sämtliche Anforderungen dokumentieren - sowohl die funktionalen Anforderungen als auch Ansprüche gegenüber dem Backend und der Systemlandschaft. Gleichzeitig profitiert das Projektteam von einer umfangreichen Dokumentation und einem gemeinsamen Verständnis, mit dem sich das Projekt in die Realität umsetzen lässt.
Bei der Software-Entwicklung zählt sie zweifellos zu den essentiellen Werkzeugen: Die Anforderungsanalyse befasst sich mit den Vorstellungen des Auftraggebers hinsichtlich der zu entwickelnden Software, überprüft ihre Realisierbarkeit und fasst sie in Gestalt eines (digitalen) Lastenheftes zusammen.Projekterfolg durch professionelle Anforderungsanalysen. Die Vorteile:
✔ Zufriedenheit bei der Projektumsetzung steigt
✔ Projektergebnisse entsprechen den tatsächlichen Anforderungen
✔ Analyse schafft ein gemeinsames Verständnis
✔ Legt den Fokus auf relevante Features und Funktionen
✔ Anforderungsanalysen machen Erfolge messbar
✔ Projektrisiken sinken, während die Projektkosten kalkulierbar bleiben
Anforderungsanalyse: Was ist das eigentlich?
Die Requirements Analysis ist eine Methode, mit der sich das Fundament für die Zusammenarbeit zwischen Management und Projektteam legen lässt. Üblicherweise handelt es sich bei dem Ergebnis um eine Reihe an Dokumenten, die sämtliche Anforderungen an das Projekt festhalten.
Dabei unterscheidet diese Form der Analyse zwischen unterschiedlichen Formen der Funktionalität. Hier finden sich beispielsweise Informationen zu den Funktionalitäten, die die User benötigen. Zusätzlich informiert die Dokumentation die Entwickler darüber, welche rechtssichere Datenspeicherung erforderlich ist oder wie die Struktur für die Löschung personenbezogener Inhalte aussehen soll. Der Grad der Details und die Dokumentation exakter technischer Details erfordert daher einen Experten.
Unabhängig davon, welche Art von Funktionalität dokumentiert wird, muss jede Anforderung drei zentrale Eigenschaften erfüllen:
- Die Formulierung muss einfach und eindeutig sein
- Die Durchführbarkeit muss sichergestellt sein
- Die Anforderungen müssen nachprüfbar sein
Das stellt sicher, dass die Requirements Analyse ein gemeinsames Verständnis zwischen Projektauftraggebern, Stakeholdern und Teammitgliedern erschafft.
Bestandteile der Requirements Analyse
Das Ergebnis der Analyse dient den verschiedenen Projekt-Parteien als wichtiges Tool, um effizient und zielgerichtet zu arbeiten. Mithilfe einer solchen Analyse ist es deutlich einfacher, die Faktoren Zeit und Kosten im Blick zu behalten. Zusätzlich hilft das gemeinsame Verständnis dabei, dass das Ergebnis die Erwartungen aller involvierter Personenkreise erfüllt. Um diese Ansprüche zu erfüllen, kann die Analyse der Anforderungen folgende Dokumente umfassen:
- Die Anforderungserhebung, die meist in einem gemeinsamen Workshop definiert wird
- Das Lastenheft, das sich aus der Anforderungserhebung ableitet
- Die Anforderungsbeschreibung, die die Vorgaben mit Leben und Details füllt
- Die Klassifizierung und Bewertung, um Aufgaben zu definieren, zu kategorisieren und zu priorisieren
Übrigens: Bei Requirements unterscheidet man zwischen funktionalen und nicht funktionalen Anforderungen. Als funktional gelten solche Anforderungen, die das Herz der Software ausmachen und von den Usern genutzt werden. Nicht funktionale Anforderungen lassen sich hingegen nicht direkt wahrnehmen. In diese Kategorie fallen zum Beispiel die Qualitätsanforderungen wie Stabilität, Performance und anderweitige Rahmenbedingungen.
Anforderungsanalyse und das Projektmanagement
Die Anforderungen zu analysieren und zu dokumentieren ist eine der wichtigsten Aufgaben im Projekt. Die Ergebnisse bilden das Fundament, auf dem die anschliessende Entwicklung aufbaut. Daher gehört dieser Teilaspekt der Softwareentwicklung zum Projektmanagement und findet noch vor dem eigentlichen Projektstart statt.
Üblicherweise entscheiden sich die Verantwortlichen dafür, die Anforderungen in einem initialen Workshop festzuhalten. Hier können alle Beteiligten ihre Erwartungen äussern und die Umsetzbarkeit eigener Ideen in Erfahrung bringen. Das Ergebnis ist im Idealfall ein Dokument, das sich als zuverlässiger Begleiter für die Projektsteuerung erweist.
Gut zu wissen: Änderungen, die sich im späteren Verlauf eines Projektes ergeben, sind deutlich zeitintensiver und damit teurer umzusetzen als solche, die am Anfang definiert wurden. Es gibt immer wieder Beispiele, wie solche späteren Anpassungen ganze Projekte zum Scheitern bringen. Mit einer umfangreichen und zielgerichteten Analyse ist es möglich, dieses Problem zu vermeiden.
Anforderungsanalyse in der Softwareentwicklung
Die Analyse der Requirements ist ein wichtiger Baustein für die gelungene Softwareentwicklung. Denn: Je besser die Anforderungen definiert, analysiert und dokumentiert sind, desto effektiver kann das agile Team arbeiten. Schliesslich bedeutet ein solches Vorgehen, dass zahlreiche Probleme und Unklarheiten bereits im Vorfeld ausgeräumt werden.
Trotz dieser Vorarbeiten bleibt die gewünschte Dynamik in der agilen Entwicklung erhalten. Das liegt nicht zuletzt daran, dass sich kleine Veränderungen oder Ergänzungen problemlos in den Entwicklungsprozess integrieren lassen. Die vorherige Analyse der Anforderungen schliesst die spätere Anpassung oder Erweiterung demnach nicht aus. Dennoch hilft sie dem Team dabei, das Ziel und das vorhandene Zeitfenster im Blick zu behalten.
Ablauf der Anforderungsanalyse
Der exakte Ablauf der Analyse kann je nach Projekt, Branche oder Unternehmen variieren. Daher definieren Organisationen wie CMMI, IEEE, IIBA oder IREB unterschiedliche Ansätze, wie sich die Analyse der Anforderungen umsetzen lässt. Verallgemeinert umfasst der Ablauf die folgenden Massnahmen:
- Vorhandene Funktionen von Altsystemen werden auf ihren Mehrwert und ihre aktuelle Gültigkeit hin geprüft
- Neue Anforderungen werden gesammelt
- Das Team prüft und analysiert die gesammelten Requirements
- Es folgt die Abstimmung und das Ordnen aller relevanten Inhalte der Analyse
- Die Anforderungen werden Schritt für Schritt vom Projektteam umgesetzt
Wichtig dabei ist, dass es nicht eine einzelne Person gibt, die die Analyse alleine durchführt. Es handelt sich im Idealfall um die Anstrengung einer ganzen Gruppe. Dabei ist es am besten, wenn alle Projektbeteiligten die Anforderungen in einem gemeinsamen Workshop ermitteln und festhalten. Elemente wie Fallstudien oder Fragebögen können jedoch die Grundlage zur Gesprächseröffnung bieten. Obwohl es bei Meetings oftmals ratsam ist, eine geringe Anzahl an Teilnehmern zu wählen, bietet eine grosse Runde in diesem Szenario ihre Vorteile:
- Unklarheiten lassen sich sofort vor Ort mit sämtlichen Projektbeteiligten klären
- Der gemeinsame Workshop steigert die Akzeptanz und sorgt für ein Gefühl der Zusammengehörigkeit unter den Teilnehmern
- Die Teilnehmer haben das Gefühl, dass ihre Interessen wahrgenommen werden
- Die dokumentierte Basis wurde gemeinsam erdacht, weshalb unterschiedliche Blickwinkel einfliessen
Zusammengefasst lässt sich also sagen, dass die gemeinsame Analyse von Anforderungen positive psychologische und gruppendynamische Auswirkungen auf das Projekt hat.
Mit diesen Methoden lassen sich die Anforderungen identifizieren
Es gibt unterschiedliche Recherchemethoden, um die vorhandenen Requirements zu identifizieren. Welche von ihnen infrage kommen, hängt vom Unternehmen, dem jeweiligen Projekt und dem aktuellen Wissensstand ab. Unabhängig von der gewählten Methodik sollte sich der Rechercheaufwand jedoch in einem angemessenen Rahmen bewegen. Folgende Methoden kommen bei der Anforderungsanalyse regelmässig zum Einsatz:
Fallstudien: Diese Beispiele von unterschiedlichen Szenarien helfen dabei, Projektanforderungen detailliert zu erfassen. Mit ihnen lassen sich repräsentative Daten sammeln, die die Grundlage für die Requirements Analyse darstellen können. Hier geht es beispielsweise darum, Verhaltensweisen von Anwendern zu identifizieren, zu dokumentieren und zu prüfen. Letztendlich bilden Fallstudien das Fundament, um einen zuverlässigen Strategieplan zu erstellen.
Fragebögen: Mit Fragebögen lassen sich aktuelle Anforderungen identifizieren. Sie umfassen sämtliche Aspekte des Projekts, wobei sie sich an Personen mit unterschiedlichem Hintergrund richten sollten. Allerdings kommt es häufig vor, dass sich die Befragten nicht ausreichend Zeit für ihre Beantwortung nehmen. Daher kann ein anschliessendes Gespräch erforderlich sein.
Mindmapping: Das Mindmapping ist eine weitere zuverlässige Methode, um vorhandene Anforderungen zu identifizieren. Als visuelle Form des Brainstormings konzentriert es sich darauf, das grobe Konzept oder allgemeine Features und Funktionen aufzulisten. Detaillierte Projektanforderungen lassen sich mit Mindmapping ebenfalls erfassen, erfordern üblicherweise jedoch einen zweiten oder dritten Durchlauf.
Prototypen: Die Prototypentwicklung kann als Visualisierung möglicher Projektergebnisse hilfreich sein. Der Grund dafür ist, dass es vielen Menschen schwerfällt, sich unbekannte Szenarien vorzustellen. Ein Prototyp bietet daher ein erstes potentielles Ergebnis, auf dem sich weitere Überlegungen wie beispielsweise das Mindmapping aufbauen lassen.
Use-Cases: Use-Cases sind ein zentrales Element der Projektplanung und helfen dabei, konkrete Features im Projekt umzusetzen. Kombiniert mit Personas lassen sie sich als essenzieller Bestandteil der Analysen nutzen. Denn der Use-Case konzentriert sich auf exakte Abläufe innerhalb eines vorher definierten Rahmens. Dabei können sowohl Menschen als auch Systeme die Aktoren darstellen. Auf diese Weise lassen sich Schritt für Schritt alle erforderlichen Anforderungen ermitteln.
Welche Methoden letztlich zum Einsatz kommen, hängt von zahlreichen Faktoren ab. Doch unabhängig davon, sollte die Ermittlung stets vollständige, eindeutige und verständliche Ergebnisse mit sich bringen. Dabei gilt es zudem, die einzelnen Funktionalitäten atomar und einheitlich zu dokumentieren. Dadurch bleiben sie verständlich, übersichtlich und lassen sich im weiteren Verlauf der Entwicklung prüfen und verfolgen.
Fazit
Eine durchdachte Anforderungsanalyse steigert die Erfolgschancen von Softwareprojekten. Sie stellt sicher, dass das Projektteam die Anforderungen kennt und entsprechend umsetzen kann. Gleichzeitig stellt die vorherige Analyse sicher, dass die Systemarchitektur zu den tatsächlichen Anforderungen passt und wichtige Features nicht in Vergessenheit geraten. Zudem schafft sie ein gemeinsames Verständnis für alle involvierten Personen. Das macht die Analyse der Requirements zu einem wichtigen Tool für das Projektmanagement.