Was ist Empirisches Requirements Engineering?

Erstellt am 6 Februar 2019
von Schreibe einen Kommentar

Als Apple das iPhone 2007 veröffentlichte, löste es eine Revolution auf dem Mobilfunkmarkt aus. Steve Jobs wurde als innovatives Genie gefeiert.

Heute haben alle Smartphones Touchscreens. Damit kann man niemanden mehr begeistern. Innovation bedeuetet, am Puls der Zeit zu bleiben. Und ein Augenmerk auf die Kundenbedürfnisse zu haben.

Genau darum geht es in der agilen Entwicklung laut Jeff Sutherland, Vater von Scrum, dem erfolgreichsten agilen Framework:

Innovation is what agile is all about.

Quelle: Embracing Agile, https://hbr.org/2016/05/embracing-agile

Kern von Scrum ist die Entwicklung in Sprints von wenigen Wochen. Am Ende des Sprints steht ein „Produkt-Inkrement“. Zum Beispiel fertig entwickelte, getestete und dokumentierte Software.

So kann das Team regelmäßig Feedback einholen. Die wichtigsten Stakeholder sind die externen Kunden. Durch das Einarbeiten ihres Feedbacks maximiert man ihre Zufriedenheit.

Empirisches Requirements Engineering heißt: Das Team vereinbart erst am Anfang des Sprints die umzusetzenden Anforderungen. Basierend auf aktuellem Wissen.

Man versucht nicht, Entwicklungsumfänge Monate im Voraus detailliert zu planen. Fachkonzepte, Lastenhefte oder Pflichtenhefte sind passé.

Stattdessen akzeptiert man, dass Anforderungen veralten. Während der Entwicklung gewinnt das Team neue Erkenntnisse über Kundenbedürfnisse. Und über die technologische Umsetzung. Details von Anforderungen werden erst kurz vor der Umsetzung festgelegt.

Empirisches Requirements Engineering: Die 3 Planungsebenen

Heißt das, man muss jede Planung aufgeben, die über einen Zwei-Wochen-Horizont hinausgeht? Nein!  Nur: je weiter man in die Zukunft plant, desto gröber wird die Planung. Dadurch wird die Planung robuster gegen Änderungen.

In der Praxis haben sich drei Planungsebenen für ein Produkt bewährt:

  • Man muss das große Ganze im Blick behalten. Eine Produktvision ist der Nordstern für die Entwicklung. Sie adressiert die Kundenbedürfnisse und gibt die Richtung vor. Sie sorgt für Motivation, als Team an einem Strang zu ziehen.
  • Die Planung der Lieferung kann mehrere Sprints umfassen. In der Softwareentwicklung wird auch von Releaseplanung gesprochen. Wichtig ist, dass man auf Details der Anforderungen weitgehend verzichtet. Eine gut geeignete Praktik ist Story Mapping.
  • Die Planung des Sprints erfolgt in Scrum mit Hilfe der Backlogs. Das Team legt die Details der Anforderungen fest. Also zum Beispiel die Akzeptanzkriterien von User Stories. Auch während des Sprints kann das Team Anforderungen noch detaillieren.

Wenn Sie mehr über Empirisches RE wissen wollen, treffen wir uns im CARS-Kurs. Mehr zur Wandlung der Märkte lesen Sie in diesem Blogbeitrag.


Die bewährten Praktiken des Requirements Engineering sind auch im agilen Umfeld wertvoll

Erstellt am 11 August 2015
von Schreibe einen Kommentar

In einer ersten Abstraktion sind die Hauptziele des Requirements Engineering das Verstehen, Vereinbaren und Sicherstellen von Anforderungen. Diese Ziele werden im traditionellen Requirements Engineering durch eine Vielzahl von Praktiken wirksam unterstützt wie z.B.

  • Abgrenzen von System und Systemkontext
  • Stakeholderanalyse
  • Ermittlungstechniken für Anforderungen
  • Klassifizierung von Anforderungen
  • Qualitätskriterien von Anforderungen

Der Einsatz dieser Praktiken trug wesentlich zum Erfolg des Requirements Engineerings bei. Jetzt gilt es, die wertvollen Erfahrungen auch im agilen Umfeld einzusetzen und so die Kommunikation im Team und zu den Stakeholdern wirksam zu unterstützen.
Weitere Informationen finden Sie unter folgendem Link:
http://www.hood-group.com/agile/training/certified-agile-requirements-specialist-cars/