Patton Jeff. Benutzergeschichten. Die Kunst der agilen Softwareentwicklung

Zusammenfassung

Das Buch beschreibt einen algorithmischen Ansatz zur DurchfĂŒhrung des Entwicklungsprozesses von der Idee bis zur Implementierung unter Verwendung agiler Techniken. Der Prozess wird in Schritte gegliedert, und fĂŒr jeden Schritt werden Methoden angegeben. Der Autor weist darauf hin, dass die meisten Methoden nicht originell sind und keinen Anspruch auf OriginalitĂ€t erheben. Doch der gute Schreibstil und die gewisse KohĂ€renz des Prozesses machen das Buch sehr hilfreich.

Die SchlĂŒsseltechnik der User Story Map ist die Strukturierung von Ideen und Anforderungen, wĂ€hrend der Nutzer den Prozess durchlĂ€uft.

Es gibt verschiedene Möglichkeiten, den Prozess zu beschreiben. Man kann die Schritte nach dem Erreichen des SchlĂŒsselwertes ordnen oder einfach den Arbeitstag der Nutzer darstellen, wĂ€hrend sie das System verwenden. Der Autor betont, dass Prozesse in Form von Geschichten erzĂ€hlt werden mĂŒssen, was der User Story Map ihren Namen gibt.

FĂŒr wen ist das relevant

FĂŒr IT-Analysten und Projektleiter. Unbedingt lesenswert. LĂ€sst sich leicht und angenehm lesen, das Buch hat eine durchschnittliche LĂ€nge.

Bewertung

Im einfachsten Sinne funktioniert es so.

Der Besucher kommt ins Café, wÀhlt die Gerichte aus, bestellt, erhÀlt das Essen, isst und bezahlt.

Man kann die Anforderungen formulieren, die wir an das System in jeder Phase haben.

Das System sollte eine Liste von Gerichten anzeigen, mit den Zutaten, dem Gewicht und dem Preis jedes Gerichts, sowie der Möglichkeit, diese in den Warenkorb zu legen. Warum sind wir uns bei diesen Anforderungen sicher? In einer ‚Standard‘-Beschreibung der Anforderungen ist dies nicht angegeben, was Risiken birgt.

Akteure, die nicht verstehen, warum dies notwendig ist, tun in der Regel nicht das, was nötig ist. Akteure, die nicht in den Prozess der Ideenentwicklung eingebunden sind, sind auch nicht am Ergebnis beteiligt. Agile sagt, lasst uns also zunÀchst nicht auf das System, sondern auf die Menschen, die Verbraucher, ihre Aufgaben und Ziele konzentrieren.

Wir erstellen Personas, um Empathie zu entwickeln, verleihen ihnen Details und beginnen von der Perspektive dieser Personas aus, Geschichten zu erzÀhlen.

Der BĂŒromitarbeiter Zachar ist zum Mittagessen gegangen und möchte schnell etwas essen. Was braucht er? Die Idee - wahrscheinlich möchte er ein Business-Lunch. Eine weitere Idee ist, dass er möchte, dass das System sich seine Vorlieben merkt, weil er auf DiĂ€t ist. Noch eine Idee: Er möchte, dass ihm sofort Kaffee gebracht wird, weil er es gewohnt ist, vor dem Mittagessen Kaffee zu trinken.

Es gibt auch GeschĂ€ftsinteressen (Organzahl — ein Charakter, der die Interessen einer Organisation vertritt). Das Unternehmen möchte den durchschnittlichen Umsatz steigern, die KaufhĂ€ufigkeit erhöhen und den Gewinn maximieren. Die Idee ist: Lassen Sie uns außergewöhnliche Gerichte einer bestimmten KĂŒche anbieten. Eine weitere Idee: Lassen Sie uns FrĂŒhstĂŒcke einfĂŒhren.

Ideen können und sollten konkretisiert, umgewandelt und in Form von User Stories formuliert werden. Als Mitarbeiter des Business Centers Zahkar möchte ich, dass das System mich erkennt, damit ich ein MenĂŒ gemĂ€ĂŸ meinen Vorlieben erhalte. Als Kellner möchte ich, dass mich das System benachrichtigt, wann ich an den Tisch gehen soll, damit der Kunde mit dem schnellen Service zufrieden ist. Und so weiter.

Zehntausende von Geschichten. Was ist mit der Priorisierung und dem Backlog? Jeff weist auf die auftretenden Probleme hin: Das FesthÀngen in kleinen Details und der Verlust des konzeptionellen VerstÀndnisses, plus die Priorisierung von Funktionen, verleihen ein zerrissenes Bild aufgrund von InkohÀrenz zu den Zielen.

Der Weg des Autors: Wir priorisieren nicht die FunktionalitÀt, sondern das Ergebnis = das, was der Benutzer am Ende erhÀlt.

Offensichtlich unauffĂ€lliger Punkt: Die Priorisierungssitzung wird nicht im gesamten Team, da es ineffizient wĂ€re, sondern mit drei Personen durchgefĂŒhrt. Der erste ist fĂŒr das GeschĂ€ft zustĂ€ndig, der zweite fĂŒr die Benutzererfahrung und der dritte fĂŒr die Umsetzung.

Lassen Sie uns das Minimum fĂŒr die Lösung einer Benutzeraufgabe festlegen (minimal funktionsfĂ€hige Lösung).

Wir detaillieren die Ideen der obersten PrioritĂ€t mithilfe von User Stories, Entwurfsskizzen, EinschrĂ€nkungen und GeschĂ€ftsregeln auf der Karte der Benutzerhistorien durch ErzĂ€hlung und Diskussion mit dem Team, was fĂŒr die Personas und Stakeholder in jedem Schritt des Prozesses erforderlich ist. Die anderen Ideen bleiben unberĂŒcksichtigt im Backlog der Möglichkeiten.

Der Prozess wird in Form von Karten von links nach rechts geschrieben, und die Ideen auf den Karten stehen unter den Schritten des Prozesses. Es ist wichtig, den gesamten Verlauf der Geschichte gemeinsam mit den Teammitgliedern zu besprechen, um ein gegenseitiges VerstÀndnis zu fördern.

Die Ausarbeitung auf diese Weise schafft eine integrative Übereinstimmung mit den Prozessen.

Die erhaltenen Ideen mĂŒssen ĂŒberprĂŒft werden. Kein Teammitglied schlĂŒpft in die Rolle der Persona und lebt einen Tag im Kopf der Persona, um deren Problem zu lösen. Es kann vorkommen, dass er die bisherigen Ergebnisse nicht sieht und die Karten von Grund auf neu erstellt, wĂ€hrend das Team alternative Lösungen entdeckt.

Anschließend erfolgt die Detaillierung zur Bewertung. DafĂŒr sind drei Personen ausreichend. Verantwortlicher fĂŒr die Benutzererfahrung, Entwickler, Tester mit der bevorzugten Frage: „Was wĂ€re wenn
“.

In jeder Phase wird ĂŒber die Prozesskarte der User Journey diskutiert, was es ermöglicht, die Nutzeraufgabe im GedĂ€chtnis zu behalten und ein ganzheitliches VerstĂ€ndnis zu schaffen.

Ist Dokumentation laut Meinung des Autors notwendig? Ja, sie ist nötig. Aber als Notizen, die helfen, sich an die getroffenen Vereinbarungen zu erinnern. Die Einbindung einer externen Person erfordert erneut eine Diskussion.

Der Autor vertieft sich nicht in die Frage der ausreichenden Dokumentation, sondern legt den Fokus auf die Notwendigkeit von Diskussionen. (Ja, Dokumentation ist wichtig, auch wenn einige Menschen, die nicht tief im VerstĂ€ndnis von Agile sind, das Gegenteil behaupten.) Außerdem kann die Behandlung nur eines Teils der Möglichkeiten dazu fĂŒhren, dass das gesamte System neu gestaltet werden muss. Der Autor weist auf das Risiko einer Überarbeitung hin, wenn die Idee nicht richtig getroffen wurde.

Um Risiken zu minimieren, ist es wichtig, schnell Feedback zu dem entwickelten Produkt zu erhalten, um den Schaden durch die Schaffung eines „falschen“ Produkts zu minimieren. Haben Sie eine grobe Idee skizziert – validieren Sie diese beim Nutzer, haben Sie erste Prototypen des Interfaces skizziert – validieren Sie diese beim Nutzer usw. (In einem separaten Abschnitt wird kurz erwĂ€hnt, wie man Prototypen validiert.) Die Ziele bei der Softwareentwicklung, insbesondere in der Anfangsphase, bestehen darin, durch schnelles Feedback zu lernen; dementsprechend sind die ersten entwickelten Produkte EntwĂŒrfe, die in der Lage sind, Hypothesen zu bestĂ€tigen oder zu widerlegen. (Der Autor stĂŒtzt sich auf die Arbeit von Eric Ries "Lean Startup").

Eine Story-Karte hilft, die Kommunikation zu fördern, wenn mehrere Teams an der Implementierung arbeiten. Was sollte auf der Karte stehen? Alles, was benötigt wird, um das GesprĂ€ch zu unterstĂŒtzen. Nicht nur die User Story (wer, was, warum), sondern auch Ideen, Fakten, Interface-Skizzen und mehr


Durch das Unterteilen der Karten auf der Story-Karte in mehrere horizontale Linien kann die Arbeit in Releases unterteilt werden – das Minimalste hervorheben, eine Schicht zum Ausbau der FunktionalitĂ€t und die Feinheiten.

Wir besprechen die Geschichten auf der Prozesskarte.

Ein Mitarbeiter kommt zur Mittagspause.

Was möchte er? Schnelligkeit beim Service. Damit sein Mittagessen bereits auf dem Tisch oder mindestens auf dem Tablett auf ihn wartet. Oh, Moment – ein ĂŒbersprungener Schritt: Der Mitarbeiter möchte etwas essen. Er hat das System betreten und die Option fĂŒr das Business-Lunch ausgewĂ€hlt. Er hat die Kalorienzahl und die NĂ€hrwertkonformitĂ€t gesehen, um seine DiĂ€t einzuhalten und nicht zuzunehmen. Er hat die Bilder des Gerichts gesehen, um zu entscheiden, ob er an diesem Ort essen wird oder nicht.

Anschließend wird er sich sein Mittagessen holen und essen? Oder bekommt er vielleicht sein Essen ins BĂŒro geliefert? Der nĂ€chste Schritt im Prozess ist die Auswahl des Essensortes. Er möchte die Zeit sehen, wann das Essen geliefert wird und wie viel es kosten wird, um zu entscheiden, ob er Zeit und Energie auf den Weg nach unten oder zur Arbeit verwenden möchte. Er möchte die Auslastung des CafĂ©s sehen, um nicht in Warteschlangen stehen zu mĂŒssen.

Dann kommt der Mitarbeiter ins CafĂ©. Er möchte sein Tablett sehen, um es zu nehmen und sofort essen zu gehen. Das CafĂ© möchte Geld annehmen, um durch den Service Einnahmen zu erzielen. Der Mitarbeiter möchte möglichst wenig Zeit mit dem Bezahlen im CafĂ© verlieren, um keine wertvolle Zeit unproduktiv zu verbringen. Wie kann man das erreichen? Vorauszahlung oder im Nachhinein remote bezahlen? Oder im Moment ĂŒber einen Kiosk bezahlen? Was ist das Wichtigste dabei? Wie viele Menschen sind bereit, ihr Mittagessen mit Kreditkarte zu bezahlen? Wie viele Menschen vertrauen darauf, ihre Kartennummer fĂŒr zukĂŒnftige Zahlungen bei dieser Kantine zu speichern? Ohne Marktforschung ist das unklar, daher sind Tests notwendig.

In jedem Schritt des Prozesses muss irgendwie die FunktionalitĂ€t gewĂ€hrleistet werden. Dazu sollte man eine Persona als Basis nehmen und auswĂ€hlen, was fĂŒr sie am wichtigsten ist (dieses Trio von Entscheidern). Wenn die Geschichte bis zum Ende durchlaufen ist, wurde eine tragfĂ€hige Lösung geschaffen.

Als nĂ€chstes folgt die Detaillierung. Der Kunde möchte die Auslastung des CafĂ©s kennen, um nicht in Warteschlangen stehen zu mĂŒssen. Was möchte er konkret?

Die Prognose ansehen, wie viele Leute in 15 Minuten dort sein werden, wenn er ankommt.

Die durchschnittliche Servicezeit im CafĂ© und deren Entwicklung fĂŒr die nĂ€chsten 30 Minuten einsehen.

Die Situation und die Dynamik der Tischbelegung beobachten.

Was ist, wenn das Prognosesystem unklare Ergebnisse liefert oder nicht mehr funktioniert?

Über die VideoĂŒberwachung Warteschlangen im CafĂ© sowie die Belegung der Tische beobachten. Hmm, warum nicht das als Erstes umsetzen?!

Der Autor weist auf eine kleine Übung hin, um die Praxis zu festigen: Stellen Sie sich vor, was Sie morgens nach dem Aufwachen tun. Eine Karte = eine Handlung. Verdichten Sie die Karten (statt 'Kaffee mahlen' schreiben Sie 'energydrink trinken'), um individuelle Details zu entfernen und den Fokus auf das Ziel, nicht auf die Umsetzung zu lenken.

Diese Buch richtet sich an IT-Analysten und Projektleiter. PflichtlektĂŒre.

Anwendungen

Diskussionen und Entscheidungsfindungen sind in Gruppen von 3 bis 5 Personen am effektivsten.

Schreibe auf die erste Karte, was entwickelt werden muss, auf die zweite, was in der ersten verbessert werden muss, und auf die dritte, was in der ersten und zweiten Karte korrigiert werden muss.

Bereite Geschichten wie Torten vor – nicht das Rezept aufschreiben, sondern herausfinden, fĂŒr wen, zu welchem Anlass und fĂŒr wie viele Personen die Torte ist. Wenn du die Umsetzung aufteilen musst, dann nicht in die Herstellung von Böden, Creme usw., sondern in die Herstellung kleiner fertiger Törtchen.

Softwareentwicklung Ă€hnelt der Filmproduktion, bei der das Drehbuch sorgfĂ€ltig ausgearbeitet und poliert, die Szene, die Schauspieler usw. vor den Dreharbeiten organisiert werden mĂŒssen.

Ressourcen werden immer knapp sein.

20% der Anstrengungen fĂŒhren zu spĂŒrbaren Ergebnissen, 60% ergeben unklare Resultate, und 20% der Anstrengungen schaden – deshalb ist es wichtig, sich auf das Lernen zu konzentrieren und nicht zu verzweifeln, wenn das Ergebnis negativ ist.

Kommuniziere direkt mit dem Benutzer und versetze dich in seine Lage. Konzentriere dich auf bestimmte Probleme.

Die Detailierung und Ausarbeitung von Geschichten zur Bewertung ist der anstrengendste Teil von Scrum. Halten Sie die Diskussionen im Aquarium-Modus (an der Tafel diskutieren 3-4 Personen; wenn jemand teilnehmen möchte, ersetzt er eine Person).

Quelle: habr.com

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster