In einem agilen Entwicklungsprozess liegt der Schwerpunkt normalerweise auf User Stories, aber manchmal kann eine einzelne Anforderung mehrere User Stories umfassen.
Beispielsweise kann der Client eine Suchseite für alle Benutzer in einem Forum anfordern, und es gibt verschiedene Aktionen, die für jeden Benutzer ausgeführt werden können, z. B. Benutzer sperren, Benutzer löschen, Kennwort zurücksetzen usw.
Wir können diese Funktion in mindestens 4 User Stories unterteilen:
- Suche nach Benutzern
- Benutzer blocken
- Benutzer löschen
- Passwort zurücksetzen
Wie würde der Benutzeroberflächendesigner eine solche Benutzeroberfläche implementieren? Sollte er / sie an der ersten User Story arbeiten und dann weitere Funktionen für die Benutzeroberfläche hinzufügen? Ich denke jedoch, dass die endgültige Benutzeroberfläche durcheinander sein wird!
Wenn er beschließt, an der gesamten Funktion (Suche + Aktionen) zu arbeiten, was wäre, wenn die Aktionen eine niedrige Priorität hätten und mehrere Iterationen nach Abschluss der Suchfunktion implementiert würden?
Antworten:
Nimm es iterativ. Sie arbeiten direkt mit den Benutzern zusammen, oder? Es sollte also nie wirklich ein Chaos sein.
Machen Sie zuerst die Suchseite. Sie und die Benutzer sollten berücksichtigen, dass sie Aktionen für die Ergebnisse ausführen möchten. Gefällt es den Nutzern? OK, Sie haben Ihre Suche.
Fügen Sie nun das "Passwort ändern" hinzu (oder was auch immer als nächstes Priorität hat). Hoppla, wir müssen die Suchseite ein wenig ändern - nun, Änderungen sind oft Teil des Spiels. Mögen die Benutzer die Ergebnisse? Gut.
Fügen Sie nun den nächsten Eintrag hinzu und den nächsten ...
Der agile Ansatz besagt, dass Sie immer sofort Feedback haben, also sollten Sie gut sein.
Es gibt jedoch keinen wirklichen Grund, warum Sie möglicherweise nicht in der Lage sind, zwei dieser Storys in derselben Iteration anzugreifen (Hinzufügen von Benutzern löschen UND Benutzer sperren). Der Schlüssel ist, immer mit dem Kunden zusammenzuarbeiten, um sicherzustellen, dass es richtig ist.
Oft (immer?) Denken Benutzer über diesen Suchbildschirm an etwas anderes, das sie tun möchten, nachdem Ihr ursprüngliches "Design" fertiggestellt und implementiert wurde. Sie werden es also sowieso irgendwann ändern. Gehen Sie einfach mit dieser Erwartung an das Ganze heran und Sie sollten gut sein.
quelle
Ich habe das Gefühl, dass ich das oft sage. Agil bedeutet nicht, dass Sie Scheuklappen aufsetzen müssen, um die Zukunft zu ignorieren und sich selbst in eine Ecke zu gestalten. Bei Agile geht es darum, wie Sie Funktionen bereitstellen , und es hat sehr wenig damit zu tun, wie Sie Funktionen entwerfen .
Mit anderen Worten, es ist in Ordnung, bei der Erstellung Ihres Designs so weit in die Zukunft zu schauen, wie Sie möchten, solange die Bereitstellung von Funktionen nicht kurzfristig verschoben wird.
In Ihrem speziellen Beispiel bedeutet dies, dass Sie die Benutzeroberfläche so gestalten, dass Sie später problemlos Aktionen hinzufügen können. Wenn jedoch die Arbeit an der richtigen Gestaltung des Aktionsdesigns die Bereitstellung der grundlegenden Benutzersuche durch eine Iteration verzögern würde, ist es besser, zuerst ein Design ohne Aktionen durchzuführen, vorausgesetzt, eine Suche ohne Aktionen hat für den Kunden einen Wert.
Die Frage, die Sie sich stellen sollten, lautet: "Verzögert diese Entwurfsarbeit meine erste Lieferung?" Meistens lautet die Antwort nein. Sie müssen sowieso ein Design erstellen. Alles, was Sie ändern, sind einige Designkriterien.
quelle
Die erste User Story kann das Design der gesamten Benutzeroberfläche sein - sie müssen nicht nur einen Teil davon entwerfen. Es ist das Design als Ganzes, das den geschäftlichen Mehrwert erhöht.
Davon abgesehen sehe ich hier mindestens zwei unterschiedliche Merkmale: die Fähigkeit, nach Benutzern zu suchen, und die Fähigkeit, eine Funktion für einen oder mehrere Benutzer auszuführen. Der Designer könnte jeden dieser Probleme angehen, wenn dies sinnvoller ist.
Denken Sie daran: Das Ziel ist es, qualitativ hochwertige Software zu liefern, und nicht blindlings einer Methodik zu folgen. Fragen Sie sich, ob das Aufteilen des Designs in Teile dieses Ziel unterstützt oder behindert. Es gibt keine Scrum-Polizei, nur zufriedene oder unzufriedene Kunden.
quelle
Ich hatte die Möglichkeit, in einer Agile / Extreme-Programmierfabrik zu praktizieren. Sie verwendeten Story-Cards, um den iterativen Entwicklungsprozess voranzutreiben. Jede Story-Karte führte zu einer Implementierung oder Änderung. Der Schlüssel war die Benutzerinteraktion. Wie kann man erfolgreich eine für einen Benutzer bestimmte Schnittstelle entwerfen, ohne mit einem Benutzer der Software zu interagieren?
Ein mögliches Szenario besteht darin, mit der Benutzerinteraktion zu beginnen, um zu entscheiden, was der Benutzer zuerst möchte. Entwerfen Sie dann iterativ die Benutzeroberfläche basierend auf zunehmendem Feedback, Benutzerpriorität und dem, was der Benutzer haben muss.
Die User Stories dienen dazu zu bestimmen, wie der Benutzer auf welcher Ebene und auf welche Weise interagieren würde. Sie sind jedoch nur Annäherungen, bis sie mit dem Benutzer interagieren. Wenn es eine Vielzahl von Benutzern gibt, die sich alle etwas Bestimmtes wünschen, kann eine kleine Befragung von Personen durchgeführt werden, um eine Basis für die Benutzeroberfläche zu definieren.
quelle