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.


Mit Speed ins Requirements Engineering einsteigen

Erstellt am 23 Januar 2019
von Schreibe einen Kommentar

Sie wollen fundiert, gleichzeitig tief ins Requirements Engineering einsteigen? Und das in kürzester Zeit? Oder einer Ihrer Kollegen? Dann gibt es dazu die ideale Gelegenheit auf der REConf in München: Starten Sie mit meinem neugestalteten RE-Einsteiger-WorkshopAnforderungen sind Kommunikation – RE Basics“ am 11.3.2019 nachmittags. Danach bieten sich Ihnen noch zwei weitere Tage, um hochkarätige Keynotes und Vorträge zu verschiedensten Themen des RE anzuhören, sowie sich mit Kollegen und Experten auszutauschen und zu vergnügen.

Anforderungen sind Kommunikation – RE Basics

Anforderungen sind Kommunikation

Wie detailliert muss ich spezifizieren?

Erstellt am 27 September 2018
von Schreibe einen Kommentar

Dieser Frage widme ich mich heute, eine der oft gestellten Fragen in unseren Kursen.

Requirements Engineering für die 3 Amigos

Erstellt am 11 Juli 2018
von Schreibe einen Kommentar

Software beginnt als Idee, als eine Vision. Wenn der Visionär selbst Softwareentwickler ist, reicht das vielleicht schon, um ein großartiges Produkt zu entwickeln. Wenn dieser Visionär aber kein Entwickler ist, muss er das, was in seinem Hirn ist, in die Hirne anderer übertragen, die mit ihm die Software entwickeln. Und das geht nicht ohne Kommunikation.

shutterstock-

Stakeholder-Analyse in Entwicklungsprojekten

Erstellt am 22 Mai 2018
von Schreibe einen Kommentar

Die Stakeholder-Analyse bezeichnet die Identifikation der Projektteilnehmer, weiterer Personen und Institutionen, die ein Interesse an einem Entwicklungsgegenstand haben. Durch genaueres Untersuchen der Einstellung und Beziehung der Stakeholder zum Entwicklungsgegenstand bekommen die Projektverantwortlichen ein besseres Verständnis für die Erfolgsfaktoren des Entwicklungsgegenstandes.

Anforderungen strukturieren – 4. Das Informationsmodell

Erstellt am 25 April 2018
von Schreibe einen Kommentar
This entry is part 4 of 4 in the series Anforderungen strukturieren

Heute der 4. Teil der Serie „Anforderungen strukturieren“ mit der Frage: „Wie gestaltet man eine Struktur mit mehreren Anforderungsdokumenten, Spezifikationen und anderen Anforderungsartefakten?“. Im sogenannten Anforderungs-Informationsmodell  wird definiert, welche 

UX == RE? – die Auswertung

Erstellt am 18 Oktober 2017
von Schreibe einen Kommentar

Am 27. Juni 2017 haben wir Sie im Blog-Beitrag UX == RE? – mit Gewinnspiel! aufgefordert, an einer Umfrage zum Thema UX (User Experience) teilzunehmen. Nach zahlreichen Rückmeldungen freuen wir uns, Ihnen das Ergebnis dieser Umfrage in Form dieses Blogbeitrages vorstellen zu dürfen.

Beginnen möchte ich mit den Aussagen eins bis drei:

Aussage 1: Der Benutzer steht im Mittelpunkt unserer Entwicklung

Ping-Pong ohne Pong

Erstellt am 7 September 2017
von Schreibe einen Kommentar
This entry is part 5 of 5 in the series Textuelle Anforderungen

Tischtennis oder Tennis sind in unserer Gesellschaft beliebte Spiele bzw. Disziplinen, an denen wir uns gerne messen und Spaß haben. Das Prinzip basiert darauf, dass jeder Spieler für sich seinen Schlag vorbereitet und ausführt (Ping). Der andere bekommt den Ball und reagiert in gleicher Weise wieder durch eine selbständige Vorbereitung und Ausführung des Gegenschlages (Pong).

In der Entwicklungsrealität haben wir dieses Prinzip in vielen Bereichen auch übernommen. Um dies näher zu beleuchten, zunächst ein Beispiel dazu.

Anforderungen strukturieren – 3. Die Spezifikation

Erstellt am 18 Juli 2017
von Schreibe einen Kommentar
This entry is part 3 of 4 in the series Anforderungen strukturieren

Für die Strukturierung von Anforderungen hatte ich in dieser Blogserie schon die Kriterien und Techniken besprochen. Nach dem Blick auf die eher theoretischen Aspekte will ich mich heute einer konkreten Umsetzung widmen. Die Frage lautet: Wie gestaltet man die Gliederung von Anforderungen innerhalb einer Spezifikation?

Heisse Anforderungen und späte Änderungen

Erstellt am 4 Juli 2017
von Schreibe einen Kommentar

Das zweite agile Prinzip handelt nicht etwa von zu warmen Anforderungen an denen man sich die Finger verbrennt (die Überschrift enthält kein „ß“), sondern stellt in der Produktentwicklung vielmehr ein ungeschriebenes Gesetz dar.