Klassisch, agil, und dann? – Teil 1 Klassische Ansätze im Requirements Engineering
Anbieter zum Thema
Für das Requirements Engineering sind heute in der Fachliteratur zahlreiche etablierte Standards, Konzepte und Methoden dokumentiert. Gleichzeitig wurden Softwareprojekte immer heterogener, sodass es nicht die eine RE-Methode für alles gibt. Diese dreiteilige Serie gibt einen Überblick zu klassischen und agilen Verfahren und wirft einen Blick auf zukünftige Herausforderungen des RE.

Die Forschung im Bereich des Requirements Engineering (RE) konnte in den letzten beiden Jahrzehnten beachtliche Fortschritte erzielen. Jedoch bewegt sich das Requirements Engineering wie das Software Engineering insgesamt in einem hochdynamischen, komplexen Umfeld mit sich ständig ändernden Einflussfaktoren und Umweltbedingungen, die regelmäßig neue Anforderungen an Vorgehensweisen, Konzepte und Werkzeuge stellen.
Gleichzeitig sind die Rahmenbedingungen in Softwareprojekten heute so heterogen, dass es nicht die eine oder einige wenige Requirements-Engineering-Methoden gibt, die alle Bedürfnisse und Ansprüche der verschiedenen Domänen zufriedenstellend bedienen.
Viele etablierte Methoden des klassischen Requirements Engineering wurden vor 20 bis 30 Jahre entwickelt und adressieren daher wesentliche Rahmenbedingungen nicht, mit denen sich Unternehmen heute in der Praxis konfrontiert sehen, wie z.B. hohe Markteintritts- und Innovationsgeschwindigkeit oder globale Softwareentwicklungsprojekte.
Als Reaktion auf die veränderten Einflussgrößen, denen Software entwickelnde Unternehmen heute unterliegen erfahren insbesondere agile Prozessmodelle aufgrund ihrer Leichtgewichtigkeit eine hohe Popularität. Sie haben zum Ziel, Software schneller liefern zu können, mehr Flexibilität im Umgang mit volatilen Anforderungen zu schaffen sowie die Zusammenarbeit von Kunden und Entwicklungsteams im Sinne eines besseren Requirements-Engineering-Prozesses zu intensivieren.
Diese Beitragsserie beschäftigt sich im Schwerpunkt mit der Frage, welche theoretischen klassischen und agilen Verfahren und Konzepte aktuell in der Fachliteratur beschrieben sind. Ergänzend stellen die Autoren die Frage, welche weiteren wesentlichen Einflussfaktoren und Trends in Bezug auf RE derzeit identifizierbar sind.
Der Aufbau der Arbeit gliedert sich wie folgt:Teil 1 beschreibt zunächst für ein grundlegendes Verständnis der RE-Thematik die Grundlagen, Konzepte und Methoden des klassischen Requirements Engineering. Kapitel 2 beschäftigt sich im Schwerpunkt mit den agilen Verfahren. Nach einer Einführung in die Historie, Hintergründe und agilen Methoden fokussiert der Autor insbesondere auf das agile Requirements Enginneering (ARE). Ferner werden die Techniken des traditionellen RE im Kontext agiler Verfahren beleuchtet sowie Synergien und Unterschiede dargestellt.
Im dritten Teil schließlich werden besondere Herausforderungen und Trends beschrieben, die das Requirements Engineering aktuell und in der Zukunft wesentlich beeinflussen.
Klassisches Requirements Engineering
Das klassische Requirements Engineering ist ein systematischer Ansatz zur Spezifikation und zum Management von Anforderungen für ein Softwaresystem. Das Ziel des Requirements Engineering ist es, die Anforderungen vor der eigentlichen Entwicklung des Softwaresystems zu erfassen und damit spätere, kostenintensive Anpassungen zu verhindern. Im Requirements Engineering geht man von den folgenden wichtigen Annahmen aus.
Erstens: Je später Fehler im Softwareentwicklungsprozess gefunden werden, desto kostspieliger ist deren Behebung. Zweitens: Die notwendigen Anforderungen sind zu kennen, Anforderungen zu vorgegebenen Standards zu dokumentieren und zu managen. Stakeholder sollten dabei mit einbezogen werden. Drittens: Eine stabile Menge von Anforderungen kann vor dem nächsten Inkrement des Systementwurfs und der Implementierung bestimmt werden. Viertens: Es sollte auf die Wünsche der Stakeholder eingegangen, sowie diese auch verstanden werden, damit die Anforderung exakt spezifiziert, getestet und dokumentieren werden kann.
Die Basis des Requirements Engineering ist eine fehlerfreie und vollständige Anforderungssammlung für eine erfolgreiche Systementwicklung. Im Requirements Engineering werden vier wesentliche Aktivitäten ausgeführt: Ermitteln, Dokumentieren, Prüfen und Abstimmen sowie Verwalten von Anforderungen.
Artikelfiles und Artikellinks
(ID:42691850)