Module und Inhalte
Modul 1: Einführung in das Requirements Engineering
Requirements Engineering (RE) hat eine zentrale Rolle in der Software-Entwicklung. Seine Ergebnisse sind Grundlage der Projektplanung, der Entwicklung und des Testens.
Die Studierenden lernen den Nutzen von und die Auswirkungen des unzulänglichen RE kennen. Sie können Anforderungsarten unterscheiden, die verschiedenen Konstellationen für RE erkennen, sowie den Kontext des Projekts und Systems definieren.
Modul 2: Einführung in die agile Vorgehensweise
Die agile Vorgehensweise ist etabliert und wird in immer mehr Unternehmen gegenüber dem klassischen Vorgehen bevorzugt. Die Popularität fusst in der Einfachheit der Prinzipien und Techniken. In Unternehmen, die für das agile Vorgehen nicht bereit sind, generiert dies Fallstricke.
Die Studierenden lernen den Ursprung und das Wesen von agilen Vorgehensweisen kennen, können die verschiedenen Ausprägungen charakterisieren und wissen, wie sie agile Methoden im RE-Prozess integrieren können. Sie kennen das weit verbreitete Vorgehen nach Scrum, XP-Techniken und Methoden zum Skalieren von Agile.
Modul 3: Anforderungen erheben
Der entscheidende Schritt ist das Erheben von Bedürfnissen und Wünschen der (potentiellen) künftigen Benutzerinnen und Benutzer des Systems und allen anderen, die an das Ergebnis des Vorhabens Erwartungen knüpfen.
Die Studierenden lernen die verschiedenen Erhebungstechniken kennen, können Interviews führen und Kreativitätstechniken wirksam anwenden. Sie beherrschen einige der Priorisierungstechniken.
Modul 4: User Centered Design und Prototyping
Die Gestaltung der Benutzerschnittstelle von interaktiven Anwendungen ist entscheidend für die Akzeptanz und den Erfolg eines Software-Produkts. Diese Aufgabe nehmen heute immer mehr geschulte User-Experience-Spezialisten wahr. Nichtsdestotrotz ist es wesentlich, dass Requirements Engineers mit den Prinzipien benutzerfreundlicher Schnittstellen vertraut sind.
Die Studierenden lernen die Grundlagen zu Usability und User Experience, User Centered Design, Analyse der Benutzer, Analyse des Kontexts, Analyse der Aufgaben, Interaction Design und Design-Prinzipien, Prototyping sowie User Interface Evaluation kennen.
Modul 5: Anforderungen dokumentieren
Das Ergebnis der Erhebung ist das Rohmaterial, aus dem Requirements Engineers die Anforderungen meisseln. Das Spektrum der Möglichkeiten, Anforderungen zu spezifizieren, reicht von der natürlichen Sprache über semiformale Darstellungen bis hin zu auf Algebra basierenden formalen Spezifikationen. Wichtig ist, dass alle, die mit den Anforderungen in Berührung kommen, die Notation lesen können, in der die Anforderungen dokumentiert sind.
Die Studierenden können Anforderungen sowohl in der natürlichen Sprache als auch mit Modellen in allen drei Perspektiven Funktionalität, Struktur und Verhalten spezifizieren. Sie wissen, wann in der agilen Vorgehensweise eine nachhaltige Dokumentation der Anforderungen erforderlich ist und wann die mit User Stories ausgedrückte Intentionen hinreichend sind.
Modul 6: Anforderungen prüfen
Die in der Spezifikation der Anforderungen gemachten Fehler kommen am teuersten zu stehen. Darum reicht es nicht zu versuchen, die Anforderungen gewissenhaft zu erheben und zu dokumentieren. Es zahlt sich aus zu prüfen, mit welchem Erfolg dies gelungen ist.
Die Studierenden kennen die Fehlerarten in Anforderungen und wissen, mit welcher Technik sie entdeckt werden können. Sie sind in der Lage, ein Anforderungsdokument zu reviewen, sie können die Konsistenz von Modellen prüfen und sie wissen, wie man Prototypen prüft und wie man sich in Backlog-Refinement-Sitzungen verhält.
Modul 7: Anforderungen verwalten
Wegen ihrer zentralen Rolle ist es unabdingbar, dass Anforderungen eindeutig gekennzeichnet sind. Denn diese ändern sich während des Projektverlaufs. Je nach Vorgehensweise, agil oder klassisch bzw. vertraglichen Abmachungen oder Normenregelungen, werden die Änderungen der Anforderungen unterschiedlich gehandhabt.
Die Studierenden können erklären, warum eine eindeutige Kennzeichnung notwendig ist und welchen Nutzen sie stiftet. Sie kennen die wichtigsten Attribute der Anforderungen und die unterschiedlichen Sichten der einzelnen Rollen. Für typische Konstellationen können sie ein Verfahren für die Behandlung der Änderungen von Anforderungen definieren. Sie kennen die Kategorien von Werkzeugen mit ihren Vor- und Nachteilen.
Modul 8: Abnahme der Lösung
Requirements Engineers postulieren die Anforderungen, also sollten sie auch in der Lage sein, die gelieferte Lösung abzunehmen.
Die Studierenden können das Wesen der Abnahme und des Abnahmetests erklären und sind in der Lage, Abnahmekriterien für verschiedene Projektkonstellationen zu definieren sowie Testfälle für den Abnahmetest abzuleiten.
Modul 9: Einbettung des Requirements Engineering in Organisationen
Der generische Requirements-Engineering-Prozess ist unabhängig vom Entwicklungsvorgehen. Die einzelnen RE-Tätigkeiten müssen in Abhängigkeit vom gewählten Entwicklungsvorgehen unterschiedlich organisiert werden.
Die Studierenden kennen die verschiedenen Organisationsmuster für die agile, klassische und hybride Vorgehensweise und können deren Vor-und Nachteile erläutern.
Modul 10: Gesprächsführung und Konfliktmanagement
Die Aufgaben von Requirements Engineers bestehen zu einem grossen Teil darin, mit Menschen zu sprechen, zum Beispiel in Meetings oder Workshops. Die Komplexität dieser Gespräche steigt mit der Komplexität der softwareintensiven Systeme, für welche Anforderungen erhoben werden sollen. Und erhöhte Komplexität bedeutet auch erhöhte Konfliktanfälligkeit. Wirkungsvolles Präsentieren, effizientes Führen von Gesprächen sowie das Erkennen und Bearbeiten von Konflikten gehört deshalb zu den Schlüsselkompetenzen von Requirements Engineers.
Die Studierenden lernen die Funktionsweise von Gesprächen zu verstehen, kooperative Gesprächstechniken anzuwenden, Sitzungen effizient zu leiten, Workshops zielführend zu moderieren, wirkungsvoll aufzutreten und zu präsentieren. Sie können Konflikttypen und Konflikt-Eskalationsstufen nach Glasl unterscheiden, Konfliktsituationen kommunikationspsychologisch analysieren und Konflikte systematisch bearbeiten.
Modul 11: Vertiefungsarbeit
Die Theorie kann besser verankert werden, wenn man sie an einem konkreten Beispiel aus der eigenen Praxis erprobt. Da Requirements Engineers in der Regel nicht alleine arbeiten, wird auch die Vertiefungsarbeit in Gruppen durchgeführt. Die Themen bringen die Studierenden ein und sie organisieren sich in den Gruppen selbst.
Die Studierenden haben das Erlernte auf ihre eigene Praxis abgebildet.
CPRE Zertifizierung (optional)
Studierende können auf freiwilliger Basis und auf eigene Kosten das IREB Zertifikat CPRE «Certified Professional for Requirements Engineering», Foundation Level oder das IREB RE@Agile Primer Zertifikat erwerben.