Agiles Requirements Engineering

Klassisches Requirements Engineering und agile Entwicklungsprozesse kombinieren

30.09.2010 | Autor / Redakteur: Tim Weilkiens* / Hendrik Härter

Mit dem agilen Requirement Engineering soll das oft als bürokratisch und unproduktiv geltende RE aufgebrochen werden
Mit dem agilen Requirement Engineering soll das oft als bürokratisch und unproduktiv geltende RE aufgebrochen werden

Klassisches RE gilt als zu bürokratisch und unproduktiv. Abhilfe soll das agile Requirements Engineering (ARE) schaffen. Es integriert klassisches RE mit agilen Entwicklungsprozessen.

Aktuelle Frameworks, Bibliotheken, Tools und andere technische Themen dominieren die Aufmerksamkeit der Softwareentwicklung. Die eigentliche Achillesverse ist aber das Requirements Engineering (RE).

Was nützt das technisch ausgefeilste System, wenn der Kunde davon nur 30% haben wollte und davon wiederum nur 20% genauso funktionieren wie gefordert?

Das klassische RE gilt oft als bürokratisch und unproduktiv. Beliebter sind agile Vorgehensweisen, die aber das RE nur begrenzt adressieren. Das agile Requirements Engineering, kurz ARE genannt, integriert die Disziplin des Requirements Engineering in den agilen Entwicklungsprozess.

Agile Vorgehensweisen haben Hochkonjunktur. Extreme Programming, Scrum, Lean, Kanban sind die Topthemen der Fachpublikationen und Konferenzen. Auch wenn die Namen der konkreten Methoden wechseln, die grundlegenden agilen Prinzipien werden nachhaltig ihren Platz in der Systementwicklung einnehmen.

Ergänzendes zum Thema
 

5 ARE-Regeln

Bezogen auf die Anforderungen an das System bedeutet dies, dass nach einem ersten Überblick über die Produktfeatures (Big Picture) diese nach Geschäftswert priorisiert und die hochprioren Anforderungen sofort detailliert und realisiert, während niederpriore Anforderungen erst dann vertieft werden, wenn die wertvolleren bereits laufen oder sehr fortgeschritten entwickelt sind.

Iterativ-Inkrementell

Insgesamt geht man dabei iterativ-inkrementell vor, um die Projekttransparenz zu steigern und Risiken frühzeitiger zu klären. Iterativ heißt, dass das Projekt in feste Zeitabschnitte unterteilt wird, beispielsweise 4 Wochen. Das sind die Iterationen. Inkrementell bedeutet, dass das System jeweils am Ende einer Iteration um ein Inkrement weiter entwickelt wurde.

Agiles Vorgehen

Bild 1: Agile Entwicklung bedeutet, sich frühzeitig ein Feedback zu holen
Bild 1: Agile Entwicklung bedeutet, sich frühzeitig ein Feedback zu holen

Agiles Vorgehen bedeutet auch, sich frühzeitig Feedback zu holen. Der Kunde des Projekts wird nicht nur mit Anforderungsbeschreibungen und Modellen mit der Bitte um Feedback konfrontiert, sondern erhält auch ein lauffähiges Inkrement des Systems (Bild 1). Das fühlt sich gleich viel besser für ihn an und ermöglicht so fundiertes Feedback, das in den nachfolgenden Iterationen unmittelbar berücksichtigt werden kann. Damit wird insgesamt die Arbeit deutlicher als Fluss organisiert, ein kontinuierlicherer Arbeitsfluss hergestellt und so die Produktivität gesteigert.

Embedded Systems

Die agilen Vorgehensweisen sind nicht nur für reine Softwareprojekte, sondern auch für eingebettete Systeme mit Hardwareaspekten geeignet. Die Hardware stellt eigene Anforderungen an den Prozess, die explizit berücksichtigt werden müssen. Sie verhindert aber nicht, agil vorzugehen.

Ein häufig genannter Stolperstein sind die kurzen Iterationen von beispielsweise nur drei Wochen Dauer, die mit einem lauffähigen Inkrement abschließen sollen. Das Hindernis können Sie aus dem Weg räumen, indem die Hardwareentwicklung längere Iterationen durchläuft als die Softwareentwicklung. Geeignet ist ein Vielfaches, um so regelmäßig Integrationspunkte zu haben, also 6- oder 9-Wochen-Iterationen in der Hardware- und Drei-Wochen-Iterationen in der Softwareentwicklung.

Interessanterweise liegt der Ursprung agiler Softwareprozesse oft in der Produktentwicklung und Produktion mit wenig Bezug zur Software (Scrum, Kanban).

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 359631 / Embedded Software Requirements Engineering )