Wie sollten wir UI-Designs an die Entwickler übergeben und ihnen ein Ticket zuweisen, um sicherzustellen, dass das entwickelte Design mit den bereitgestellten UI-Mockups übereinstimmt und gleichzeitig agil bleibt?

Wie sollten wir UI-Designs an die Entwickler übergeben und ihnen ein Ticket zuweisen, um sicherzustellen, dass das entwickelte Design mit den bereitgestellten UI-Mockups übereinstimmt und gleichzeitig agil bleibt?

Hinweis: Wir sind definitiv nicht vollständig agil, aber wir bauen darauf hin.

Unser erster Ansatz führte zu Designs, die von Mockups abweichen. Unser zweiter Ansatz fühlt sich nicht agil oder korrekt an.

Erste Ansatz

Ursprünglich würden wir abstrakte Links bereitstellen und die Entwickler anweisen, sie so genau wie möglich abzugleichen

Hier ist ein Beispiel für einen abstrakten Link: https://app.abstract.com/share/aaec8bba-f473-4f64-96e7-bff41c70ff8a?mode=design&selected=root-0D96514D-DEEB-4B05-A00B-4EEB38A353A3

Wenn Sie auf die Registerkarte „Inspect“ klicken, können Sie den Abstand zwischen allen Elementen sehen.

Probleme beim ersten Ansatz:

  1. Die Entwickler hatten keine "UI-Checkliste", an der sie sich orientieren konnten. Sie würden am Ende das abstrakte Design auf halbem Weg ignorieren und es einfach beflügeln. Dies führte zu Entwürfen, die nicht den bereitgestellten Abstracts entsprachen.
  2. Das abstrakte Design vermittelt keine Reaktionsfähigkeit – wie z. B. welche Elemente an den rechten Rand der Seite gepinnt werden oder welche Elemente sich dehnen, wenn der Ansichtsbereich größer wird. Strecken mit dem würden nicht alle Abstandsanforderungen vollständig erfüllen.
  3. Es ist mühsam, abstrakte Links mit Designänderungen zu aktualisieren. Infolgedessen haben wir, anstatt den abstrakten Link zu aktualisieren, einfach „Anpassungshinweise“ in das Ticket eingefügt. Da die Abstracts oft veraltet waren, konnten sich die Entwickler für Abstände und andere Stile nicht sicher auf sie beziehen.

Zweiter Ansatz

Um sicherzustellen, dass die Entwickler die Designs aufeinander abgestimmt haben, haben wir begonnen, jede einzelne Designanforderung als eigenständiges Ticket zu schreiben.

Hier sind zum Beispiel einige Tickets, die wir mit dem neuen System geschrieben haben:

  1. "Stil der Schaltfläche wie folgt"
  2. "Machen Sie den Tastenabstand wie folgt"
  3. "Pin the button to the left side of the viewport"

Dies löste unsere Probleme mit dem Design nicht vollständig

Probleme mit dem zweiten Ansatz:

  1. Passt nicht zur User-Story-Methode des Ticketings (wie können wir 30 Design-Tickets verfolgen, die sich auf eine einzelne User-Story beziehen?)
  2. Mühsam, so viele Tickets zu schreiben
  3. Verstopft das Kanban-Board. Die QA hat viel zu viele Tickets zum Überprüfen (und ist meistens Zeitverschwendung, weil ich der Meinung bin, dass die QA die Funktionalität testen sollte, nicht das Design).

__

Was würden Sie also vorschlagen?

Die Trennung Ihres UX-Prozesses vom Scrum-Team ist ein agiles Anti-Pattern. So sind "Geschichten" wie dieses Widget 1 Pixel nach links verschieben . Vielleicht solltest du deine Vorgehensweise überdenken.
Haben Sie so etwas wie den zweiten Ansatz ausprobiert, aber anstatt eine Tonne Tickets zu sammeln, verwenden Sie Stichpunkte in einem einzigen Ticket? Tickets sollten nach Möglichkeit getrennte Aufgaben darstellen. Wenn es in Ihrem Workflow nicht sinnvoll ist , zuerst die Schaltfläche hinzuzufügen und sie später von jemand anderem an der linken Seite des Ansichtsfensters anzuheften, haben Sie keinen Grund, zwei Tickets zu erstellen.
Oder anders ausgedrückt: Wenn Sie einem Entwickler 10 Informationen mitteilen müssen, damit er seine Arbeit richtig macht, gibt es viele andere Möglichkeiten, als 10 Tickets zu sammeln :-)
Eine Sache, die ich gesehen habe, wird hier nicht erwähnt: Es gibt Design-Mockup-Tools, mit denen Sie responsive Mockups erstellen können, ohne Code schreiben zu müssen. Das könnte eine inkrementelle Verbesserung gegenüber der Verwendung von Photoshop sein. (Ich bin mit solchen Tools nicht sehr vertraut, sonst würde ich antworten.)
Ich bin verwirrt, warum "They would end up disregarding the abstract design half way through and just wing it."passiert ist. Gab es einen technischen Grund dafür, dass sie sich entschieden haben, nicht das zu tun, worum sie gebeten wurden? Mein Unternehmen folgt genau Ihrem "ersten Ansatz" (wenn auch mit einem anderen Tool) und wir haben dieses Problem nicht.
Ich denke, das Problem hier ist, dass das Design und die Website sehr unterschiedlich funktionieren können. Ich war in der Position des Entwicklers, die Arbeit des Designers bearbeiten zu müssen. Manchmal liegt es daran, dass responsives Design verwendet wird, manchmal daran, dass x wirklich schwer fehlerfrei zu machen ist. Besonders dann, wenn jemand das Design in Photoshop zusammengeschustert hat. Das hört sich so an, als ob es einen Dialog mit Ihrem Entwicklerteam braucht. Hören Sie zu, was sie als schwierig empfinden, laden Sie sie zu Besprechungen ein, um sich frühzeitig in das Design einzubringen, bieten Sie Ihre Hilfe an, wenn sie denken, dass Änderungen vorgenommen werden müssen. Auf diese Weise können Sie auch die wichtigen Dinge vorantreiben.

Antworten (3)

Ich habe das so oft mit Design erlebt. Es ist ein strukturelles Problem, wie Menschen und Teams organisiert sind. Jetzt möchte ich sagen, dass funktionsübergreifende Teams nicht agil sein müssen. Scrum erfordert sie, aber ich sehe nicht, dass Sie speziell Scrum verwenden. Das heißt, die Struktur von "Designteam erstellt Design und das Entwicklerteam implementiert" führt direkt zu dem, was Sie hier haben.

Wenn Sie ein Team von Designern haben, die ein Design erstellen, gibt es zwei Möglichkeiten. Erstens können sie ein Tool wie Photoshop verwenden, das Grafiken so anders als das Web rendert, dass der Versuch, sie perfekt zu übersetzen, ein Witz ist. Zweitens können Sie ein Tool wie dieses verwenden, bei dem der Designer lediglich eine HTML/CSS-Webseite erstellt.

Dann versuchen die Entwickler, es zu bauen, aber das Tool hat viele der HTML/CSS-Details in einem seltsamen Versuch verschleiert, die Designer vor unheimlichem Code zu schützen.

Die einfache Lösung, Designer sollten den HTML/CSS-Teil der App erstellen und damit fertig sein. Wenn sie das tun können, was Sie verlinkt haben, können sie die HTML- und CSS-Präsentation erstellen. Noch einfacher wird es, wenn Designer und Entwickler im selben Team Hand in Hand arbeiten.

Ein paar kurze Vorbehalte:

  1. Eine häufige Ausrede, die ich gehört habe, ist, dass es zu technisch ist. Tut mir leid, aber ich muss BS anrufen. Ein bildender Künstler ist ein Experte für die Eigenschaften von Graphit und Farbe. Ein Musiker versteht, wie sein Instrument aufgebaut ist und wie es funktioniert. Es ist nur ein Medium und der Grafikdesigner muss das Medium verstehen, in dem er arbeitet.

  2. Das heißt, es kann eine Anlaufzeit geben. Ich empfehle dringend Paarprogrammierung, um die Fähigkeit aufzubauen (und der Experte sollte der Beobachter/Helfer sein, nicht der Macher).

  3. Eine andere Möglichkeit, die meine gesamte Antwort tatsächlich entkräften würde, besteht darin, dass die Plattform, auf der Sie entwickeln, eine ganze zusätzliche Abstraktion über der HTML / CSS-Schicht aufbaut, sodass Sie, obwohl sich am Ende alles daraus entwickelt, nicht wirklich darauf zugreifen können HTML/CSS. Ich habe das oft mit CMS gesehen. Diese können einige Lösungen annehmen, die weitaus kreativer sind als das, was Sie auf einem Q&A-Board finden, und ehrlich gesagt verdienen sie wahrscheinlich ein ernsthaftes Gespräch darüber, was dieses Framework für Sie auf den Tisch bringt. Im Allgemeinen funktioniert die Verwendung einer solchen Abstraktion jedoch am besten, wenn Sie streng innerhalb der voreingestellten Grenzen dieses Rahmens entwerfen.

„Die Plattform, auf der Sie entwickeln, baut eine ganze zusätzliche Abstraktion auf der HTML/CSS-Schicht auf“ oder sogar, die HTML/CSS-Schicht baut eine ganze zusätzliche Abstraktion auf, die über das hinausgeht, was der Designer berücksichtigt hat. Entwickler sind zum Beispiel die pedantischen Leute, die Fragen stellen, die Designer hassen, wie: „Okay, Sie haben mir also alle Abstände in Pixeln mitgeteilt, was ist also, wenn das Ansichtsfenster nicht die Größe hat, die Sie Ihrer Meinung nach haben sollten?“ Deshalb sind CSS-Pixel eigentlich keine Pixel mehr: Die Entwickler haben gemerkt, dass sie einfach zu umständlich sind!
Und ja, in Bezug auf die Größe des Darstellungsbereichs kann man sagen, dass jeder, der für das Web entwirft, dies unbedingt wissen und als Teil des Designs selbst entscheiden muss. Aber das Identifizieren lästiger Randfälle ist ein Kernstück der Arbeit eines Entwicklers: weniger Kernstück für Grafikdesigner. Wenn es also nicht die Größe des Darstellungsbereichs ist, wird Ihr Entwickler etwas finden .
Ich denke, Ihre Kommentare bekräftigen die Herausforderung, dass Design und Entwicklung zwei getrennte Bemühungen sind. Der Entwickler sollte nicht versuchen, dem Designer einen Schraubenschlüssel in die Hand zu geben, und die Designer sollten ihre Kunst nicht der Entwicklung über den Haufen werfen. Gemeinsam können sie ihr Wissen und ihre Fähigkeiten einsetzen, um eine großartige Lösung zu finden.
Einverstanden: Anstatt Schraubenschlüssel zu werfen, möchten Sie einen kooperativen Prozess, bei dem Sie bei der frühesten Gelegenheit eine Frage stellen können, wodurch verhindert wird, dass Zeit mit der Arbeit an schlechten Annahmen verschwendet wird. Im Fall von Ansichtsfenster und Abstand kann also in dem Moment, in dem der Designer ein großes Rechteck zeichnet und es mit „800 x 600 px“ markiert, jemand sagen „OK, dazu …“, bevor der Designer einen Nachmittag damit verbringt, herauszufinden, wie viele Pixel für jede Komponente zu ermöglichen.
Bitte gestatten Sie mir, einige Materialien beizusteuern, die Ihnen helfen, Ihre Seifenkiste zu vergrößern.
sorry chrylis, ich verstehe den kommentar nicht

Lassen Sie mich den Rahmen Ihrer Frage ein wenig herausfordern:

Warum haben Sie so spezifische Anforderungen , die sich für jedes Ticket ändern ?

Ist es wirklich notwendig, unterschiedliche Ränder zwischen Schaltflächen auf verschiedenen Seiten zu haben? Ist es notwendig, unterschiedliche Stile für Dinge auf verschiedenen Seiten zu haben? Ist es nicht die Aufgabe eines Designers, einen erkennbaren Stil für die gesamte Anwendung zu schaffen?

Ihr Designer sollte eine Stilrichtlinie für die gesamte Anwendung haben. Dort können sie Dinge wie Standardränder, gängige Auffüllgrößen, Bildgrößen und das allgemeine Aussehen von Schaltflächen in Ihrer App definieren. Welche Farben wann verwenden.

Ihre eigene Arbeit sollte nicht darin bestehen, zu glauben, dass es heute 7px sein sollte, weil es ein Montag ist und es gut aussieht. Es sollte 7px sein, weil der Styleguide sagt, dass diese Anwendung es mit 7px macht.

Sie müssen also nur die Abstracts und die Gestaltungsrichtlinie in den Tickets verwenden. Wenn Sie eine „Definition of Done“ haben, können Sie sie sogar dort platzieren, sodass Sie sie nicht in jedem Ticket buchstabieren müssen.

Der Punkt ist: Wenn Sie in jedem Ticket wechselnde Anforderungen haben, tut es mir leid, ja, Sie müssen sie buchstabieren. Aber Sie sollten keine sich ändernden Anforderungen haben, es sei denn, Sie möchten, dass Ihre App wie ein verrückter 13-Jähriger auf seinem ersten Espresso aussieht. Gutes Design hat Regeln. Schreiben Sie sie auf und geben Sie sie an Ihre Design-Implementierer weiter, damit sie sich an die Regeln halten können.

Agile lebt von der Zusammenarbeit zwischen Menschen, anstatt Mauern um jedes Team zu bauen und Dinge darüber zu werfen.

Die ideale Situation wäre, dass die Designer im selben Team wie die Entwickler arbeiten und ihre Designs erstellen, während die Software entwickelt wird, wobei die Technologie verwendet wird, um die Designs bereitzustellen. Auf diese Weise ist der Designer derjenige, der das Design tatsächlich umsetzt.

Wenn dies nicht möglich ist und die Designer in einem von den Entwicklern getrennten Team bleiben müssen, würde ich mich für eine Variante Ihres ersten Ansatzes entscheiden:

  1. Die Designer stellen einen abstrakten Link bereit, der das Design für eine Geschichte/ein Feature zeigt. Dies wird so spät geliefert, wie es verantwortungsbewusst möglich ist, vorzugsweise kurz bevor der Entwickler das Design benötigt, um die Implementierung abzuschließen.
  2. Bevor mit der Umsetzung des Designs begonnen wird, setzt sich der Entwickler mit dem Designer zusammen, um das Design zu besprechen (welche Aspekte konnten nicht im abstrakten Link erfasst werden, welche Teile müssen pixelgenau sein und wo hat der Entwickler Spielraum, um abzuweichen usw.)
  3. Die Arbeit ist erst abgeschlossen, wenn der Designer bestätigt, dass der Entwurf wie vorgesehen umgesetzt wurde. (Wenn das Vertrauen wächst, könnte dies übersprungen werden)

Dies behandelt die Probleme, wie Sie den Ansatz auf folgende Weise durchgeführt haben:

  • Indem das Design so spät wie möglich erstellt wird, sollte die Anzahl der Änderungen zwischen der Erstellung des Designs und seiner Implementierung begrenzt werden. Dadurch muss ein abstraktes Design seltener aktualisiert werden.
  • Der Überprüfungsschritt sollte die Punkte erfassen, an denen der Entwickler vom Design abweicht, ohne den Designer einzubeziehen.
Ich denke tatsächlich, dass die Leute aufgrund des Vertrauens übereifrig sind, (3) zu überspringen. Als Entwickler des Tickets möchte ich, dass Leute, die Anforderungen festlegen, „vertrauen, aber verifizieren“, und ein Design, das von außerhalb des Entwicklerteams kommt, ist eine Anforderung. Der Designer weiß, was er gemeint hat und was es in die Designspezifikation geschafft hat, daher möchte ich immer, dass die Person, die die Spezifikation geschrieben hat, das Ergebnis nach Möglichkeit überprüft. Ebenso werde ich nach Möglichkeit die Person konsultieren, die einen Fehler meldet, um zu bestätigen, dass die Fehlerbehebung ihr Problem behebt, nicht nur das, was sie geschrieben hat oder was sie meiner Meinung nach mit dem gemeint hat, was sie geschrieben hat.
@SteveJessop, ich habe diese Bemerkung in Klammern hinzugefügt, weil diese Bewertungen als etwas angesehen werden könnten, das Verzögerungen verursacht. Aber ich stimme Ihrem Kommentar zu, dass Sie diese Bewertungen haben wollen sollten.