Consenti agli utenti di prendere il volante: in che modo i clienti hanno corretto la nostra ultima funzionalità
Un caso di studio sulla risoluzione preventiva dei problemi dei clienti attraverso il loro comportamento
Una caratteristica che recentemente si è fatta strada nella nostra roadmap di prodotto a Visibuild è stata la capacità di esportare più PDF per Visis attraverso qualsiasi pagina di posizione del progetto , giustamente chiamata Bulk PDF Exports. Dati i nostri aggiornamenti precedenti che consentivano agli utenti di filtrare Visis in base a una posizione scelta, il passaggio logico successivo è stato consentire agli utenti di esportare tali dati.
Nota: Visi è il termine generico che utilizziamo per descrivere attività, ispezioni o problemi all'interno del prodotto"
Lavorare in una startup pone sfide interessanti per coloro che lavorano nello sviluppo del prodotto e dare il via a un nuovo progetto richiede al nostro team di riunirsi e riallinearsi sulla funzionalità e sul suo posto nella nostra lista di priorità, in particolare date le dimensioni ridotte del nostro team di prodotto!
Entrare rapidamente nel mercato e portare il tuo prodotto alla parità di funzionalità competitiva e costruire il fossato "perché siamo diversi" richiede una spietata definizione delle priorità, nonché alcune scadenze creative e brevi per il rilascio delle funzionalità con la volontà di roll-forward o pivot a breve Avviso.
Entrare rapidamente nel mercato e portare il tuo prodotto alla parità di funzionalità della concorrenza e costruire il fossato "perché siamo diversi" richiede una spietata definizione delle priorità.
Per ogni caratteristica del prodotto che iniziamo, noi come team facciamo alcune stime del massimo sforzo intorno ad alcuni compromessi chiave:
- Time-to-market.
- Convalida delle funzionalità.
- Cicli di feedback dall'utente finale.
In Visibuild, stiamo lavorando a stretto contatto con i nostri clienti e rimaniamo trasparenti in modo che il nostro dito sia sul polso e possiamo dare la priorità a ciò che deve essere fatto nel modo più efficace possibile. Una volta prese queste decisioni, il team interno lavora insieme per mettere insieme la visione della funzionalità e lavorare a ritroso per suddividere l'obiettivo finale in pezzi attuabili che aiutano a portare valore al cliente il prima possibile. Parte di quel processo include i nostri sforzi per prevedere cose che potrebbero andare storte, come possiamo monitorare preventivamente tali risultati e anche come possiamo andare avanti nel caso in cui il problema sia considerato un "rompicapo" sulla promessa che fa la funzione.
Una caratteristica che ho sviluppato di recente è stata la possibilità per i clienti di esportare in massa i PDF dei nostri clienti "Visis" (un termine universale che copre le ispezioni, i problemi, le attività ei rapporti di non conformità del progetto).
![](https://post.nghiatu.com/assets/images/m/max/724/1*4-apaHIpFzyG2CgXK_pgWg.png)
Questa funzionalità è stata fortemente richiesta e volevamo suddividere il risultato finale in iterazioni che ci consentissero di rendere disponibile la funzionalità agli utenti più rapidamente.
Abbiamo suddiviso le iterazioni per questa funzionalità in due parti:
- La prima iterazione introdurrebbe l'interfaccia utente rivolta al cliente sull'applicazione Web e utilizzerebbe il flusso di back-end che avevamo già per inviare via e-mail le esportazioni PDF per un singolo Visi come allegato e-mail.
- La seconda iterazione si concentrerà sulla sostituzione dei file zip inviati tramite e-mail con i PDF, sull'archiviazione di tali file zip in remoto e sulla sostituzione dell'allegato e-mail con un collegamento ai download.
Man mano che gli utenti iniziano a utilizzare maggiormente la nostra funzione, la probabilità di incorrere in questo problema è aumentata in modo significativo. Alcuni dei fattori che sono entrati in questo (che potremmo identificare) includerebbero il numero di allegati per un Visi, così come la quantità di Visi richiesta per l'esportazione.
Alla luce di questo presupposto noto durante la definizione della nostra prima iterazione, abbiamo limitato le esportazioni di massa per avere un massimo di cinquanta Visis che potevano essere richiesti per l'esportazione contemporaneamente. Questo limite non è stato progettato per porre un limite ai nostri clienti, ma sapevamo che misurarlo e far rispettare il limite ci avrebbe dato l'opportunità di rilasciare la funzionalità in anticipo e raccogliere statistiche sull'utilizzo per aiutarci a prendere una decisione informata sulla seconda iterazione da spostare ai collegamenti per il download. Il limite non impedirebbe la possibilità di un errore a causa delle dimensioni elevate dell'allegato, ma data la natura arbitraria della dimensione dell'allegato PDF, abbiamo pensato che avrebbe sicuramente contribuito a mitigare il rischio di troppe esportazioni non riuscite.
La decisione del limite ha offerto al nostro team di prodotto un po' di respiro che a sua volta ci ha dato la possibilità di migliorare la soluzione per la seconda iterazione di sostituzione dei PDF compressi, fornendo più rapidamente valore ai clienti.
Statistiche dall'adozione anticipata
In Visibuild, il nostro obiettivo è lasciare che il feedback dei clienti e le azioni monitorate guidino la direzione del nostro prodotto.
Date le limitazioni concordate dell'allegato e-mail per la prima iterazione, è stato aggiunto il monitoraggio per visualizzare quali progetti stavano utilizzando la nuova funzionalità, quanti Visis stavano tentando di esportare come parte della richiesta e un modo per acquisire gli errori se le esportazioni è diventato troppo grande per gli allegati di posta elettronica.
A quanto pare, anche entro la prima settimana , le esportazioni all'ingrosso sono state utilizzate per esportare in lotti più grandi di quanto inizialmente ipotizzato.
![](https://post.nghiatu.com/assets/images/m/max/724/1*ikfVceXDwfAda3dyBQLCAw.png)
Il grafico sopra mostra il numero di Visis richiesti per la generazione di PDF per richiesta. Entro la prima settimana, ci sono stati alcuni primi segnali che gli utenti richiedevano l'intera estensione del limite di esportazione limitato della nuova funzionalità.
Entro la prima settimana, ci sono stati alcuni primi segnali che gli utenti richiedevano l'intera estensione del limite di esportazione limitato della nuova funzionalità.
Una richiesta è persino riuscita a imbattersi nello scenario esatto che volevamo evitare: mancato invio di un'e-mail a causa del raggiungimento del limite di dimensioni dell'allegato del file ZIP.
Il nostro team di supporto ha lavorato per garantire che l'esportazione fallita fosse fornita all'utente che ha effettuato la richiesta, ma abbiamo anche identificato e compreso prima del rilascio che problemi come questo sarebbero stati costosi per il nostro team di supporto se continuassero a verificarsi, in particolare come funzionalità l'adozione aumenterebbe solo in modo esponenziale .
Alla fine, abbiamo avuto solo un errore tra le prime cento richieste. La nostra decisione di rilasciare la prima iterazione ha comunque funzionato a nostro favore. Abbiamo fornito valore ai clienti per il 99% delle richieste . Detto questo, questo utilizzo iniziale, il feedback diretto dei clienti e il primo incidente sono stati tutti riferimenti che hanno informato la nostra decisione di anticipare la prossima iterazione dell'utilizzo dei collegamenti di download sugli allegati nell'elenco delle priorità.
L'utilizzo iniziale, il feedback diretto dei clienti e il primo incidente sono stati tutti riferimenti che hanno informato la nostra decisione di anticipare la prossima iterazione.
Andando avanti nella seconda iterazione
Alla fine della prima iterazione, il flusso di lavoro per l'esportazione di più Visis potrebbe essere semplificato nel seguente diagramma di stato:
![](https://post.nghiatu.com/assets/images/m/max/724/1*2LafbtAt435USH403KOp8A.png)
La soluzione tecnica concordata per portare questo alla prossima iterazione significava che dovevano essere apportate le seguenti modifiche:
- Introdurre un modo per tenere traccia dello stato di un lavoro di esportazione in blocco, ad esempio il lavoro è in sospeso, in corso, completato o rifiutato?
- Assicurati che le notifiche vengano inviate sia per i lavori riusciti che per quelli non riusciti per tenere informato l'utente finale.
- Crea un meccanismo sicuro per archiviare e accedere ai file ZIP esportati.
![](https://post.nghiatu.com/assets/images/m/max/724/1*xqYfCoqpm4Xn_amtjSlnAw.png)
Questa soluzione significava che avremmo risolto il problema relativo alle dimensioni degli allegati, oltre a essere più proattivi nel far sapere ai clienti se si fosse verificato un problema durante il processo di esportazione in blocco.
La soluzione finale
Dopo aver collaborato con il resto del team del prodotto per definire la successiva iterazione dell'esperienza utente, abbiamo implementato un set aggiornato di flussi di posta elettronica per tenere informato l'utente. Abbiamo anche definito, implementato e monitorato una serie di stati in cui potrebbe trovarsi il lavoro e il modo in cui potremmo rifletterlo al meglio attraverso l'interfaccia utente sulla nostra pagina di download dell'esportazione per garantire che eventuali ulteriori problemi vengano presi in considerazione e risolti dal nostro squadra del prodotto.
Il nuovo flusso inizierebbe con l'utente che richiede una nuova esportazione e la notifica di successo che posiziona l'intervallo di tempo per l'esportazione per dare all'utente un'idea migliore di quanto tempo possono richiedere le esportazioni.
![](https://post.nghiatu.com/assets/images/m/max/724/1*Z1CUsB_OgvhXeERfcS0a9w.png)
Una volta che l'esportazione è stata completata correttamente ed è stata pronta per il download, un'e-mail aggiornata ora fornisce il collegamento anziché un allegato. Questo risolve il nostro problema relativo al problema di dimensionamento degli allegati in cui ci siamo imbattuti. Il collegamento indirizzerebbe un utente alla nostra nuova pagina di download delle esportazioni che darebbe loro informazioni sullo stato corrente dell'esportazione e un collegamento per scaricare l'esportazione nel caso in cui fosse pronta (e non scaduta).
![](https://post.nghiatu.com/assets/images/m/max/724/1*nt7dGKp3ww2Fw-kBM7WY_Q.png)
Facendo clic sul collegamento per il download verrà fornita all'utente la pagina di download per scaricare il PDF.
![](https://post.nghiatu.com/assets/images/m/max/724/1*CpEadbbqtbmd8Adc1Q6HKQ.png)
Accanto al collegamento per il download, includiamo il tempo fino alla scadenza del collegamento. La decisione è stata presa per assicurarci di impostare il collegamento su "scaduto" dopo 14 giorni, dato che i PDF esportati generalmente passano a uno stato obsoleto subito dopo l'esportazione.
Questo nuovo approccio con la scadenza incorporata ci ha permesso di prevedere i costi di hosting di queste richieste di esportazione PDF come file ZIP remoti. Questo ci ha aiutato a preventivare la nuova funzionalità su larga scala, con il nostro backend impostato per rimuovere automaticamente questi file ZIP obsoleti e risparmiare sui costi per i dati che non sarebbero più stati utilizzati.
Questo nuovo approccio con la scadenza incorporata ci ha permesso di prevedere i costi di hosting di queste richieste di esportazione PDF come file ZIP remoti. Questo ci ha aiutato a preventivare la nuova funzionalità su larga scala.
In caso di guasto, avevamo anche impostato un'e-mail per informare l'utente che si era verificato un problema per risolvere il problema dei guasti "silenziosi" che inducevano i clienti a contattarci in merito ai problemi. Questo ci ha permesso di essere proattivamente trasparenti con un cliente, oltre a dargli la possibilità di contattarci per ulteriori informazioni, se lo desiderano.
![](https://post.nghiatu.com/assets/images/m/max/724/1*rw0ncAsMxxgLmk5QFhs9yA.png)
L'ultimo pezzo del puzzle era mantenere l'interfaccia utente per la nostra pagina di download dell'esportazione informativa con i diversi stati del lavoro in cui poteva trovarsi. Per noi, ciò significava garantire che l'utente fosse informato se un lavoro era in coda, in corso, non riuscito, scaduto o in uno stato di errore imprevisto.
Alcuni di questi stati erano rappresentati nell'interfaccia utente come segue:
![](https://post.nghiatu.com/assets/images/m/max/724/1*oUwse5bin1Ici5i-E7mJWw.png)
![](https://post.nghiatu.com/assets/images/m/max/724/1*zLukRwflXyWnk74e2zJd3A.png)
![](https://post.nghiatu.com/assets/images/m/max/724/1*SzHTBs6Yhsy8oFUyiQVusw.png)
![](https://post.nghiatu.com/assets/images/m/max/724/1*VXjvR3ehWl4ZgXqVF9wWAQ.png)
Grazie all'interfaccia utente aggiornata, abbiamo potuto garantire che gli utenti avessero la possibilità di controllare lo stato di avanzamento di una determinata richiesta di esportazione e di capire dove si trova tale richiesta in qualsiasi fase del ciclo di vita del lavoro.
Il ciclo di vita aggiornato nel tempo del nostro nuovo flusso potrebbe essere semplificato e riassunto come segue:
![](https://post.nghiatu.com/assets/images/m/max/724/1*2tk5PIK5Lr-gB4IKD2AjmQ.png)
Questo flusso offre una panoramica del ciclo di vita di tutte le nostre esportazioni PDF man mano che si verificano per le esportazioni PDF singole, le esportazioni PDF in blocco (più di un'esportazione PDF in una richiesta) e il flusso di errore per le esportazioni PDF singole e in blocco durante l'esecuzione di tali flussi col tempo.
Recount, esito e risultati
Al momento in cui scriviamo, la nostra iterazione sulla funzione è stata spedita e abbiamo tenuto d'occhio l'esito e i risultati.
Per raccontare, abbiamo iniziato con la prima iterazione incentrata sull'offrire la capacità ai clienti tenendo presente la fine per comprendere i passaggi successivi mantenendo la roadmap sufficientemente fluida per attuare tali passaggi al momento opportuno. Dopo aver considerato l'analisi dell'utilizzo e il feedback dei clienti, abbiamo promosso l'implementazione della nostra seconda iterazione lungo la roadmap.
Questa seconda iterazione aveva l'obiettivo finale di risolvere e aggirare il problema delle dimensioni degli allegati e lavorare per sbloccare il limite di esportazione di Visi rigido che abbiamo impostato per i clienti . Lo abbiamo fatto migrando il nostro approccio precedente di allegare direttamente i file ZIP esportati alle e-mail come allegati e invece abbiamo scelto di utilizzare una soluzione di archiviazione temporanea e collegamenti per il download.
Grazie a quest'ultima iterazione, abbiamo mitigato con successo questi problemi e non sono pervenute più richieste relative a esportazioni non riuscite a causa delle dimensioni dell'allegato.
Nel tempo trascorso dal rilascio di questa nuova iterazione, l'adozione della funzione è aumentata di oltre il 370% . La nostra decisione di spostare l'iterazione sulla tabella di marcia ha probabilmente evitato alcuni mal di testa e conversazioni difficili con i nostri clienti.
Questo progetto ha mostrato la mentalità collaborativa che condividiamo in azienda. Tenendo a mente la fine, riconosciamo preventivamente potenziali insidie nelle prime iterazioni, oltre a rafforzare il valore della nostra azienda per ruotare e affrontare eventuali problemi ad alto rischio e problematici se si verificano prima del previsto.
Tenendo a mente la fine, riconosciamo preventivamente potenziali insidie nelle prime iterazioni, oltre a rafforzare il valore della nostra azienda per ruotare e affrontare eventuali problemi ad alto rischio e problematici se si verificano prima del previsto.
Le due iterazioni della funzione di esportazione PDF in blocco trattate in questo riconteggio dimostrano l'importanza di spedire il valore in anticipo e di prendere decisioni basate sull'utilizzo da parte del cliente.
Incontrare il problema degli utenti che vogliono sfruttare al massimo una funzionalità è un buon problema da avere. Come spesso si dice nei nostri uffici del team, "Spedisci per imparare".