Zusammenfassung
Dieses Buch erzĂ€hlt den Algorithmus des Entwicklungsprozesses von der Idee bis zur Implementierung unter Verwendung agiler Techniken. Der Prozess wird schrittweise dargelegt, wobei fĂŒr jeden Schritt die Methoden fĂŒr den Schritt des Prozesses angegeben werden. Der Autor weist darauf hin, dass viele der Methoden nicht originell sind und auch nicht den Anspruch auf OriginalitĂ€t erheben. Aber der gute Schreibstil und die gewisse KohĂ€renz des Prozesses machen das Buch sehr nĂŒtzlich.
Die SchlĂŒsseltechnik der Benutzerstory-Karte ist die Strukturierung von Ideen und Anforderungen, wĂ€hrend der Benutzer den Prozess durchlĂ€uft.
Dabei kann der Prozess auf verschiedene Weise beschrieben werden. Man kann die Schritte um die Erreichung des SchlĂŒsselwerts herum anordnen oder einfach den Arbeitstag der Benutzer darstellen, wie er mit dem System ablĂ€uft. Der Autor betont, dass Prozesse in Form einer Benutzerstory auf der Prozesskarte beschrieben werden mĂŒssen, was auch zur Bezeichnung Benutzerstory-Karte fĂŒhrte.
Wem nĂŒtzt das?
FĂŒr IT-Analysten und Projektleiter. Unbedingt lesenswert. Es lĂ€sst sich leicht und angenehm lesen, das Buch hat eine mittlere GröĂe.
Widerruf
In einfachster Form, wie es funktioniert.
Ein Besucher kommt ins Café, wÀhlt Gerichte aus, gibt eine Bestellung auf, erhÀlt das Essen, isst und bezahlt.
Man kann Anforderungen festlegen, was wir von dem System in jedem Schritt erwarten.
Das System muss eine Liste von Gerichten anzeigen, die Zusammensetzung, Gewicht und Preis jedes Gerichts enthalten und die Möglichkeit bieten, in den Warenkorb zu legen. Warum sind wir uns dieser Anforderungen sicher? In der "Standard"-Beschreibung der Anforderungen wird dies nicht erwÀhnt, was Risiken hervorruft.
AusfĂŒhrende, die nicht verstehen, warum dies notwendig ist, tun normalerweise nicht das, was nötig ist. AusfĂŒhrende, die nicht in den Prozess der Ideenfindung einbezogen sind, sind auch nicht am Ergebnis interessiert. Agile sagt, lassen Sie uns zuerst nicht auf das System, sondern auf die Menschen, ihre Aufgaben und Ziele konzentrieren.
Wir erstellen Personas, um Empathie zu gewinnen, geben ihnen Details und beginnen, Geschichten aus der Sicht dieser Personas zu erzÀhlen.
Der BĂŒromitarbeiter Sachar ist zum Mittagessen gegangen und möchte schnell einen Snack haben. Was braucht er? Die Idee â vielleicht möchte er ein Business-Lunch. Eine weitere Idee ist, dass er möchte, dass das System sich seine Vorlieben merkt, da er sich in einer DiĂ€t befindet. Noch eine Idee: Er möchte, dass ihm sofort ein Kaffee gebracht wird, weil er es gewohnt ist, vor dem Mittagessen Kaffee zu trinken.
Es gibt auch ein GeschĂ€ft (Org-Charakter â eine Figur, die die Interessen einer Organisation vertritt). Das GeschĂ€ft möchte den durchschnittlichen Warenkorb erhöhen, die KaufhĂ€ufigkeit steigern und den Gewinn erhöhen. Die Idee â lassen Sie uns ungewöhnliche Gerichte aus einer bestimmten KĂŒche anbieten. Eine weitere Idee â lassen Sie uns FrĂŒhstĂŒck einfĂŒhren.
Ideen können und sollten konkretisiert, umgewandelt und in Form von User Stories formuliert werden. Als Mitarbeiter des Business Centers möchte ich, dass das System mich erkennt, damit ich ein MenĂŒ basierend auf meinen Vorlieben erhalte. Als Kellner möchte ich, dass das System mich benachrichtigt, wann ich zum Tisch gehen soll, damit der Kunde mit dem schnellen Service zufrieden ist. Und so weiter.
Zehntausende von Geschichten. Dann Priorisierung und Backlog? Jeff weist auf aufkommende Probleme hin: Das Verharren in Kleinigkeiten und der Verlust des konzeptionellen VerstÀndnisses plus die Priorisierung der Funktionen schaffen ein zerrissenes Bild aufgrund der InkohÀrenz mit den Zielen.
Der Weg des Autors: Wir priorisieren nicht die Funktionen, sondern das Ergebnis = das, was der Benutzer am Ende erhÀlt.
Offensichtlicher nicht offensichtlicher Punkt: Die Sitzung zur Priorisierung erfolgt nicht mit dem gesamten Team, da dies ineffizient ist, sondern mit drei Personen. Der Erste zustĂ€ndig fĂŒr das GeschĂ€ft, 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 (Minimum Viable Solution).
Wir detaillieren die Ideen der ersten PrioritĂ€t mithilfe von User Stories, Designskizzen, EinschrĂ€nkungen und GeschĂ€ftsregeln auf der Karte der Benutzerhistorien, indem wir mit dem Team darĂŒber sprechen und diskutieren, was den Personas und Stakeholdern in jedem Schritt des Prozesses benötigt wird. Die anderen Ideen lassen wir unentschlossen im Backlog der Möglichkeiten.
Der Prozess wird in Form von Karten von links nach rechts geschrieben, wÀhrend die Ideen auf den Karten unter den Schritten des Prozesses stehen. Der gesamte Verlauf der Geschichte muss unbedingt zusammen mit den Teammitgliedern besprochen werden, um gegenseitiges VerstÀndnis zu schaffen.
Diese Vorgehensweise schafft eine Ganzheitlichkeit der Ăbereinstimmung mit den Prozessen.
Die erhaltenen Ideen mĂŒssen ĂŒberprĂŒft werden. Kein Teammitglied setzt den Hut einer Persona auf und verbringt einen Tag im Kopf der Persona, um deren Aufgabe zu lösen. Es ist möglich, dass er die bereits erarbeiteten Ergebnisse nicht sieht und die Karten neu erstellt, wĂ€hrend das Team Alternativen entdeckt.
Dann erfolgt eine Detaillierung zur Bewertung. Dazu reichen drei Personen aus: der Verantwortliche fĂŒr die Benutzererfahrung, ein Entwickler und ein Tester mit der Lieblingsfrage: âWas wĂ€re, wenn...â
In jeder Phase erfolgt eine Diskussion basierend auf der Prozesskarte der Benutzerhistorie, was es ermöglicht, die Aufgabe des Benutzers im Kopf zu behalten und ein ganzheitliches VerstÀndnis zu schaffen.
Braucht der Autor Dokumentation? Ja, sie ist notwendig. Aber sie sollte als Notizen dienen, die daran erinnern, worĂŒber man sich verstĂ€ndigt hat. Die Einbindung einer externen Person erfordert wiederum Diskussionen.
Der Autor vertieft sich nicht in das Thema der Angemessenheit der Dokumentation, sondern legt den Hauptfokus auf die Notwendigkeit von Diskussionen. (Ja, Dokumentation ist erforderlich, egal was Menschen sagen, die sich nicht tief mit Agile auskennen). AuĂerdem kann die Bearbeitung nur eines Teils der Möglichkeiten dazu fĂŒhren, dass das gesamte System neu gestaltet werden muss. Der Autor weist auf das Risiko einer ĂŒbermĂ€Ăigen Bearbeitung hin, wenn die Idee nicht zutreffend ist.
Um Risiken zu minimieren, ist es notwendig, schnell Feedback zu dem erstellten Produkt zu erhalten, um den Schaden durch die Schaffung eines âfalschenâ Produkts zu minimieren. Wir haben eine Idee skizziert â validiert beim Benutzer, ein Entwurf fĂŒr das BenutzeroberflĂ€chenprototyp â validiert beim Benutzer usw. (Es wird separat erlĂ€utert, wie Prototypen validiert werden). Die Ziele der Softwareerstellung, insbesondere in der Anfangsphase, bestehen darin, durch schnelles Feedback zu lernen. Somit sind die ersten erstellten Produkte Skizzen, die in der Lage sind, Hypothesen zu beweisen oder zu widerlegen. (Der Autor stĂŒtzt sich auf die Arbeit von Eric Ries âLean Startupâ).
Die User-Story-Karte hilft, die Kommunikation zu etablieren, insbesondere wenn die Umsetzung von mehreren Teams getragen wird. Was sollte auf der Karte stehen? Das, was fĂŒr die UnterstĂŒtzung des GesprĂ€chs benötigt wird. Nicht nur User Stories (wer, was, warum), sondern auch Ideen, Fakten, EntwĂŒrfe von BenutzeroberflĂ€chen usw.
Durch das Unterteilen der Karten in der Geschichte in mehrere horizontale Linien können die Arbeiten in Releases aufgeteilt werden â das absolute Minimum, die Schicht zur Erweiterung der FunktionalitĂ€t und die sogenannten âSchleifenâ.
Wir besprechen die Geschichten auf der Prozesskarte.
Der Mitarbeiter kam zum Mittagessen.
Was möchte er? Geschwindigkeit des Service. Damit sein Mittagessen bereits auf dem Tisch oder zumindest auf dem Tablett wartet. Oh, ein verpasster Schritt: Der Mitarbeiter möchte essen. Er loggte sich ins System ein und wĂ€hlte die Option fĂŒr das Business-Lunch. Er sah die Kalorienzahl und die Ăbereinstimmung mit den NĂ€hrwertangaben, um seine DiĂ€t einzuhalten und nicht zuzunehmen. Er sah Bilder des Gerichts, um zu entscheiden, ob er an diesem Ort essen möchte oder nicht.
Geht er als NĂ€chstes zum Lunch holen und essen? Oder wird ihm vielleicht das Lunch ins BĂŒro geliefert? Dann ist der Schritt im Prozess die Auswahl des Essensortes. Er möchte sehen, wann es geliefert wird und was es kosten wird, um zu entscheiden, wo er Zeit und MĂŒhe investieren will â ob nach unten zu gehen oder zur Arbeit. Er möchte die Auslastung des CafĂ©s sehen, um nicht in Warteschlangen zu stehen.
AnschlieĂend kam der Mitarbeiter ins CafĂ©. Er möchte sein Tablett sehen, um es zu nehmen und gleich essen zu gehen. Das CafĂ© möchte Geld annehmen, um am Service zu verdienen. Der Mitarbeiter möchte möglichst wenig Zeit mit den Abrechnungen im CafĂ© verlieren, um keine wertvolle Zeit ungenutzt verstreichen zu lassen. Wie geht das? Vorauszahlen oder nach dem Service remote bezahlen. Oder im Moment ĂŒber einen Kiosk bezahlen. Was ist das Wichtigste daran? Wie viele Leute sind bereit, das Mittagessen mit einer Kreditkarte zu bezahlen? Wie viele Leute vertrauen darauf, ihre Kartennummer fĂŒr zukĂŒnftige Zahlungen in dieser Mensa zu speichern? Ohne eine Felduntersuchung ist es unklar, es bedarf Tests.
In jedem Schritt des Prozesses muss auf irgendeine Weise FunktionalitĂ€t sichergestellt werden. DafĂŒr sollte eine Persona als Grundlage genommen werden, um zu wĂ€hlen, was fĂŒr ihn am wichtigsten ist (die besagte Gruppe von EntscheidungstrĂ€gern). Die Geschichte bis zum Ende durchlaufen = eine tragfĂ€hige Lösung geschaffen.
Als NÀchstes kommt die Detaillierung. Der Kunde möchte die Auslastung des Cafés sehen, damit er nicht in Warteschlangen stehen muss. Was genau möchte er?
Den Prognose sehen, wie viele Menschen in 15 Minuten dort sein werden, wenn er ankommt.
Die durchschnittliche Bedienzeit im CafĂ© und deren Dynamik fĂŒr die nĂ€chsten eine halbe Stunde betrachten.
Die Situation und die Dynamik der Belegung der Tische beobachten.
Was ist, wenn das Prognosesystem ein unverstÀndliches Ergebnis liefert oder aufhört zu arbeiten?
Durch die VideoĂŒberwachung der Warteschlangen im CafĂ© sowie der Belegung der Tische schauen. Hm, warum nicht damit zuerst anfangen?!
Der Autor schlĂ€gt eine kleine Ăbung zur Praxisentwicklung vor: Versuchen Sie sich vorzustellen, was Sie morgens nach dem Aufwachen tun. Eine Karte = eine Handlung. Verdichten Sie die Karten (statt Kaffee mahlen - ein belebendes GetrĂ€nk trinken), um individuelle Details zu entfernen und sich auf das Ziel, nicht die Umsetzung zu konzentrieren.
FĂŒr wen ist dieses Buch - fĂŒr IT-Analysten und Projektleiter. Unbedingt lesenswert.
Anwendungen
Diskussionen und Entscheidungsfindungen sind in Gruppen von 3 bis 5 Personen am effektivsten.
Schreiben Sie auf die erste Karte, was entwickelt werden muss, auf die zweite - was an der ersten zu verbessern ist, und auf die dritte - was an der ersten und der zweiten zu korrigieren ist.
Bereiten Sie Geschichten wie Kuchen vor - ohne das Rezept zunotieren, sondern herauszufinden, fĂŒr wen, zu welchem Anlass und fĂŒr wie viele Personen der Kuchen gedacht ist. Wenn Sie die Umsetzung aufschlĂŒsseln, dann nicht in die Herstellung von Böden, Sahne usw., sondern in die Herstellung kleiner fertig gebackener Kuchen.
Softwareentwicklung Ă€hnelt der Erstellung eines Films, bei dem das Drehbuch sorgfĂ€ltig ausgearbeitet und perfektioniert, die Szene, die Schauspieler und Co. organisiert werden mĂŒssen, bevor die Dreharbeiten beginnen.
Ressourcen werden immer knapp sein.
20% der Anstrengungen bringen spĂŒrbare Ergebnisse, 60% bringen unklare Ergebnisse, und 20% der Anstrengungen schaden â deshalb ist es wichtig, sich auf die Ausbildung zu konzentrieren und sich nicht von negativen Ergebnissen entmutigen zu lassen.
Kommunizieren Sie direkt mit den Nutzern, fĂŒhlen Sie sich in ihre Lage versetzt. Konzentrieren Sie sich auf bestimmte Probleme.
Die Detaillierung und Ausarbeitung der Geschichte zur Bewertung ist der mĂŒhsamste Teil des Scrum, machen Sie Diskussionen stehend im Aquarium-Modus (an der Tafel diskutieren 3-4 Personen, wenn jemand teilnehmen möchte, ersetzt er jemanden).
Quelle: habr.com
