7. Dezember 2018
| |
0 Kommentar

User Stories – Grob geschnitten oder fein gehackt?

Was haben User Stories und ein herbstliches Wildgericht gemeinsam?

Der würzig-pfeffrige Duft steigt in die Nase, betört unsere Wahrnehmung. Die Pupillen weiten sich beim Anblick des in Pfeffer gebratenen Hirschmedaillon, geschmückt mit roter Beete, glacierter Marroni und veredelt mit Birne sowie anderen gebackenen Früchten. Der Farbenreichtum des Herbstwaldes, gefangen in einem Teller. Erwartungsvoll lassen wir den Zufall über die erste Gabelladung entscheiden, schliessen die Augen und probieren. Die Sinne überschlagen sich. Wir spüren die süssen Aromen, welche nur ein langer, warmer Sommer in diesem Ausmass zu kreieren vermag. Wir schmecken die nussigen Düfte der Herbstsaison und vernehmen die rauchige Wärme des Grills. Die Geschmacksexplosion lässt die Umgebung verblassen. Für kurze Zeit sind wir nicht mehr Gast in einem Restaurant, sondern Entdecker neuer Dimensionen. User Stories

Ein rundlicher, kleiner Mann mit fettigem dunklem Haar und zerzausten Augenbrauen betrachtet die Szene lächelnd und entblösst dabei seine makellos gepflegten weissen Zähne. Die Kundenzufriedenheit ist essentiell für das Gelingen seiner Küche – zum Glück hat er in seiner früheren Karriere als Wirtschaftsinformatiker gelernt, die Anforderungen des Kunden zu verstehen, zu portionieren und anforderungsgerecht aufzubereiten. Was er heute in der Küche «Rezept» nennt, hiess früher «Epic» – die einzelnen Schritte der Zubereitungen nannte er «User Stories». Je kleiner er die Zubereitungsschritte definiert, desto präziser kann er als Koch das Gericht perfektionieren. Sind die Schritte zu klein, gehen Synergien verloren und die Zubereitung wird zu umständlich. Eine teilweise schwierige Gratwanderung, welche er nur mittels langjähriger Erfahrung perfektionieren konnte. Heute, in der Küche, beschränkt er sich noch auf die vier wichtigsten Schneidetechniken.

80-20-Ansatz

Beim Kochen: Das Hirschmedaillon ist das Herzstück auf dem Teller. Der Geruch des Pfeffers auf der Kruste, die Zartheit des Fleisches und der leicht blutige Geschmack im Mund sind die Hauptkriterien für eine Mahlzeit in seinem Restaurant. Alles andere ist Beilage. Deshalb widmet der Koch seine Aufmerksamkeit bei der Zubereitung hauptsächlich dem Fleisch. Überschüssige Fettränder werden weggeschnitten und nur hochwertige Materialien für die Zubereitung benutzt.

Bei der Softwareherstellung: Bei allen User Stories sollten Sie sich überlegen, was das Kernanliegen des Stakeholders ist. Dieser Kern bildet in sich geschlossen oftmals schon die User Story. Die restlichen 20% müssen dann inhaltlich bewertet werden. Braucht es diese 20% wirklich? Wenn ja: Macht es Sinn, eine eigene User Story dafür zu eröffnen oder sollen diese doch zu den 80% des «Kernanliegen» gehören?

User Stories, welche das Kernanliegen beschreiben werden höher priorisiert als jene, die Zusatzfunktionen behandeln. Die Entwickler werden ihre Ressourcen dementsprechend aufwenden. Wird eine Zusatzfunktion später geliefert, hat das oftmals nur minimale Auswirkungen auf den Zeitplan. Das Vernachlässigen eines Kernanliegens verzögert jedoch den Go-live unserer Software und verschlingt dabei enorm viele Ressourcen.

Spikes abbrechen

Beim Kochen: Äusserst heikel sind die glacierten Marroni. Die dazu verwendete Pfanne braucht eine besondere Beschichtung und die Hitze des geschmolzenen Zuckers kann bleibende Schäden auf dem Herd hinterlassen. Deshalb werden die Marroni separat vom Rest der Mahlzeit zubereitet.

Bei der Softwareherstellung: Einzelne Anforderungen können User Stories unnötig verkomplizieren. In diesem Fall lohnt es sich, den verkomplizierenden Faktor (oder auch «Stachel» genannt) zu extrahieren. Die Entwicklung für die nun simple User Story kann beginnen. Der Stachel hingegen kann individuell analysiert, verstanden und als eigene User Story priorisiert werden.

Schneiden entlang des Workflows

Beim Kochen: Damit das Fleisch und alle Beilagen gleichzeitig fertig und gemeinsam warm serviert werden können, ist Timing das A und O. Der Koch kennt die Kochschritte jeder einzelnen Zutat und erlaubt sich, gewisse Zubereitungen parallel – manchmal sogar in derselben Pfanne durchzuführen. Nur so wird das Ergebnis perfekt.

Bei der Softwareherstellung: Schneiden entlang des Workflows, oder auch vertikales Schneiden, ist essentiell, um einzelne Schritte im Workflow mit der nötigen Sorgfalt behandeln zu können. Teile der Software wie beispielsweise Schnittstellen oder Datenbanken werden in ihrer Gesamtheit betrachtet und entsprechend auch geprüft. Die einzelnen Funktionen der Datenbank oder der Schnittstellen dürfen natürlich wieder einzelne User Stories bilden.

Prozessorientierte Streifen

Beim Kochen: Nur Bares ist Wahres. Bevor das Geschäft aufblühte, fehlten die Ressourcen für Kartenlesegeräte und komplexe Zahlungsmethoden – doch solange der Gast mit Bargeld bezahlen konnte wechselten die Münzen den Besitzer. Erst als der Bekanntheitsgrad seines Restaurants wuchs, schaffte sich unser Held eine Payment-Lösung an.

Bei der Softwareherstellung: Diese Schneidetechnik sollte nur nach dem Schneiden entlang des Workflows durchgeführt werden. Würde der Koch nur prozessorientiert schneiden, dann hätte er am Schluss die rote Beete gekocht und gewürzt, das Fleisch wäre jedoch noch roh und unberührt. Trotzdem kann der prozessorientierte Ansatz einen grossen Mehrwert erbringen, denn oftmals gibt es einen regulären Pfad und alternative / erweiterte Pfade. Sehr einfach sind solche Pfade in Prozessdiagrammen ersichtlich. Kommt eine «Wenn-Dann»-Entscheidung, ist das ein klarer Hinweis dafür, dass mehrere User Stories angelegt werden sollen. Für eine V1 der Software reicht es in der Regel, den regulären Pfad zu implementieren. Damit verkürzen wir die Entwicklungsdauer, reduzieren die Komplexität der Software und sparen einiges an Ressourcen. Die erweiterte Funktionalität bildet eine eigene User Story und kann individuell priorisiert und in einem späteren Release umgesetzt werden.

Richtig portionieren ist wichtig. Welche Schneidetechnik angewendet wird, kann aber nicht im Voraus definiert werden. Je nach Entwicklungsvorgehen ist ein unterschiedlicher Detaillierungsgrad gefragt. Jede User Story wird analysiert und dem Inhalt und Kontext entsprechend mit der geeigneten Schneidetechnik verfeinert. Genau gleich wie beim Kochen auch.

Zufrieden setzt der Koch seine vom Dampf vergilbte Mütze auf und schlendert zurück in die warme Küche. Der letzte Kunde für heute ist bedient, aber es gibt immer etwas zu verbessern. Bewaffnet mit Stift und Papier beginnt er, Ideen für seine nächste Gourmet-Meisterleistung zu skizzieren. Ein scharfes Messer liegt griffbereit.

Möchten auch Sie Perfektion in Ihrer Software erleben? Das können Sie! Melden Sie sich für ein unverbindliches Gespräch und erhalten Sie Tipps zur Schärfung in Ihrer Entwicklung. Auf unserer Website finden Sie viele weitere spannende Beiträge rund um das Thema Requirements Engineering. Am besten folgen Sie uns auf auf LinkedIn, um keine Blogbeiträge mehr von uns zu verpassen.

Stefano Marcone
Stefano Marcone
Manager

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert