Wie gehe ich mit dem Design der Benutzeroberfläche und der jeweiligen Funktionsunterstützung in der agilen Entwicklung um?

11

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:

  1. Suche nach Benutzern
  2. Benutzer blocken
  3. Benutzer löschen
  4. 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?

Songo
quelle
6
Dies unterstreicht die falsche Idee einiger Leute, dass Agilität, wie auch immer Sie sie definieren, etwas anderes als ein Projektmanagement-Tool ist. Sie brauchen immer noch jemanden, der das gesamte Produkt vom architektonischen Standpunkt aus betrachtet und sicherstellt, dass alle Ihre Geschichten zu etwas Kohärentem führen.
Blrfl
würden die nachwähler plz erklären warum? !!
Songo
@Songo: Nein, Down-Wähler erklären normalerweise nicht, es ist zu viel Aufwand. :-(
Giorgio

Antworten:

13

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.

Matthew Flynn
quelle
8

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.

Karl Bielefeldt
quelle
+1: Sehr gute Antwort: "Bei Agile geht es darum, wie Sie Funktionen bereitstellen, und es hat sehr wenig damit zu tun, wie Sie Funktionen entwerfen." Ich denke, zu oft wird Agilität als Ausrede verwendet, um das Fehlen von Vorab-Design zu rechtfertigen (z. B. wenn ein Entwickler nicht bereit oder nicht in der Lage ist, dies zu tun). Stattdessen sollten Aktivitäten (User Stories und Sprints) geplant werden, nachdem der Gesamtplan und die Architektur vorbereitet wurden (natürlich müssen Sie möglicherweise die Architektur anpassen, während Sie mit dem Projekt fortfahren).
Giorgio
1

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.

Bryan Oakley
quelle
1

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.

Matschig
quelle