cpre_foundationlevel_handbook_de_v1.1.2 Kapitel7.pdf
Document Details
Uploaded by Caraic
null
Tags
Full Transcript
7 Werkzeugunterstützung Ein Requirements Engineer braucht Werkzeuge, um seine handwerklichen Fähigkeiten richtig ausüben zu können - so wie ein Schreiner seine Werkzeuge, Bleistift, Hammer, Säge und Bohrer braucht, um ein Möbelstück zu entwerfen und zu realisieren. Ohne Werkzeuge ist es schwierig od...
7 Werkzeugunterstützung Ein Requirements Engineer braucht Werkzeuge, um seine handwerklichen Fähigkeiten richtig ausüben zu können - so wie ein Schreiner seine Werkzeuge, Bleistift, Hammer, Säge und Bohrer braucht, um ein Möbelstück zu entwerfen und zu realisieren. Ohne Werkzeuge ist es schwierig oder unmöglich, die Anforderungen zu erfassen, gemeinsam an den Anforderungen zu arbeiten und die Kontrolle über die Anforderungen zu haben. Dieses Kapitel untersucht die verschiedenen verfügbaren Arten von Requirements Engineering (RE) Werkzeugen und die Aspekte, die bei der Einführung von Requirements Engineering Werkzeugen in einer Organisation berücksichtigt werden müssen. 7.1 Werkzeuge im Requirements Engineering Requirements Engineering ist ohne die Unterstützung von Werkzeugen eine schwierige Aufgabe. Es werden Werkzeuge zur Unterstützung der Aufgaben und Aktivitäten des Requirements Engineering benötigt. Vorhandene Werkzeuge konzentrieren sich auf die Unterstützung spezifischer Aufgaben, wie z.B. die Dokumentation von Anforderungen oder die Unterstützung des RE-Prozesses, und selten auf alle Aufgaben und Aktivitäten im Requirements Engineering Prozess. Es ist daher nicht überraschend, dass der Requirements Engineer über eine Reihe von Werkzeugen verfügen muss, um die verschiedenen Komponenten im Requirements Engineering Prozess zu unterstützen - so wie der Schreiner mehrere Werkzeuge (z.B. Computer-Aided Design (CAD)) benötigt, um ein Möbelstück zu entwerfen und Werkzeuge wie Säge, Schaber und Schleifpapier benötigt, um es zu realisieren. Werkzeuge sind lediglich eine Hilfe für den Requirements Engineering Prozess und den Requirements Engineer, und solche Werkzeuge werden CASE-Werkzeuge (Computer-Aided Software Engineering) genannt. CASE-Werkzeuge unterstützen eine bestimmte Aufgabe im Software-Produktionsprozess [Fugg1993]. Wir unterscheiden zwischen verschiedenen Arten von Werkzeugen, die die folgenden Aspekte des Requirements Engineering unterstützen: ▪ Verwaltung von Anforderungen Werkzeuge in dieser Kategorie haben die Eigenschaften, die zur Unterstützung der in Kapitel 6 beschriebenen Aktivitäten und Themen erforderlich sind. Mit dieser Art von Werkzeugen kann mehr Kontrolle über den Requirements Engineering Prozess hergestellt werden. Anforderungen sind Veränderungen unterworfen, und in einem Umfeld, in dem dies häufig vorkommt, ist ein Werkzeug mit den entsprechenden Eigenschaften unverzichtbar. Werkzeuge in dieser Kategorie unterstützen: ▪ Definition und Speichern von Anforderungsattributen zur Identifizierung und Sammlung von Daten über Arbeitsprodukte und Anforderungen, wie in Kapitel 6.5 beschrieben Foundation Level | Handbuch | © IREB 162 | 174 ▪ ▪ ▪ Erleichterung und Dokumentation der Priorisierung von Anforderungen (Kapitel 6.8) Lebenszyklusmanagement, Versionskontrolle, Konfigurationen und Baselines, wie in den Kapiteln 6.2, 6.3, und 6.4 beschrieben ▪ Nachverfolgung und Rückverfolgung von Anforderungen sowie von Defekten in den Anforderungen und Arbeitsprodukten (Kapitel 6.6) ▪ Änderungsmanagement für Anforderungen. Wie wir in Kapitel 6.7 erfahren haben, sind Änderungen unvermeidlich und müssen sorgfältig gehandhabt werden. Requirements Engineering Prozess Zur Unterstützung des Requirements Engineering-Prozesses werden Informationen benötigt, die es ermöglichen, den Prozess anzupassen oder zu verbessern. Diese Art von Werkzeug ermöglicht: ▪ ▪ Messung und Berichterstattung über den Requirements Engineering Prozess und Workflow ▪ Diese Informationen tragen dazu bei, den Requirements Engineering Prozess zu verbessern und Verschwendung zu reduzieren. ▪ Messung und Berichterstattung über die Produktqualität ▪ Diese Informationen helfen bei der Suche nach Fehlern und Mängeln, die wiederum zur Verbesserung der Produktqualität genutzt werden können. Dokumentation des Kenntnisstandes über die Anforderungen Die Menge an Wissen (und Anforderungen), die in einem Projekt aufgebaut wird, kann enorm sein. Darüber hinaus wird über ein Produkt während seines Lebenszyklus eine große Menge an Wissen aufgebaut. Alle relevanten Informationen müssen sorgfältig dokumentiert werden, um Folgendes zu ermöglichen: ▪ ▪ Gemeinsame Nutzung und Schaffung eines gemeinsamen Verständnisses der Anforderungen ▪ Sicherung der Anforderungen als rechtliche Verpflichtung ▪ Überblick über und Einblick in die Anforderungen Modellierung von Anforderungen Wie wir in Kapitel 3.4.1.6 gelernt haben, nutzt das Ausdrücken von Anforderungen sowohl in Diagrammen als auch in natürlicher Sprache die Stärken beider Notationsformen. Ein Werkzeug, mit dem Anforderungen modelliert werden können, ermöglicht Ihnen das: ▪ ▪ Strukturieren Ihrer eigenen Gedanken - es kann als Denkhilfe verwendet werden ▪ Spezifizieren der Anforderungen in einer formelleren Sprache als Textanforderungen, mit allen Vorteilen, die dies mit sich bringt Zusammenarbeit im Requirements Engineering Wenn mehrere Personen und Disziplinen am gleichen Projekt arbeiten, kann ein Werkzeug diese Zusammenarbeit unterstützen und ermöglichen, insbesondere in der Welt, in der wir heute leben, wo immer mehr Aktivitäten vor Ort (zu Hause) Foundation Level | Handbuch | © IREB 163 | 174 durchgeführt werden. Diese Art von Werkzeug unterstützt die Ermittlung, Dokumentation und Verwaltung von Anforderungen. ▪ Testen und/oder Simulieren von Anforderungen Die Werkzeuge werden immer ausgefeilter. Es werden immer mehr Möglichkeiten entwickelt, Anforderungen im Voraus zu testen und/oder zu simulieren. Dies ermöglicht eine bessere Vorhersage, ob die vorgeschlagenen Anforderungen die beabsichtigte Wirkung haben werden. Die verfügbaren Werkzeuge sind oft eine Mischung des oben genannten. Wie bereits erwähnt, müssen möglicherweise verschiedene Werkzeuge kombiniert werden, um das Requirements Engineering angemessen zu unterstützen. Werden verschiedene Werkzeuge verwendet, so ist es wichtig, auf die Integration zwischen ihnen und die Interaktion mit anderen Anwendungen und Systemen zu achten, um einen reibungslosen Betrieb zu gewährleisten. Manchmal werden auch andere Arten von Werkzeugen, z.B. Office- oder Issue-TrackingTools, zur Dokumentation oder Verwaltung von Anforderungen verwendet oder besser gesagt, missbraucht. Diese Werkzeuge haben jedoch ihre Grenzen und sollten nur dann verwendet werden, wenn die Requirements Engineers und Stakeholder die Kontrolle über den RE-Prozess haben und die Anforderungen aufeinander abgestimmt sind. Andernfalls stellt dies ein großes Risiko im RE-Prozess dar, da solche Werkzeuge keine Aktivitäten des Requirements Management unterstützen. 7.2 Werkzeugeinführung Die Auswahl eines RE-Werkzeugs unterscheidet sich nicht von der Auswahl eines Werkzeugs für einen anderen Zweck. Sie sollten die Ziele, den Kontext und die Anforderungen beschreiben, bevor Sie das/die geeignete(n) Werkzeug(e) auswählen und implementieren. Werkzeuge sind lediglich eine Hilfe für den Requirements Engineering Prozess und den Requirements Engineer. Sie lösen keine organisatorischen oder menschlichen Probleme. Stellen Sie sich vor, Sie wollen gemeinsam mit Ihren Kollegen die Anforderungen einheitlich dokumentieren. Werkzeuge können dies unterstützen, z.B. mit einer Vorlage in einem Textverarbeitungsprogramm oder einer Wiki-Seite. Dies stellt weder sicher, dass alle Ihre Kollegen diese Arbeitsmethode übernehmen, noch gewährleistet es, dass Ihre Kollegen die Disziplin haben, ihre Anforderungen auf diese Weise zu erfassen und zu verwalten. Es kann helfen eine Vereinbarungen miteinander zu treffen, zu überprüfen, ob die Vereinbarungen eingehalten werden und miteinander kommunizieren zu können, wenn Vereinbarungen nicht eingehalten werden. Ein Werkzeug wird Ihnen dabei nicht helfen. Die Einführung eines Requirements-Engineering-Tools erfordert klare Verantwortlichkeiten und Verfahren für das Requirements Engineering. Ein Werkzeug kann Ihnen helfen, Ihren Requirements Engineering Prozess effektiv und effizient zu konfigurieren. Werkzeuge bieten oft einen Rahmen, der auf Erfahrungen mit Foundation Level | Handbuch | © IREB 164 | 174 bewährten Praktiken basiert. Diese Rahmen können dann auf die jeweilige Situation zugeschnitten werden. Wie wir in den vorhergehenden Kapiteln gelernt haben, sind die Kernaktivitäten des Requirements Engineering keine eigenständigen Prozesse. Die Auswahl der geeigneten RE-Werkzeuge beginnt mit der Definition der Ziele und/oder Probleme, die Sie im RE-Prozess lösen möchten. Der nächste Schritt besteht darin, den Kontext des Systems (in diesem Fall den Werkzeugsatz) zu bestimmen. Berücksichtigen Sie die Aspekte des Kontexts, d.h. Stakeholder, Prozesse, Ereignisse usw., und wenden Sie Ihre Requirements Engineering-Fähigkeiten an, um die Anforderungen an die RE-Werkzeuge zu spezifizieren. Praktizieren Sie, was Sie predigen. Die nächsten Kapitel beschreiben einige der Aspekte, die bei der Einführung eines (neuen) Requirements Engineering Werkzeugs in Ihrer Organisation berücksichtigt werden müssen. 7.2.1 Alle Lebenszykluskosten über die Lizenzkosten hinaus berücksichtigen Die offensichtlichsten Kosten, wie z.B. Anschaffungskosten oder Lizenzkosten, werden in der Regel berücksichtigt. Darüber hinaus müssen auch weniger sichtbare Kosten berücksichtigt werden, wie z.B. der Einsatz von Ressourcen bei der Implementierung, dem Betrieb und der Wartung des Tools. 7.2.2 Benötigte Ressourcen einplanen Die Spezifizierung der Anforderungen und die Überwachung des Auswahlprozesses erfordert die notwendigen Ressourcen, zusätzlich zu den im vorigen Kapitel erwähnten Kosten. Personen, die für die Leitung des Auswahlprozesses erforderlich sind, Requirements Engineers, Hardwareressourcen und andere Ressourcen sollten nicht übersehen werden. Nachdem das Werkzeug in Betrieb genommen wurde, können auch Ressourcen für Wartung und Benutzerunterstützung erforderlich sein. 7.2.3 Vermeiden von Risiken durch die Durchführung von Pilotprojekten Die Einführung eines neuen Werkzeugs kann die Kontrolle über die aktuelle Anforderungsbasis gefährden. Es kann ein Anforderungschaos entstehen, weil es einen Übergang von der alten Arbeitsmethode und/oder den alten Werkzeugen zur neuen Arbeitsmethode und den neuen Werkzeugen gibt. Die Einführung eines neuen Werkzeugs während eines bestehenden Projekts wird unwiderruflich zu einer Verzögerung bei der Erfüllung der Anforderungen und sogar des Projekts führen. Die Einführung eines neuen Werkzeugs, möglicherweise mit einer anderen Arbeitsmethode, sollte in kleinem Maßstab getestet werden, bei dem die Risiken und Auswirkungen überschaubar bleiben. Es gibt mehrere Möglichkeiten, dies zu tun: Foundation Level | Handbuch | © IREB 165 | 174 ▪ Anwenden des Werkzeugs auf ein unkritisches Projekt/System ▪ Verwenden Sie das Werkzeug redundant in Ergänzung zu einem bestehenden Projekt ▪ Wenden Sie das Werkzeug auf eine fiktive Situation/ein fiktives Projekt an ▪ Importieren/Kopieren Sie die Anforderungen eines bereits abgeschlossenen Projekts Wenn Sie den Punkt erreicht haben, an dem das Werkzeug die gesetzten Ziele und Anforderungen erfüllt, kann es innerhalb der Organisation oder in anderen Projekten weiter verbreitet werden. 7.2.4 Bewerten des Werkzeugs nach definierten Kriterien Die Auswahl des geeigneten Werkzeugs kann eine schwierige Aufgabe sein. Eine umfassende Überprüfung, ob die Ziele und Anforderungen erfüllt werden, ist ein Standardansatz im Requirements Engineering. Ein systematischer Ansatz, der das Werkzeug aus verschiedenen Perspektiven beurteilt, trägt ebenfalls dazu bei, die richtige Wahl zu treffen. Die folgenden Perspektiven können in Betracht gezogen werden: ▪ Projekt-Perspektive Dieser Gesichtspunkt hebt die Aspekte des Projektmanagements hervor. Unterstützt das Werkzeug das Projekt und die im Projekt benötigten Informationen? ▪ Prozess-Perspektive Diese Perspektive verifiziert die Unterstützung des Requirements EngineeringProzesses. Unterstützt das Werkzeug den RE-Prozess ausreichend? Kann es ausreichend an den bestehenden RE-Prozess und die Arbeitsmethode angepasst werden? ▪ Benutzer-Perspektive Diese Perspektive verifiziert den Grad der Anwendung durch die Benutzer des Werkzeugs. Dies ist eine wichtige Sichtweise, denn wenn die Benutzer mit dem Werkzeug nicht zufrieden sind, steigt das Risiko, dass das Tool nicht akzeptiert wird. Unterstützt das Tool die Autorisierung von Benutzern und Gruppen ausreichend? Ist es ausreichend benutzerfreundlich und intuitiv? ▪ Produkt-Perspektive Die Funktionalitäten, die das Werkzeug bietet, werden unter diesem Gesichtspunkt verifiziert. Werden die Anforderungen durch das Werkzeug ausreichend abgedeckt? Wo werden die Daten gespeichert? Gibt es eine Roadmap mit den funktionalen Erweiterungen für das Werkzeug? Wird das Werkzeug immer noch vom Anbieter unterstützt? ▪ Anbieter-Perspektive Bei dieser Perspektive liegt der Schwerpunkt auf dem Service und der Zuverlässigkeit des Anbieters. Wo befindet sich der Anbieter? Wie ist die Unterstützung für dieses Werkzeug geregelt? Foundation Level | Handbuch | © IREB 166 | 174 ▪ Wirtschaftliche Perspektive Diese Perspektive betrachtet den Business Case: Liefert das Werkzeug im Verhältnis zu den Kosten einen ausreichenden Nutzen? Wie hoch sind die (Verwaltungs-)Kosten für den Kauf und die Wartung? Was bietet das Werkzeug für den RE-Prozess? Ist ein (separater) Wartungsvertrag erforderlich? ▪ Architektur-Perspektive Diese Perspektive beurteilt, wie das Werkzeug in die (IT-)Organisation passt. Ist die angewandte Technologie für die Organisation geeignet? Kann das Werkzeug ausreichend mit anderen Systemen verknüpft werden? Passt das Werkzeug in die ITLandschaft und entspricht es den architektonischen Randbedingungen? 7.2.5 Unterweisen der Mitarbeiter in der Anwendung des Werkzeugs Sobald ein Werkzeug ausgewählt wurde, sollten sich die Benutzer mit den Möglichkeiten vertraut machen, die das Werkzeug dem Requirements Engineering Prozess hinzufügen kann. Die Benutzer - d.h. die Requirements Engineers - sollten in der Anwendung des Werkzeugs im bestehenden Requirements Engineering Prozess geschult werden. Wenn die Benutzer nicht ausreichend geschult sind, kann dies bedeuten, dass nicht alle Vorteile des Werkzeugs genutzt werden. Tatsächlich ist es möglich, dass das Werkzeug falsch eingesetzt wird, mit allen damit verbundenen Konsequenzen. Der Requirements Engineering Prozess kann auch aufgrund des gewählten Werkzeugs geändert werden. Aspekte im Requirements Engineering Prozess, die vorher nicht möglich waren, können mit einem neuen Werkzeug ermöglicht werden, z.B. adäquates Versionsmanagement, Modellierung von Anforderungen, etc. Dies kann bedeuten, dass neue Verfahren vereinbart werden, Vorlagen angepasst oder angewendet werden, Änderungen an der Arbeitsmethode vorgenommen werden und so weiter. Die Beteiligung des Requirements Engineers an dieser Änderung trägt zum Erfolg der Akzeptanz des Werkzeugs bei. 7.3 Weiterführende Literatur Die folgende Literatur kann für einen Überblick über die verfügbaren Werkzeuge und Werkzeugevaluationen herangezogen werden. Juan M. Carrillo de Gea et. al. geben einen umfassenden Überblick über die Rolle von Requirements Engineering Werkzeugen [dGeA2011]. Der Artikel von Barbara Kitchenham, Stephen Linkman, David Law [KiLL1997] beschreibt und validiert eine Methode zur systematischen Bewertung von Werkzeugen. Wenn Sie auf der Suche nach einem RE-Werkzeug sind, finden Sie eine umfassende Liste von Werkzeugen für das Requirements Engineering auf der Volere-Website [Vole2020] oder bei [BiHe2020]. Foundation Level | Handbuch | © IREB 167 | 174