Uno spike per il viaggio nel tempo
Quando il feedback degli utenti ti fa aggiungere una funzionalità fondamentale nel tuo prodotto a cui non avevi minimamente pensato.
Questa settimana ci prendiamo una piccola pausa dal nostro percorso nel mondo della data visualization, perché voglio condividere con voi un bel momento vissuto con il team di Elly in questa settimana.
In realtà questa storia comincia due settimane fa, in occasione del nostro solito incontro mensile di retrospettiva e analisi dello stato di avanzamento di Elly, in cui, tra le altre cose, analizziamo anche i feedback degli utenti che stanno usando il prodotto per capire come rendere la piattafoema sempre più vicina alle loro esigenze.
Questa poi è stata una retrospettiva un po’ speciale, perché é durata ben 3 giorni, invece del solito singolo giorno. Volevamo festeggiare tutti insieme il compleanno del nostro mitico Fabio, che nonostante sia un laziale sfegatato, ama il calcio in generale, quindi non potevamo non regalargli la maglia ufficiale del Napoli con lo scudetto vinto l’anno scorso.
Inoltre volevamo anche approfittare della presenza di Diego, l’account manager che ogni azienda vorrebbe, per registrare un po’ di materiale su Elly, in modo da poterlo utilizzare nella comunicazione delle prossime settimane. Abbiamo anche registrato una demo completa della principali funzionalità del prodotto, in modo da facilitare gli on-boarding continui che stiamo facendo.
Ma torniamo alla giornata di retrospettiva, culminata nell’analisi dei feedback degli utenti.
Più volte i nostri clienti hanno espressamente richiesto la possibilità di esplorare le operazioni effettuate, ovvero di muoversi avanti e indietro tra le varie azioni richieste a Elly nel processo di modellazione di un dato destinato a una dashboard.
Ci siamo quindi detti:
beh, sarebbe proprio bello se effettivamente si potesse andare avanti e indietro nel tempo, mentre applico trasformazioni a una collezione, cosi da costruire contemporaneamente più Tile per una Dashboard, utilizzando le funzioni di esplosione dei dati e duplicazione che già sono presenti nella piattaforma.
Abbiamo buttato giù qualche user story, ma poi ci siamo resi conto che per il momento dovevano restare nel backlog, avendo già delle cose ad alta priorità da affrontare. Quindi nonostante il desiderio di implementare la nostra versione del viaggio nel tempo, ci siamo dovuti piegare alla linearità del tempo a disposizione per fare le cose che già erano programmate.
Poi la settimana scorsa ci siamo accorti che alcuni bug potrebbero essere risolti automaticamente con l’implementazione che avevamo immaginato e che ormai è ufficialmente stata battezzata “history”.
Pertanto abbiamo deciso:
potremmo fare uno spike esplorativo per capire quanto effettivamente è complessa l’implementazione che vogliamo fare e quali problemi, che al momento non vediamo, potrebbero venire fuori.
Nello sviluppo software uno spike è un tipo di attività utilizzata principalmente in contesti che adottano metodologie agili, come Scrum o Extreme Programming (XP). Il termine si riferisce a un'indagine o a un esperimento volto a risolvere un problema tecnico o a raccogliere informazioni.
L'obiettivo è di acquisire la conoscenza necessaria per ridurre il rischio di un approccio tecnico, risolvere un problema complesso o ottenere una stima più accurata per una storia utente che altrimenti sarebbe difficile da valutare.
Gli spike possono essere classificati in due categorie principali:
Spike Tecnico: mira a esplorare soluzioni a sfide tecniche o architetturali. Ad esempio, uno spike tecnico potrebbe essere condotto per valutare diverse librerie o framework per vedere quale si adatta meglio alle esigenze del progetto.
Spike Funzionale: si concentra sull'acquisizione di conoscenze riguardo a specifiche funzionalità o requisiti del prodotto. Questo tipo di spike aiuta a comprendere meglio come implementare una certa caratteristica o come un requisito specifico influenzerà il sistema esistente.
Uno spike è generalmente time-boxed, il che significa che è limitato a un breve periodo di tempo predeterminato (ad esempio, alcune ore o giorni). Al termine dello spike, i risultati vengono presentati al team, fornendo le informazioni necessarie per procedere con decisioni informate riguardo al lavoro futuro. Questo approccio aiuta a minimizzare i rischi e a migliorare la pianificazione e l'esecuzione di un qualsiasi progetto software.
Nel nostro caso si tratta di uno spike funzionale, anche se poi ha avuto delle ricadute da spike tecnico. Ci siamo dati una settimana per affrontarlo, ma il buon Salvatore è riuscito a farci vedere una prima implementazione già mercoledì scorso.
Ed eccola qui!
Prendiamo una collezione qualsiasi, ad esempio le fatture dal nostro ERP. La prima cosa che notiamo sono i pulsanti di navigazione della storia della nostra collezione.
Essendo questa una collezione originaria, cioè una collezione importata dal gestionale (in questo caso Reviso di Team System) senza nessuna modifica da parte nostra, i pulsanti sono disabilitati, semplicemente non c’è una storia pregressa.
Chiediamo a Elly di fare delle operazioni, ad esempio di filtrare per data maggiore del 31-12-2007 e poi filtrare per importo lordo maggiore di 1000. A questo punto abbiamo due operazioni aggiunte alla storia di una potenziale collezione derivata.
Posso aggiungere degli ordinamenti e continuare a modificare la collezione, ma adesso posso muovermi avanti e indietro nella sua storia per rivedere ogni operazione fatta e ripartire da quel punto, rimuovere una operazione, duplicare la collezione da un particolare momento della sua evoluzione.
Può sembrare una cosa poco utile, infatti non c’era in Elly. Ma ancora una volta il feedback degli utenti ha portato alla luce una funzionalità importante, che permette, ad esempio, di semplificare tantissimo la creazione di dashboard che mostra gli stessi dati da punti di vista differenti.
Ovviamente non è finita, perché uno spike punta al risultato senza tanti fronzoli, ma è stato davvero emozionante questo momento e volevo condividerlo con voi.
Che ne pensate? Potrebbe essere utile anche per voi? Se vi va di provarlo sui vostri dati, non dovete fare altro che contattarci, così ci date un feedback diretto. Alla prossima settimana!