Lassen Sie Benutzer das Steuer übernehmen: Wie Kunden unser neuestes Feature korrigiert haben

Nov 25 2022
Eine Fallstudie zur präventiven Lösung von Kundenproblemen durch deren Verhalten Eine Funktion, die kürzlich in unsere Produkt-Roadmap bei Visibuild aufgenommen wurde, war die Möglichkeit, mehrere PDFs für Visis über eine beliebige Projektstandortseite zu exportieren, die treffend als Massen-PDF-Exporte bezeichnet wird. Angesichts unserer vorherigen Updates, die es Benutzern ermöglichten, Visis basierend auf einem ausgewählten Standort zu filtern, war der nächste logische Schritt, Benutzern den Export dieser Daten zu ermöglichen.

Eine Fallstudie zur präventiven Lösung von Kundenproblemen durch ihr Verhalten

Eine Funktion, die kürzlich in unsere Produkt-Roadmap bei Visibuild aufgenommen wurde, war die Möglichkeit, mehrere PDFs für Visis über eine beliebige Projektstandortseite zu exportieren , die treffend als Massen-PDF-Exporte bezeichnet wird. Angesichts unserer vorherigen Updates, die es Benutzern ermöglichten, Visis basierend auf einem ausgewählten Standort zu filtern, war der nächste logische Schritt, Benutzern den Export dieser Daten zu ermöglichen.

Hinweis: Eine Visi ist der allgemeine Begriff, den wir verwenden, um Aufgaben, Inspektionen oder Probleme innerhalb des Produkts zu beschreiben.“

Die Arbeit in einem Startup stellt diejenigen, die in der Produktentwicklung arbeiten, vor interessante Herausforderungen, und der Start eines neuen Projekts erfordert, dass unser Team zusammenkommt und das Feature und seinen Platz auf unserer Prioritätenliste neu ausrichtet, insbesondere angesichts der geringen Größe unseres Produktteams!

Um schnell auf den Markt zu kommen und Ihr Produkt auf Wettbewerbsniveau zu bringen und den Graben „Warum wir anders sind“ auszubauen, sind eine rücksichtslose Priorisierung sowie einige kreative, kurze Zeitpläne für die Veröffentlichung von Funktionen mit der Bereitschaft zur Rollforward- oder Pivot-Funktion erforderlich Notiz.

Um schnell auf den Markt zu kommen und Ihr Produkt auf Wettbewerbsniveau zu bringen und den Graben „Warum wir anders sind“ auszubauen, ist eine rücksichtslose Priorisierung erforderlich.

Für jede Produktfunktion, die wir starten, treffen wir als Team einige bestmögliche Schätzungen um einige wichtige Kompromisse:

  • Time-to-Market.
  • Feature-Validierung.
  • Feedback-Zyklen vom Endbenutzer.

Bei Visibuild arbeiten wir eng mit unseren Kunden zusammen und bleiben transparent, damit wir am Puls der Zeit sind und so effektiv wie möglich priorisieren können, was zu tun ist. Sobald diese Entscheidungen getroffen wurden, arbeitet das interne Team zusammen, um die Vision des Features zusammenzustellen und rückwärts daran zu arbeiten, das Endziel in umsetzbare Teile zu zerlegen, die dazu beitragen, dem Kunden so schnell wie möglich einen Mehrwert zu bieten. Ein Teil dieses Prozesses umfasst unsere Bemühungen, Dinge vorherzusagen, die schief gehen könnten, wie wir diese Ergebnisse präventiv verfolgen können und auch, wie wir voranschreiten können, falls das Problem als „Deal Breaker“ für das Versprechen angesehen wird, das das Feature gibt.

Eine Funktion, die ich kürzlich eingebaut habe, war die Möglichkeit für Kunden, PDFs unserer Kunden „Visis“ (ein universeller Oberbegriff, der die Inspektionen, Probleme, Aufgaben und Nichtkonformitätsberichte des Projekts abdeckt) in großen Mengen zu exportieren.

Unser Feature-Release, mit dem Benutzer mehrere Visis für den Massen-PDF-Export auswählen konnten.

Diese Funktion wurde stark nachgefragt, und wir wollten das Endergebnis in Iterationen aufteilen, die es uns ermöglichten, die Funktion den Benutzern schneller zur Verfügung zu stellen.

Wir haben die Iterationen für dieses Feature in zwei Teile aufgeteilt:

  1. Die erste Iteration würde die kundenorientierte Benutzeroberfläche in der Webanwendung einführen und den Backend-Flow nutzen, den wir bereits hatten, um PDF-Exporte für eine einzelne Visi als E-Mail-Anhang per E-Mail zu versenden.
  2. Die zweite Iteration würde sich darauf konzentrieren, die per E-Mail gesendeten ZIP-Dateien durch die PDFs zu ersetzen, diese ZIP-Dateien remote zu speichern und den E-Mail-Anhang durch einen Link zu den Downloads zu ersetzen.

Je mehr Benutzer unsere Funktion verwenden, desto größer ist die Wahrscheinlichkeit, dass dieses Problem auftritt. Einige der Faktoren, die dabei eine Rolle spielten (die wir identifizieren konnten), waren die Anzahl der Anhänge für eine Vis sowie die Menge der für den Export angeforderten Visis.

Angesichts dieser bekannten Annahme bei der Definition unserer ersten Iteration haben wir die Massenexporte auf maximal fünfzig Visis begrenzt, die gleichzeitig für den Export angefordert werden können. Diese Obergrenze wurde nicht entwickelt, um unsere Kunden zu begrenzen, aber wir wussten, dass uns die Messung und Durchsetzung der Grenze die Möglichkeit geben würde, die Funktion früher freizugeben und Nutzungsstatistiken zu sammeln, um uns zu helfen, eine fundierte Entscheidung über die zweite Iteration zu treffen zu den Downloadlinks. Die Obergrenze würde die Möglichkeit eines Fehlers aufgrund einer großen Anhangsgröße nicht verhindern, aber angesichts der willkürlichen Natur der PDF-Anhangsgröße dachten wir, dass dies sicherlich dazu beitragen würde, das Risiko zu vieler fehlgeschlagener Exporte zu mindern.

Die Entscheidung für die Obergrenze verschaffte unserem Produktteam etwas Luft zum Atmen, was uns wiederum die Möglichkeit gab, die Lösung für die zweite Iteration des Ersetzens der gezippten PDFs auszurüsten und gleichzeitig den Kunden schneller einen Mehrwert zu bieten.

Statistiken aus der frühen Adoption

Bei Visibuild ist es unser Ziel, Kundenfeedback und nachverfolgte Aktionen unsere Produktrichtung vorantreiben zu lassen.

Angesichts der vereinbarten Einschränkungen des E-Mail-Anhangs für die erste Iteration wurde eine Nachverfolgung hinzugefügt, um anzuzeigen, welche Projekte die neue Funktion verwenden, wie viele Visis sie als Teil der Anfrage zu exportieren versuchten, und um die Fehler beim Export zu erfassen wurde zu groß für E-Mail-Anhänge.

Wie sich herausstellte, wurden bereits in der ersten Woche Bulk-Exporte verwendet, um in größeren Mengen als ursprünglich angenommen zu exportieren.

Statistiken zur Nutzung innerhalb der ersten Woche nach Veröffentlichung.

Das obige Diagramm zeigt die Anzahl der für die PDF-Generierung angeforderten Visis pro Anforderung. Innerhalb der ersten Woche gab es einige frühe Anzeichen dafür, dass die Benutzer den vollen Umfang des begrenzten Exportlimits der neuen Funktion benötigten.

Innerhalb der ersten Woche gab es einige frühe Anzeichen dafür, dass die Benutzer den vollen Umfang des begrenzten Exportlimits der neuen Funktion benötigten.

Bei einer Anfrage kam es sogar zu genau dem Szenario, das wir vermeiden wollten: Fehler beim Senden einer E-Mail, weil der ZIP-Dateianhang die Größenbeschränkung erreicht.

Unser Support-Team hat daran gearbeitet sicherzustellen, dass der fehlgeschlagene Export dem Benutzer zugestellt wurde, der die Anfrage gestellt hat, aber wir haben auch vor der Veröffentlichung festgestellt und verstanden, dass solche Probleme für unser Support-Team kostspielig sein würden, wenn sie weiterhin auftreten würden, insbesondere als Feature Adoption würde nur exponentiell zunehmen .

Letztendlich hatten wir nur einen Fehler von den ersten hundert Anfragen. Unsere Entscheidung, die erste Iteration zu veröffentlichen, wirkte sich dennoch zu unseren Gunsten aus. Bei 99 % der Anfragen konnten wir unseren Kunden einen Mehrwert liefern . Davon abgesehen waren diese frühe Nutzung, das direkte Kundenfeedback und der erste Vorfall alles Referenzen, die unsere Entscheidung beeinflussten, die nächste Iteration der Verwendung von Download-Links über Anhängen auf der Prioritätenliste vorzuziehen.

Frühe Nutzung, direktes Kundenfeedback und der erste Vorfall waren alles Referenzen, die unsere Entscheidung beeinflussten, die nächste Iteration vorzuziehen.

Rolling forward in die zweite Iteration

Am Ende der ersten Iteration könnte der Workflow zum Exportieren mehrerer Visis in das folgende Zustandsdiagramm vereinfacht werden:

Ein vereinfachtes Zustandsdiagramm, das anleitete, wie der Arbeitsablauf von Massenexporten für unsere erste Iteration funktioniert.

Die vereinbarte technische Lösung, um dies für die nächste Iteration voranzutreiben, bedeutete, dass die folgenden Änderungen vorgenommen werden mussten:

  1. Führen Sie eine Möglichkeit ein, den Status eines Massenexportauftrags zu verfolgen, dh ist der Auftrag ausstehend, in Bearbeitung, erfüllt oder abgelehnt?
  2. Stellen Sie sicher, dass Benachrichtigungen sowohl für erfolgreiche als auch für nicht erfolgreiche Jobs erfolgen, um den Endbenutzer auf dem Laufenden zu halten.
  3. Erstellen Sie einen sicheren Mechanismus zum Speichern und Zugreifen auf exportierte ZIP-Dateien.
Ein vereinfachtes Zustandsdiagramm, das anleitet, wie der Arbeitsablauf von Massenexporten für unsere zweite Iteration funktioniert.

Diese Lösung bedeutete, dass wir das Problem mit den Anhangsgrößen lösen und Kunden proaktiver informieren würden, wenn während des Massenexportvorgangs ein Problem aufgetreten ist.

Das finale Resultat

Nachdem wir mit dem Rest des Produktteams zusammengearbeitet hatten, um die nächste Iteration der Benutzererfahrung zu definieren, implementierten wir einen aktualisierten Satz von E-Mail-Flows, um den Benutzer auf dem Laufenden zu halten. Wir haben auch eine Reihe von Zuständen definiert, implementiert und nachverfolgt, in denen sich der Job befinden könnte, und wie wir dies am besten über die Benutzeroberfläche auf unserer Export-Download-Seite widerspiegeln können, um sicherzustellen, dass alle weiteren Probleme im Vordergrund stehen und von uns angegangen werden Produktteam.

Der neue Ablauf würde damit beginnen, dass der Benutzer einen neuen Export anfordert und die Erfolgsbenachrichtigung den Zeitrahmen für den Export positioniert, um dem Benutzer eine bessere Vorstellung davon zu geben, wie lange Exporte dauern können.

Die neue Benachrichtigung würde einen besseren Zeitrahmen für Endbenutzer festlegen.

Sobald der Export erfolgreich abgeschlossen wurde und zum Herunterladen bereit war, enthielt eine aktualisierte E-Mail nun den Link anstelle eines Anhangs. Dies behebt unser Problem mit dem Größenproblem von Anhängen, auf das wir gestoßen sind. Der Link würde einen Benutzer zu unserer Download-Seite für neue Exporte führen , die ihm Informationen über den aktuellen Status des Exports und einen Link zum Herunterladen des Exports für den Fall geben würde, dass er fertig (und nicht abgelaufen) ist.

Der erste Blick auf unsere aktualisierte E-Mail, die an Benutzer gesendet wurde, wenn ein Export ausgeführt wurde.

Durch Klicken auf den Download-Link wird die Download-Seite bereitgestellt, auf der der Benutzer das PDF herunterladen kann.

Die neue Export-Download-Seite enthielt einen Link zum Herunterladen des Assets sowie eine Positionierung, wie lange der Link aktiv bleiben würde.

Neben dem Download-Link geben wir die Zeit an, bis der Link ablaufen würde. Die Entscheidung wurde getroffen, um sicherzustellen, dass wir den Link nach 14 Tagen auf „abgelaufen“ setzen, da exportierte PDFs in der Regel bald nach dem Export in einen veralteten Zustand übergehen.

Dieser neue Ansatz mit integriertem Ablaufdatum ermöglichte es uns, über die Kosten für das Hosten dieser PDF-Exportanforderungen als Remote-ZIP-Dateien nachzudenken. Dies half uns, die neue Funktion in großem Umfang zu budgetieren, da unser Backend so eingestellt war, dass diese veralteten ZIP-Dateien automatisch entfernt und Kosten für Daten eingespart wurden, die nicht mehr verwendet würden.

Dieser neue Ansatz mit integriertem Ablaufdatum ermöglichte es uns, über die Kosten für das Hosten dieser PDF-Exportanforderungen als Remote-ZIP-Dateien nachzudenken. Dies half uns, das neue Feature in großem Umfang zu budgetieren.

Für den Fall eines Fehlers hatten wir auch eine E-Mail eingerichtet, um den Benutzer darüber zu informieren, dass ein Problem aufgetreten ist, um das Problem der „stillen“ Fehler zu lösen, die dazu führen, dass Kunden uns wegen Problemen kontaktieren. Dies ermöglichte es uns, gegenüber einem Kunden proaktiv transparent zu sein und ihm die Möglichkeit zu geben, uns bei Bedarf für weitere Informationen zu kontaktieren.

Das letzte Teil des Puzzles bestand darin, die Benutzeroberfläche für unsere Export-Download-Seite informativ mit den verschiedenen Auftragszuständen zu halten, in denen sie sich befinden könnte. Für uns bedeutete dies, sicherzustellen, dass der Benutzer informiert wurde, wenn ein Auftrag in die Warteschlange gestellt wurde, in Bearbeitung war, fehlgeschlagen war, abgelaufen oder in einem unerwarteten Fehlerzustand.

Einige dieser Zustände wurden in der Benutzeroberfläche wie folgt dargestellt:

Die Benutzeroberfläche, wenn ein Fehler aufgetreten ist.
Die Benutzeroberfläche, wenn gerade ein Export ausgeführt wird.
Wenn ein Export vom Job in die Warteschlange gestellt wurde, musste die Benutzeroberfläche noch mit der Verarbeitung beginnen.
Die Benutzeroberfläche, wenn sich das Ergebnis in einem unbekannten Zustand befand.

Dank der aktualisierten Benutzeroberfläche konnten wir sicherstellen, dass die Benutzer den Fortschritt einer bestimmten Exportanforderung überprüfen und nachvollziehen konnten, wo sich diese Anforderung in jeder Phase des Joblebenszyklus befindet.

Der aktualisierte Lebenszyklus unseres neuen Ablaufs im Laufe der Zeit könnte wie folgt vereinfacht und zusammengefasst werden:

Der Visi-PDF-Exportlebenszyklus für einzelne PDF-Exportanforderungen und Massen-PDF-Exportanforderungen.

Dieser Ablauf gibt einen Überblick über den Lebenszyklus für alle unsere PDF-Exporte, wie sie für einzelne PDF-Exporte, Massen-PDF-Exporte (mehr als ein PDF-Export in einer Anforderung) auftreten, und den Fehlerablauf für sowohl Einzel- als auch Massen-PDF-Exporte, wenn diese Abläufe ausgeführt werden im Laufe der Zeit.

Recount, Ergebnis und Ergebnisse

Zum Zeitpunkt des Verfassens dieses Artikels wurde unsere Iteration des Features ausgeliefert, und wir haben das Ergebnis und die Ergebnisse genau beobachtet.

Zur Erinnerung: Wir begannen mit der ersten Iteration, die sich darauf konzentrierte, die Fähigkeit an Kunden weiterzugeben und dabei das Ende im Auge zu behalten, um die nächsten Schritte zu verstehen und gleichzeitig die Roadmap flüssig genug zu halten, um diese Schritte zum richtigen Zeitpunkt umzusetzen. Nach Berücksichtigung von Nutzungsanalysen und Kundenfeedback haben wir die Implementierung unserer zweiten Iteration auf der Roadmap vorangetrieben.

Diese zweite Iteration hatte das Endziel, das Problem der Anhangsgrößen zu lösen und zu umgehen und darauf hinzuarbeiten, das harte Visi-Exportlimit aufzuheben, das wir für Kunden festgelegt haben . Dazu haben wir unseren bisherigen Ansatz, exportierte ZIP-Dateien direkt als Anhang an E-Mails anzuhängen, migriert und uns stattdessen für eine Zwischenspeicherlösung und Download-Links entschieden.

Dank dieser letzten Iteration haben wir diese Probleme erfolgreich gemildert und es sind keine Anfragen mehr wegen fehlgeschlagener Exporte aufgrund der Anhangsgröße eingegangen.

In der Zeit seit der Veröffentlichung dieser neuen Iteration ist die Akzeptanz der Funktion um über 370 % gestiegen . Unsere Entscheidung, die Iteration auf der Roadmap nach oben zu verschieben, hat wahrscheinlich einige Kopfschmerzen und schwierige Gespräche mit unseren Kunden verhindert.

Dieses Projekt zeigte die kooperative Mentalität, die wir im Unternehmen teilen. Indem wir das Ende im Auge behalten, erkennen wir potenzielle Fallstricke in frühen Iterationen präventiv und stärken unseren Unternehmenswert, um alle risikoreichen und problematischen Probleme zu ändern und anzugehen, wenn sie früher als erwartet auftreten.

Indem wir das Ende im Auge behalten, erkennen wir potenzielle Fallstricke in frühen Iterationen präventiv und stärken unseren Unternehmenswert, um alle risikoreichen und problematischen Probleme zu ändern und anzugehen, wenn sie früher als erwartet auftreten.

Die zwei Iterationen der Massen-PDF-Exportfunktion, die in diesem Bericht behandelt wurden, zeigen, wie wichtig es ist, den Wert des Versands frühzeitig zu ermitteln und Entscheidungen auf der Grundlage der Kundennutzung zu treffen.

Das Problem, dass Benutzer das Beste aus einer Funktion herausholen möchten, ist ein gutes Problem. Wie es in unseren Teambüros oft heißt: „Ship to learn“.