Mit dem Anforderungsmanagement wird gewährleistet, dass die Ziele der Software- und Produktentwicklung erreicht werden. Bei einer effektiven Durchführung wird die Kommunikation mit den Stakeholdern im Rahmen des gesamten Entwicklungs- und Projektlebenszyklus gefördert und sichergestellt, dass das Endprodukt ihren Erwartungen und den Anforderungen der Benutzer entspricht. Außerdem können Projektteams damit Fehler frühzeitig erkennen und so Projektkosten und Risiken reduzieren.
Das Anforderungsmanagement finden Sie in den Bereichen Application Lifecycle Management (ALM), Softwareentwicklung, Software Engineering und flexible Entwicklungsmethoden. Während das Projektmanagement in diesen Szenarien eine effiziente und termingerechte Durchführung des Projekts gewährleistet, stellt das Anforderungsmanagement die korrekte Erstellung des Endprodukts sicher.
Der Produktmanager ist in der Regel für die Entwicklung und Kuration von Anforderungen verantwortlich. Eine Reihe von Anforderungen kann jedoch von allen Stakeholdern beeinflusst werden, einschließlich Kunden und Partnern sowie Mitgliedern der Vertriebs-, Support-, Management-, Ingenieur-, Betriebs- und Projektteams.
Branchen-Newsletter
Bleiben Sie mit dem Think-Newsletter über die wichtigsten – und faszinierendsten – Branchentrends in den Bereichen KI, Automatisierung, Daten und darüber hinaus auf dem Laufenden. Weitere Informationen finden Sie in der IBM Datenschutzerklärung.
Ihr Abonnement wird auf Englisch geliefert. In jedem Newsletter finden Sie einen Abmeldelink. Hier können Sie Ihre Abonnements verwalten oder sich abmelden. Weitere Informationen finden Sie in unserer IBM Datenschutzerklärung.
Gemäß dem Standard der Software-Engineering-Terminologie des Institute of Electrical and Electronics Engineers (IEEE) ist eine Anforderung wie folgt definiert:
„(1) Eine Bedingung oder Funktion, die ein Benutzer zur Lösung eines Problems oder Erreichung eines Ziels benötigt. (2) Eine Bedingung oder Funktion, die ein System oder eine Systemkomponente zur Einhaltung eines Vertrags, einer Norm, einer Spezifikation oder anderer formell vorgeschriebener Dokumente erfüllen oder besitzen muss. (3) Eine dokumentierte Darstellung einer Bedingung oder Funktion im Sinne von (1) oder (2).“
Das bedeutet, dass Anforderungen alle Informationen sind, die sich auf die Erwartungen der Stakeholder und die Bedürfnisse der Benutzer an ein neues System, Produkt oder eine Anwendung beziehen. Diese Erwartungen und Bedürfnisse können Textanforderungen, Anwendungsfälle, Diagramme und Funktionen umfassen. Im flexiblen Kontext umfassen Anforderungen User Stories und Epics.
Projektteams nutzen Anforderungen auch zur Erfassung von Informationen, die andernfalls in den Backlogs der Produkte fehlen würden. So können die Anforderungen beispielsweise Informationen über nichtfunktionale Anforderungen, Funktionsbeschreibungen, Notizen zu Besprechungen mit den Stakeholdern und Architekturentscheidungen enthalten.
Im Allgemeinen wird zwischen drei Arten von Anforderungen unterschieden:
Bei diesen Anforderungen handelt es sich um die Erwartungen, Metriken und Geschäftsanforderungen, die erfüllt werden müssen, damit das System die Ziele des Unternehmens erreicht.
Diese Anforderungen legen die Merkmale und Funktionen eines Systems fest, die zur Erfüllung der Erwartungen und Bedürfnisse der Endbenutzer erforderlich sind.
Diese Anforderungen, die auch als technische Anforderungen bezeichnet werden, enthalten Einzelheiten über die zugrundeliegende Technologie, die für den Erfolg des Produkts entscheidend sind.
Anforderungen können auch in drei Kategorien unterteilt werden: funktionale, nicht-funktionale und fachliche Anforderungen.
Funktionale Anforderungen beziehen sich auf die Funktionalität eines neuen Systems, Produkts oder einer Anwendung. Diese Anforderungen sind messbar und entscheidend für die Erfüllung der Erwartungen und Bedürfnisse der Endbenutzer.
Beispiel: Die Software sollte den Benutzern die Anmeldung mit ihren IBM-Konten ermöglichen.
Nicht funktionale Anforderungen beziehen sich auf die Leistung der funktionalen Anforderungen eines Systems, Produkts oder einer Anwendung. So handelt es sich beispielsweise bei der Sicherheit, Zuverlässigkeit und Benutzerfreundlichkeit eines Systems allesamt um nicht-funktionale Anforderungen.
Beispiel: Das Online-Banking-Portal sollte innerhalb von drei Sekunden nach der Anmeldung vollständig geladen sein.
Fachliche Anforderungen beziehen sich auf spezifische Vorschriften, Normen, Regeln und Terminologien innerhalb einer Branche oder eines Fachgebiets, denen das System, das Produkt oder die Anwendung entsprechen muss.
Beispiel: Die Anwendung im Gesundheitswesen muss den Anforderungen des Health Insurance Portability and Accountability Act (HIPAA) entsprechen.
Produkte sind nur so gut wie die Anforderungen, die ihnen zugrunde liegen. Das Anforderungsmanagement stellt sicher, dass Projekte die Bedürfnisse und Erwartungen der Stakeholder und Benutzer effizient erfüllen. Das Anforderungsmanagement minimiert die Wahrscheinlichkeit von Fehlern, Risiken und Kosten und ermöglicht gleichzeitig eine schnellere Bereitstellung, Wiederverwendbarkeit und Rückverfolgbarkeit.
Das Anforderungsmanagement ist heute besonders wichtig, da das Internet der Dinge (IoT) nicht nur die Funktionsweise von Produkten, sondern auch ihr Design und ihren Entwicklungsprozess verändert hat. Die Produkte werden durch mehr Codezeilen und zusätzliche Software immer „intelligenter“ und komplexer. Das Anforderungsmanagement unterstützt Unternehmen bei der Bewältigung der Komplexität und der gegenseitigen Abhängigkeiten in den heutigen Softwareentwicklungs- und Engineering-Lebenszyklen, um die Produktentwicklung zu optimieren und die Bereitstellung zu beschleunigen.
Probleme im Anforderungsmanagement werden häufig als Hauptursache für das Scheitern von Projekten angeführt. Unzureichend festgelegte Anforderungen können zu einer schleichenden Ausweitung des Projektumfangs, Projektverzögerungen, Kostenüberschreitungen und einer schlechten Produktqualität führen, die nicht den Bedürfnissen der Stakeholder und Sicherheitsvorschriften entspricht.
Ein Anforderungsmanagementplan (RMP) erklärt, wie ein Projektteam alle Anforderungen innerhalb eines Projekts erhält, analysiert, dokumentiert und verwaltet. Der Plan deckt in der Regel alles ab, von der anfänglichen Informationserhebung bis hin zu detaillierteren Produktanforderungen, die das Team im Laufe des Projektlebenszyklus erfasst.
In einem Anforderungsmanagementplan müssen mehrere wichtige Punkte festgelegt werden: der Projektüberblick, der Prozess der Anforderungserfassung, die Rollen und Verantwortlichkeiten sowie die Tools und Rückverfolgbarkeit.
Ein Anforderungsmanagementplan ist für den Erfolg eines Projekts von entscheidender Bedeutung, da er den Ingenieurteams ermöglicht, den Projektumfang zu kontrollieren und den Produktentwicklungszyklus zu steuern. Anforderungsmanagement-Software bietet die Tools zur Ausführung des Plans und trägt so zur Kostensenkung, Verkürzung der Markteinführungszeit und Verbesserung der Qualitätskontrolle bei.
Ein typischer Prozess des Anforderungsmanagements ergänzt das V-Modell im Bereich Systems Engineering, ein systemtechnischer Ansatz, bei dem Verifizierung und Validierung gleiches Gewicht haben. Ein Workflow für das Anforderungsmanagement könnte diesen Schritten folgen:
Die Schritte innerhalb dieses Prozesses unterstützen Teams bei der Bewältigung der Komplexität, die mit der Entwicklung intelligenter, vernetzter Produkte einhergeht. Lösungen für das Anforderungsmanagement können auch zur Optimierung des Prozesses beitragen, indem sie die Markteinführung beschleunigen, die Möglichkeiten erweitern und die Qualität verbessern.
Früher haben Systemingenieure und Produktentwicklungsteams die Anforderungen mithilfe von Excel-Tabellen, E-Mails, Wikis und anderen Tools verwaltet. Im Zeitalter des IoT und der zunehmenden Komplexität der Anforderungen benötigen diese Teams jedoch einen besseren Überblick über Änderungen, umfassendere Erkenntnisse über Daten und gemeinsame Tools für die globale Zusammenarbeit.
Digitale Tools für das Anforderungsmanagement unterstützen die Nachverfolgung von Anforderungsänderungen an einem sicheren, zentralen und zugänglichen Ort, so dass eine bessere Zusammenarbeit zwischen den Teammitgliedern möglich ist. Durch die erhöhte Transparenz wird Nacharbeit minimiert und die Flexibilität verbessert, während gleichzeitig sichergestellt wird, dass die Anforderungen mit den Branchen- und Regulierungsstandards übereinstimmen.
Künstliche Intelligenz (KI) ergänzt das digitale Anforderungsmanagement zusätzlich. Die Technologie, die Computern und Maschinen die Simulation menschlichen Lernens, menschlicher Entscheidungsfindung und Autonomie ermöglicht, kann auch zur Bewältigung der zunehmenden Datenmenge und Komplexität des Anforderungsmanagements beitragen und so die Qualität verbessern und die Durchlaufzeiten verkürzen.
Zu den Vorteilen von KI und digitalem Anforderungsmanagement gehören:
Automatisierte, cloud-basierte Anforderungslösungen ermöglichen Teammitgliedern die Zusammenarbeit in Echtzeit und den Austausch von Informationen in und zwischen Dokumenten, unabhängig vom Standort. Unternehmen können den gesamten Versionskontroll- und Variantenprozess über gemeinsame Dashboards und E-Mail-Benachrichtigungen digital verwalten und überwachen. Auf diese Weise haben die Teams bei Bedarf immer Zugriff auf die aktuellsten und genauesten Informationen.
Herkömmliche Anforderungsmanagement-Tools sind nicht in der Lage, Anforderungsspezifikationen mit Anmerkungen zu versehen, ohne die ursprüngliche Struktur und den Kontext zu verändern. In Textverarbeitungsprogrammen müssen die Benutzer dann die Anforderungen aus den Dokumenten in Tabellenkalkulationen kopieren und die Änderungen in den verschiedenen Versionen manuell synchronisieren. Mit dem digitalen Anforderungsmanagement können Teams Vorlagen zur Optimierung der Informationsstrukturen erstellen, die eine globale Zusammenarbeit und eine Single-Source-of-Truth (SSOT) ermöglichen.
Diese Tools können die Erstellung und Pflege von Beziehungen im Rahmen des gesamten Entwicklungslebenszyklus automatisieren, einschließlich der Beziehungen zwischen Projektanforderungen, Arbeitselementen, Architektur, Design und Testplänen. So können sie beispielsweise einzelne Artefakte mit Testfällen verknüpfen, um einen vollständigen Überblick über die laufenden Änderungen zu erhalten. Eine bessere Rückverfolgbarkeit unterstützt die Teams auch bei der effizienteren Erfüllung von Audit-Anfragen. Außerdem trägen sie zu einem besseren Verständnis der Auswirkungen von Veränderungen bei und ermöglichen so eine angemessenere Change-Management-Reaktion.
Mit digitalen Anforderungsmanagement-Lösungen können Teams dieselbe Anforderung an mehreren Stellen verwenden, ohne sie neu festlegen zu müssen. Diese Funktion ermöglicht Unternehmen die effizientere Erstellung von Versionen, Varianten und Prototypen von Produkten und Systemen. Eine „Master“-Kopie stellt sicher, dass Änderungen an einer Version auf alle Instanzen übertragen werden. Teams können Baselines erstellen, um den Status einer Anforderung in Echtzeit zu ermitteln und das Auftreten von Benutzerfehlern zu reduzieren.
Einige Tools verwenden Funktionen zur Verarbeitung natürlicher Sprache (NLP), um die Vollständigkeit, Einheitlichkeit und Genauigkeit von Anforderungen im Rahmen ihrer Erstellung zu verbessern. Die Technologie unterstützt die menschliche Arbeit, um Mehrdeutigkeit zu beseitigen und kostspielige Fehler zu vermeiden. Maschinelles Lernen (ML) ermöglicht einem Tool das Erlernen von Feinheiten und Zusammenhängen, so dass es mit zunehmender Nutzung durch die Teams immer intelligenter wird.
Machen Sie Ihre Geschäftsabläufe mit KI-gestützten Lösungen für intelligentes Asset-Management und Lieferketten resilienter.
Transformieren Sie Ihre Geschäftsabläufe mit IBM, indem Sie umfangreiche Daten und leistungsstarke KI-Technologien nutzen, um Optimierungsprozesse zu integrieren.
IBM Cloud Pak for Business Automation ist ein modularer Satz integrierter Softwarekomponenten für das Betriebsmanagement und die Automatisierung.