BEYOND RE

Erstellt am 15 März 2019
von Schreibe einen Kommentar

Kennt Ihr die russischen Matroschka Puppen? Diese unterschiedlich großen, bemalten Holzpuppen stecken ineinander. Unter der ersten Puppe befindet sich eine zweite. Öffnen wir die zweite dann kommt ein drittes, noch kleineres Modell zum Vorschein. Diese Puppen stehen sinnbildlich für die Familie.
Es gibt Vorfahren, Nachfahren und Mütter. Die Ahnen und ihre Vorgängerinnen sind elementarer Bestandteil ihres Seins. Damit stehen die Matroschka-Puppen für Tradition und Beständigkeit, sowie dafür, dass es immer weiter geht.

BEYOND RE – das war das Motto der gerade vergangenen REConf 2019. Es findet sich in den Matroschka Puppen wieder. Das „klassische Requirements Engineering“ ist die größte Puppe. „Beyond“, also wenn wir weiter gehen, kommen immer kleinere,  schlankere, wendigere, iterativere Versionen zum Vorschein. Hinter RE ist also wieder RE, nur „kleiner“, „wendiger“, „leaner“, „agiler„,  „digitaler“, „KI-iger“, „nicer“oder „kanbaniger“.

Um im Bild der Familie zu bleiben: Die Nachfahren profitieren von den Erfahrungen der Vorfahren. Neue Umstände, Zwänge und Nöte sorgen aber dafür, dass die Erfahrungen mit den neuen Herausforderungen in Einklang gebracht werden. Somit bleibt die nächste „Generation RE“ zukunftsfähig, auch wenn man das dann vielleicht gar nicht mehr „RE“ nennen will. „BEYOND RE“ steht dafür, dass sich das Anforderungsmanagement ständig an unsere disruptive, agile, dynamische Welt anpasst.

Die Keynotes der REConf, viele der Vorträge, die Sponsoren und Aussteller gingen in dieser Woche „Beyond RE“. Mit kreativen, innovativen, agilen und digitalen Ansätzen haben wir die eingetretenen Pfade verlassen.
Das Motto für die REConf 2020 vom 22.-27.03. steht auch schon: „RE- Eine Frage der Kultur?“
Wir freuen uns auf ein Wiedersehen mit Euch!

Die 3 größten User-Story-Mythen

Erstellt am 27 Februar 2019
von Schreibe einen Kommentar
User Story Mythen

In meiner Arbeit mit agilen Teams und als Trainer höre ich immer wieder Aussagen über User Stories, die von der ursprünglichen Intention abweichen und in der Praxis Probleme verursachen. Zeit, mit ein paar der häufigsten Mythen aufzuräumen.

Mythos #1: In Scrum wird eine Anforderung als User-Story dokumentiert.

Das kann man so machen, muss man aber nicht. Der Scrum Guide lässt völlig offen, wie Backlog Items zu dokumentieren sind. Ich persönlich mag User Stories, weil sie die Perspektive vom System auf den Nutzer verschieben. Aber vorgeschrieben ist das nicht.

Mythos #2: Wenn man User-Stories schreibt, dann muss man ein bestimmtes Template benutzen.

Wahrscheinlich denken Sie an: Als <Nutzer> möchte ich <Funktion> damit <Erfülltes Bedürfnis>.
Das Konzept der User Story hatte ursprünglich nichts mit diesem Template zu tun. Mike Cohn hat das Template dann später populär gemacht. Es ist genauso möglich, User Stories informell zu dokumentieren und auf das Template zu verzichten.

Mythos #3: User Stories werden mit Story Points geschätzt.

Als Scrum Master habe ich Teams beobachtet, die sich mit Diskussionen um Story Points, Schätzungen und Velocity verrückt gemacht haben.

Es gibt eine einfache Alternative. Das Team vereinbart kleine Stories. So 1-2 Umsetzungstage für das Team. Dann zählt es nach dem Sprint die Stories, die es fertiggestellt hat. Schon hat man die Velocity.


Sie sehen: Der Umgang mit User Stories ist in der Praxis gar nicht so schwierig. Wie setzen Sie User Stories in der Praxis ein? Ich freue mich über einen Kommentar!


Veranstaltungstipp

Die perfekte Gelegenheit zum weiteren Aufräumen der Mythen finden Sie in knapp zwei Wochen auf der REConf 2019 vom 11.-15. März in München.




RE – mit oder ohne agil?

Erstellt am 20 Februar 2019
von Schreibe einen Kommentar

Nun bin ich nun schon ein paar Monate als „HOODlerin“ unterwegs und habe viel über unsere Arbeit im Requirements Engineering und der Agilität erfahren. Heute widme ich mich der Frage, wie es ausschaut, wenn wir die beiden Disziplinen miteinander kombinieren. Was ändert sich also, wenn wir RE agil machten? Wird das Anforderungsmanagement besser oder „nur“ agil? Dazu habe ich meine Experten-Kollegen bei ihrer Arbeit beobachtet und befragt, und teile nun mein Ergebnis ganz unverholen mit euch.

Agilität mit Coach

Agil zu werden bedeutet, laut einer Definition, sich selbst in Frage zu stellen. Im RE geht es darum die richtigen Fragen zu stellen. Das gehört für mich jetzt erstmal nicht zwangsläufig zusammen.
Weshalb Agilität in Unternehmen eingeführt wird, hat aber einen wirtschaftlichen Grund. Das Unternehmen kann sich im Ergebnis schneller und flexibler mit seinen Produkten und Dienstleistungen den Marktbedürfnissen anpassen.

Die Einführung agiler Arbeitsweisen geschieht oft durch Coaching der interdisziplinären Teams von außen. Das agile Coaching verbessert die Zusammenarbeit, die Kommunikation und gibt dem Team Methoden zur Hand, mit komplexen Aufgaben produktiv umzugehen. Gleichzeitig fördert der Coach auch ein neues, agiles Mindset in seinem Team: Regeln brechen, eigene Regeln aufstellen, ständiges Hinterfragen, freies Denken und natürlich auch freies Artikulieren der Gedanken sind dabei wichtige Bestandteile. Mit einem solchen Mindset können ganz neue Lösungen entstehen. Denn der Raum ist angstfrei und lebendig. Es herrscht Spaß und Veränderungsfreude. Die einstigen Probleme, die beispielsweise aus hierarchischen Strukturen, unzureichender Kommunikation, oder Angst, „sich zu weit aus dem Fenster zu lehnen“ stammen, werden an der Wurzel gepackt.

Mit diesem neuen Mindset ändert sich beispielsweise auch die Art mit Fehlern umzugehen. Sie werden als Chance, und damit als etwas Gutes, aus dem man lernen kann, betrachtet.
Neben all den Vorteilen kann das neue Mindset allerdings im restlichen, noch nicht agilen Teil des Unternehmens, als Nachteil wahrgenommen werden: Die agilen Kollegen passen nun nicht mehr so recht in eine ansonsten hierarchische Unternehmensstruktur.

Requirements Engineering mit einem Consultant

Beim Requirements Engineering (RE) legen wir fest, welchen Anforderungen ein Produkt oder auch ein Prozess standhalten muss. Beispielsweise schaut man in der Software Entwicklung, welche Funktionen die Software in welcher Qualität haben soll. Was wünschen sich die Anwender und andere Stakeholder? Um das zu wissen, bindet man den Stakeholder früh und kontinuierlich in den Entwicklungsprozess ein. Im laufenden Prozess werden aus den anfänglichen Vermutungen der Entwickler klar dokumentierte Anforderungen. Die Chance steigt, dass die Software am Ende des Entwicklungsprozesses sowohl dem Anwender, also dem Auftraggeber, als auch dem Entwickler gefällt. Dadurch, dass die Anforderungen klar dokumentiert sind, sind alle Mitwirkenden im Bilde und Unstimmigkeiten werden schnell offensichtlich. In dem gesamten Prozess steht den Teams oft ein unterstützender externer RE Consultant zur Seite.

Anforderungen gut zu schreiben ist eine Kunst. Diese Kunst wird auch oft bei uns in den Trainings geübt. Anforderungen und Dokumentation müssen vollständig, prüfbar und widerspruchsfrei sein.

Daneben gilt es die richtigen Ermittlungstechniken wie bspw. Interviews, Fragebogen und Produktanalyse zu wählen. Passt alles, wird das Risiko für Fehlentwicklungen drastisch reduziert und führt im besten Fall, vorausgesetzt die Idee ist gut, zu einem guten Produkt.

Wie sieht nun die Mischung aus agil und RE aus?

Wenn man sich nun diese beiden Disziplinen Agile und RE ansieht ist es ganz klar: Wenn RE gut funktioniert, dann ist es wahrscheinlich meistens sogar schon agil. Es besteht ein offenes Klima, in der die Teams gut zusammenarbeiten. Denn das Geheimnis liegt, wie so oft, in der Kommunikation.

Beim agilen Arbeiten kommunizieren Entwickler- und das Anwenderteam kontinuierlich. Die Teams prüfen täglich, hinterfragen, testen, und werfen auch mal alles um, wenn das für ein besseres Ergebnis notwendig ist. Regeln sind da, um gebrochen zu werden. Dieser Spruch passt in diesem Kontext besser denn je.
Die agile Vorgehensweise und das Mindset, das dies alles möglich macht, führt am Ende zu einem besseren Produkt und einer kürzeren Produktentwicklungszeit. Das ist schließlich wieder ganz im Sinne des Unternehmens.

Also einmal RE mit agil bitte!

Veranstaltungstipp

Die perfekte Gelegenheit zum Networken in der RE-Community bietet übrigens die REConf 2019 vom 11.-15.März in München. Komm vorbei. Ein Tag oder fünf, alles ist möglich.

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.


Aufgeschriebene Anforderungen sind oft schlecht formulierte Wünsche!

Erstellt am 31 Januar 2019
von Schreibe einen Kommentar
Wer schreibt der bleibt … auf seinen Wünschen sitzen.

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

Starting Agile Development of Systems – The Top 5 Questions

Erstellt am 15 Januar 2019
von Schreibe einen Kommentar

There is an increasing interest in developing hardware and systems in an agile way. In October 2018, the participants of the Agile Systems Conference in Munich (ASK) discussed some of the most interesting questions within an Open Space.

Agile Development of Hardware and Systems

Agile Systems Engineering (agile SE) is a hot topic in the development community. One the one hand, many people doubt if agile development is possible not only for software but also for hardware and systems. On the other hand, companies like WIKISPEED, SAAB, MAGURA, BLUNK Electronic etc. already build cars, aircrafts, e-mobility components and printed circuit boards in an agile way and with great success.

Open Space Results

The ASK offered an Open Space to discuss questions and topics of participants. The following top 5 questions were discussed. The results reflect approaches when starting agile SE:

Epics sind tot

Erstellt am 2 Januar 2019
von Schreibe einen Kommentar

Was wurde nicht schon alles für tot erklärt? Schon vor Jahren wurde Test Driven Development beerdigt. Merkwürdigerweise verbreitet es sich trotzdem immer weiter. Natürlich ist auch Agil tot. Obwohl  selbst traditionsreiche Unternehmen mittlerweile mit Scrum in Berührung gekommen ist.
Totgesagte leben länger, sind aber immer gut für eine schmissige Überschrift.
In diesem Sinne. Werden Sie Zeuge, wie ich Epics als agile Praktik zerstöre.

Beyond RE ist Digital Design

Erstellt am 13 Dezember 2018
von Schreibe einen Kommentar
Bildquelle: Shutterstock

Die gute Nachricht vorweg: Requirements Engineering ist und bleibt eine Kernkompetenz für erfolgreiche Softwareentwicklung. Aber warum ist eine neue Profession notwendig und warum kommt RE an seine Grenzen? Um dies zu verstehen, muss man etwas genauer auf Begrifflichkeiten des Digital Design schauen.

Daily Build@Hardware – Workshop – Rückblick auf die ASK 2018

Erstellt am 11 Dezember 2018
von Schreibe einen Kommentar
This entry is part 2 of 2 in the series Hardware Scrum

Neue Brücken bauen und alte Brücken umsichtig abbauen – so auch die Devise bei der agilen Systementwicklung. https://commons.wikimedia.org/wiki/File:BAB3-Talbr%C3%BCcke-Heidingsfeld-02.jpg

Wir von HOOD haben in diesem Jahr bereits das zweite Mal infolge zu unserer Agile Systems Konferenz – kurz ASK in München eingeladen. Neben interessanten Keynotes nehmen unsere Workshops einen wichtigen Teil der Konferenz ein. Der Workshop über den ich heute berichte, heißt „Daily Build@Hardware“.
Wir haben einen Nachmittag lang komplett spielerisch Entwicklungsmodelle erkundet. Der Output konnte sich sehen lassen: Wir bauten Lego-Autos und Papierfliegermodelle am laufenden Band. Doch unsere Modelle hatten einen schweren Stand. Schließlich mussten sie sich den schwierigsten Anforderungen und Testabläufen stellen.