Il processo di design di un plugin

Come integrare all'interno di un software features di terze parti addizionali

ExHub è il principale software, sviluppato in casa, che utilizziamo in azienda per gestire e rendicontare il lavoro di coding quotidiano. La decisione di progettarlo e implementarlo scaturisce dalla mancanza sul mercato di un unico prodotto che riuscisse a soddisfare tutte le nostre esigenze. Sin da quando abbiamo concepito la sua idea abbiamo deciso che il suo punto di forza sarebbe dovuto risiedere nella possibilità di integrarsi con altri strumenti di utilizzo quotidiano, sia di terze parti già pre-esistenti, sia con altro software che avevamo in cantiere da tempo.

ExStudio è uno di questi software. Nella sua forma attuale permette di gestire un progetto Vue.js, fornendo un supporto mirato alla leggibilità e alla comprensione dell'applicazione e al riutilizzo dei suoi componenti; il tutto continuando ad avvalerci per la scrittura del codice della nostra IDE di fiducia.

I due software hanno necessità di integrarsi relativamente alla gestione dei task che vengono assegnati (spesso autonomamente) agli sviluppatori, che su ExHub hanno la possibilità, a partire da un requisito, di determinare delle attività, stimarne l'effort e taggare uno o più file del progetto reale. In questo modo è possibile avere una visione costante dello stato del lavoro e monitorarne l'andamento.

alt text

Posta la conoscenza pregressa dei due software principali, dalla quale abbiamo estrapolato parte delle informazioni (tra cui le user personas), abbiamo condotto un sondaggio esterno e intervistato diversi utenti in target (compresi gli sviluppatori della nostra squadra). Abbiamo realizzato una prima bozza del plugin comprensiva di una mappa dei flussi principali, sulla quale abbiamo pianificato un test individuale, preceduto da un piccolo briefing in cui abbiamo illustrato l'oggetto e gli scopi dello stesso.

In una prima fase, articolata in forma di colloquio libero (intervallato da alcune domande), abbiamo verificato la comprensione a primo impatto e la facilità di orientamento tra le funzionalità principali dell'applicazione.

Nel secondo step, composto da alcuni direct task e un unico scenario task scriptati, ci è servito per approfondire e analizzare i punti sui quali avevamo le maggiori perplessità; quindi una fase follow up a conclusione, nella quale abbiamo soddisfatto eventuali richieste di approfondimento e verificato il grado di soddisfazione / frustrazione riguardo l'utilizzo del plugin.

Abbiamo utilizzato i risultati del test per revisionare i documenti relativi all'IA, realizzare un'ulteriore iterazione sul wireframe e un prototipo (Sketch + UXPin).

alt text

Sono stati introdotti i badge riportanti il numero di task relativi ai singoli file e la possibilità di espandere / collassare la barra del plugin, aggiunte banali ma che inizialmente non avevamo previsto. Lo sviluppatore ha la possibilità di passare facilmente da un task ad un altro e di commentare al volo il lavoro svolto, può avere costantemente sotto controllo il tempo impiegato e stimato. Abbiamo deciso di non introdurre a schermo nessun countdown, ma una semplice barra di avanzamento; In questo modo non viene aggiunta un'ulteriore pressione durante il lavoro ma si può facilmente verificare la veridicità della stima iniziale.

L'intero processo, in conclusione, si è rivelato utile non solo per il design del nostro plugin, ma anche per migliorare la gestione dei task di ExHub.