Deje que los usuarios tomen el volante: cómo los clientes corrigieron el rumbo de nuestra función más reciente

Nov 25 2022
Un estudio de caso sobre cómo resolver de forma preventiva los problemas de los clientes a través de su comportamiento Una característica que recientemente se abrió paso en nuestra hoja de ruta de productos en Visibuild fue la capacidad de exportar múltiples archivos PDF para Visis a través de cualquier página de ubicación del proyecto, acertadamente llamada Exportaciones masivas de PDF. Dadas nuestras actualizaciones anteriores que permitieron a los usuarios filtrar Visis en función de una ubicación elegida, el siguiente paso lógico fue permitir a los usuarios exportar esos datos.

Un estudio de caso sobre la solución preventiva de los problemas de los clientes a través de su comportamiento

Una característica que recientemente se abrió paso en nuestra hoja de ruta de productos en Visibuild fue la capacidad de exportar múltiples archivos PDF para Visis a través de cualquier página de ubicación del proyecto , acertadamente llamada Exportaciones masivas de PDF. Dadas nuestras actualizaciones anteriores que permitieron a los usuarios filtrar Visis en función de una ubicación elegida, el siguiente paso lógico fue permitir a los usuarios exportar esos datos.

Nota: Visi es el término amplio que usamos para describir Tareas, Inspecciones o Problemas dentro del producto”

Trabajar en una startup plantea desafíos interesantes para aquellos que trabajan en el desarrollo de productos, y comenzar un nuevo proyecto requiere que nuestro equipo se reúna y realinee la característica y su lugar en nuestra lista de prioridades, ¡particularmente dado el pequeño tamaño de nuestro equipo de productos!

Ingresar al mercado rápidamente y llevar su producto a la paridad de funciones competitivas y construir el foso de "por qué somos diferentes" requiere una priorización despiadada, así como algunos cronogramas de lanzamiento de funciones breves y creativos con la voluntad de avanzar o pivotar a corto plazo. aviso.

Ingresar al mercado rápidamente y llevar su producto a la paridad de características competitivas y construir el foso de "por qué somos diferentes" requiere una priorización despiadada.

Para cada función de producto que lanzamos, nosotros, como equipo, hacemos algunas estimaciones de mejor esfuerzo en torno a algunas compensaciones clave:

  • Hora de comprar.
  • Validación de características.
  • Ciclos de retroalimentación del usuario final.

En Visibuild, estamos trabajando en estrecha colaboración con nuestros clientes y somos transparentes para que nuestro dedo esté al tanto y podamos priorizar lo que se necesita hacer de la manera más efectiva posible. Una vez que se han tomado estas decisiones, el equipo interno trabaja en conjunto para armar la visión de la función y trabajar hacia atrás para dividir el objetivo final en piezas procesables que ayuden a brindar valor al cliente lo antes posible. Parte de ese proceso incluye nuestros esfuerzos para predecir las cosas que podrían salir mal, cómo podemos realizar un seguimiento preventivo de esos resultados y también cómo podemos avanzar en el caso de que el problema se considere un "factor decisivo" en la promesa que hace la función.

Una característica que construí recientemente fue la capacidad para que los clientes exporten archivos PDF de forma masiva de nuestros clientes "Visis" (un término general universal que cubre las inspecciones, problemas, tareas e informes de no conformidad del proyecto).

Nuestro lanzamiento de características que permitió a los usuarios seleccionar múltiples Visis para la exportación masiva de PDF.

Esta función fue muy solicitada y queríamos dividir el resultado final en iteraciones que nos permitieran ofrecer la función a los usuarios más rápido.

Dividimos las iteraciones de esta característica en dos partes:

  1. La primera iteración introduciría la interfaz de usuario orientada al cliente en la aplicación web y utilizaría el flujo de back-end que ya teníamos para enviar por correo electrónico las exportaciones de PDF para un solo Visi como un archivo adjunto de correo electrónico.
  2. La segunda iteración se centraría en reemplazar los archivos zip enviados por correo electrónico con los PDF, almacenar esos archivos zip de forma remota y reemplazar el archivo adjunto del correo electrónico con un enlace a las descargas.

A medida que los usuarios comienzan a usar más nuestra función, la probabilidad de encontrarse con este problema aumenta significativamente. Algunos de los factores que intervinieron en esto (que pudimos identificar) incluirían la cantidad de archivos adjuntos para un Visi, así como la cantidad de Visis solicitada para la exportación.

Dada esta suposición conocida al definir nuestra primera iteración, limitamos las exportaciones masivas para tener un máximo de cincuenta Visis que podrían solicitarse para exportación a la vez. Este límite no fue diseñado para poner un límite a nuestros clientes, pero sabíamos que medir esto y hacer cumplir el límite nos daría la oportunidad de lanzar la función antes y recopilar estadísticas de uso para ayudarnos a tomar una decisión informada sobre la segunda iteración para mover a los enlaces de descarga. El límite no evitaría la posibilidad de una falla debido a que el tamaño del archivo adjunto es grande, pero dada la naturaleza arbitraria del tamaño del archivo adjunto en PDF, pensamos que sin duda ayudaría a mitigar el riesgo de demasiadas exportaciones fallidas.

La decisión del límite le dio a nuestro equipo de productos un respiro que, a su vez, nos dio la oportunidad de mejorar la solución para la segunda iteración de reemplazar los archivos PDF comprimidos y obtener valor para los clientes más rápido.

Estadísticas de la adopción temprana

En Visibuild, nuestro objetivo es permitir que los comentarios de los clientes y las acciones rastreadas impulsen la dirección de nuestro producto.

Dadas las limitaciones acordadas del archivo adjunto de correo electrónico para la primera iteración, se agregó el seguimiento para ver qué proyectos estaban usando la nueva función, cuántos Visis estaban intentando exportar como parte de la solicitud y una forma de capturar los errores si se exportan. se volvió demasiado grande para los archivos adjuntos de correo electrónico.

Resulta que, incluso dentro de la primera semana , las exportaciones a granel se utilizaron para exportar en lotes más grandes de lo que se suponía inicialmente.

Estadísticas sobre el uso dentro de la primera semana de lanzamiento.

El gráfico anterior muestra el número de Visis solicitadas para la generación de PDF por solicitud. Durante la primera semana, hubo algunas señales tempranas de que los usuarios requerían la extensión total del límite de exportación máximo de la nueva función.

Durante la primera semana, hubo algunas señales tempranas de que los usuarios requerían la extensión total del límite de exportación máximo de la nueva función.

Una solicitud incluso logró encontrarse con el escenario exacto que queríamos evitar: falla al enviar un correo electrónico debido a que el archivo adjunto ZIP alcanzó el límite de tamaño.

Nuestro equipo de soporte trabajó para garantizar que la exportación fallida se proporcionara al usuario que realizó la solicitud, pero también identificamos y comprendimos antes del lanzamiento que problemas como este serían costosos para nuestro equipo de soporte si continuaran ocurriendo, particularmente como característica la adopción sólo aumentaría exponencialmente .

En última instancia, solo tuvimos una falla de las primeras cien solicitudes. Nuestra decisión de lanzar la primera iteración aún funcionó a nuestro favor. Entregamos valor a los clientes en el 99 % de las solicitudes . Dicho esto, este uso temprano, los comentarios directos de los clientes y el primer incidente fueron referencias que informaron nuestra decisión de adelantar la próxima iteración del uso de enlaces de descarga en lugar de archivos adjuntos en la lista de prioridades.

El uso temprano, los comentarios directos de los clientes y el primer incidente fueron todas las referencias que informaron nuestra decisión de presentar la próxima iteración.

Avanzando hacia la segunda iteración

Al final de la primera iteración, el flujo de trabajo para exportar múltiples Visis podría simplificarse en el siguiente gráfico de estado:

Un gráfico de estado simplificado que guió cómo funciona el flujo de trabajo de las exportaciones masivas para nuestra primera iteración.

La solución técnica acordada para llevar esto adelante a la siguiente iteración significó que se debían realizar los siguientes cambios:

  1. Introducir una forma de rastrear el estado de un trabajo de exportación masiva, es decir, ¿el trabajo está pendiente, en progreso, completado o rechazado?
  2. Asegúrese de que se produzcan notificaciones para los trabajos correctos y no exitosos para mantener informado al usuario final.
  3. Cree un mecanismo seguro para almacenar y acceder a archivos ZIP exportados.
Un gráfico de estado simplificado que guió cómo funciona el flujo de trabajo de las exportaciones masivas para nuestra segunda iteración.

Esta solución significó que resolveríamos el problema relacionado con el tamaño de los archivos adjuntos, y también seríamos más proactivos para informar a los clientes si se produjo un problema durante el proceso de exportación masiva.

La solución definitiva

Después de trabajar con el resto del equipo del producto para definir la próxima iteración de la experiencia del usuario, implementamos un conjunto actualizado de flujos de correo electrónico para mantener informado al usuario. También definimos, implementamos y rastreamos un conjunto de estados en los que podría estar el trabajo y cómo podríamos reflejarlo mejor a través de la interfaz de usuario en nuestra página de descarga de exportación para asegurarnos de que cualquier problema adicional sea el primero en tener en cuenta y ser abordado por nuestro equipo de producto

El nuevo flujo comenzaría con el usuario solicitando una nueva exportación y la notificación de éxito posicionando el marco de tiempo para la exportación para darle al usuario una mejor idea de cuánto tiempo pueden tardar las exportaciones.

La nueva notificación posicionaría un mejor marco de tiempo para los usuarios finales.

Una vez que la exportación se completó con éxito y estuvo lista para descargar, un correo electrónico actualizado ahora proporcionaría el enlace en lugar de un archivo adjunto. Esto soluciona nuestro problema sobre el tamaño del archivo adjunto con el que nos encontramos. El enlace dirigiría a un usuario a nuestra nueva página de descarga de exportaciones que le brindaría información sobre el estado actual de la exportación y un enlace para descargar la exportación en caso de que estuviera lista (y no caducada).

El primer vistazo de nuestro correo electrónico actualizado enviado a los usuarios cuando se completó una exportación.

Al hacer clic en el enlace de descarga, se proporcionará la página de descarga para que el usuario descargue el PDF.

La nueva página de descarga de exportación proporcionó un enlace para descargar el activo, así como también posicionamiento sobre cuánto tiempo permanecería activo el enlace.

Junto con el enlace de descarga, incluimos el tiempo hasta que caduque el enlace. La decisión se tomó para garantizar que establezcamos el enlace como "caducado" después de 14 días dado que los archivos PDF exportados generalmente pasan a un estado obsoleto poco después de la exportación.

Este nuevo enfoque con la caducidad incorporada nos permitió pensar en los costos de alojar estas solicitudes de exportación de PDF como archivos ZIP remotos. Esto nos ayudó a presupuestar la nueva función a escala, con nuestro backend configurado para eliminar automáticamente estos archivos ZIP obsoletos y ahorrar en costos de datos que ya no se usarían.

Este nuevo enfoque con la caducidad incorporada nos permitió pensar en los costos de alojar estas solicitudes de exportación de PDF como archivos ZIP remotos. Esto nos ayudó a presupuestar la nueva característica a escala.

En el caso de una falla, también teníamos un correo electrónico configurado para informar al usuario que ocurrió un problema para resolver el problema de las fallas "silenciosas" que hacían que los clientes se comunicaran con nosotros sobre los problemas. Esto nos permitió ser proactivamente transparentes con un cliente, además de darle la opción de contactarnos para obtener más información si lo desea.

La pieza final del rompecabezas fue mantener la interfaz de usuario para nuestra página de descarga de exportación informativa con los diferentes estados de trabajo en los que podría estar. Para nosotros, eso significaba asegurarnos de que el usuario estuviera informado si un trabajo estaba en cola, en progreso, fallaba caducado o en un estado de error inesperado.

Algunos de esos estados se representaron en la interfaz de usuario de la siguiente manera:

La interfaz de usuario cuando ocurrió una falla.
La interfaz de usuario cuando una exportación estaba actualmente en curso.
La interfaz de usuario cuando el trabajo había puesto en cola una exportación todavía no había comenzado a procesarse.
La interfaz de usuario cuando el resultado estaba en un estado desconocido.

Gracias a la interfaz de usuario actualizada, pudimos garantizar que los usuarios tuvieran la capacidad de verificar el progreso de cualquier solicitud de exportación determinada y comprender dónde se encuentra esa solicitud en cualquier etapa del ciclo de vida del trabajo.

El ciclo de vida actualizado de nuestro nuevo flujo a lo largo del tiempo podría simplificarse y resumirse de la siguiente manera:

El ciclo de vida de exportación de Visi PDF para solicitudes de exportación de PDF individuales y solicitudes de exportación de PDF en bloque.

Este flujo brinda una descripción general del ciclo de vida de todas nuestras exportaciones de PDF, ya que ocurren para exportaciones de PDF individuales, exportaciones de PDF masivas (más de una exportación de PDF en una solicitud) y el flujo de falla para las exportaciones de PDF individuales y masivas a medida que se ejecutan esos flujos. tiempo extraordinario.

Recuento, desenlace y resultados

En el momento de escribir este artículo, nuestra iteración de la función se ha enviado y hemos seguido de cerca el resultado y los resultados.

Para recordar, comenzamos con la primera iteración que se centró en llevar la capacidad a los clientes sin dejar de tener en cuenta el final para comprender los próximos pasos y mantener la hoja de ruta lo suficientemente fluida para ejecutar esos pasos en el momento adecuado. Después de considerar el análisis de uso y los comentarios de los clientes, promovimos la implementación de nuestra segunda iteración en la hoja de ruta.

Esta segunda iteración tenía como objetivo final resolver y solucionar el problema de los tamaños de los archivos adjuntos y trabajar para desbloquear el límite de exportación de Visi que hemos establecido para los clientes . Hicimos esto migrando nuestro enfoque anterior de adjuntar directamente archivos ZIP exportados a correos electrónicos como archivos adjuntos y, en su lugar, optamos por utilizar una solución de almacenamiento provisional y enlaces de descarga.

Gracias a esta última iteración, hemos mitigado con éxito estos problemas y no han llegado más solicitudes relacionadas con exportaciones fallidas debido al tamaño del archivo adjunto.

En el tiempo transcurrido desde el lanzamiento de esta nueva iteración, la adopción de la función ha aumentado más del 370 % . Es probable que nuestra decisión de avanzar en la iteración de la hoja de ruta haya evitado algunos dolores de cabeza y conversaciones difíciles con nuestros clientes.

Este proyecto mostró la mentalidad colaborativa que compartimos en la empresa. Al tener el final en mente, reconocemos de manera preventiva los posibles escollos en las primeras iteraciones, así como también reforzamos el valor de nuestra compañía para pivotar y abordar cualquier problema problemático y de alto riesgo si ocurre antes de lo previsto.

Al tener el final en mente, reconocemos de manera preventiva los posibles escollos en las primeras iteraciones, así como también reforzamos el valor de nuestra compañía para pivotar y abordar cualquier problema problemático y de alto riesgo si ocurre antes de lo previsto.

Las dos iteraciones de la función de exportación masiva de PDF que se cubrieron en este recuento demuestran la importancia de enviar el valor temprano y tomar decisiones basadas en el uso del cliente.

Encontrarse con el problema de los usuarios que desean aprovechar al máximo una característica es un buen problema. Como se suele decir en las oficinas de nuestro equipo, "Envíe para aprender".