Case Study

Casavo: realizzare un tool efficace in un mese

casavo wizard

Casavo è il primo Instant Buyer immobiliare italiano: attraverso la sua piattaforma online acquisisce immobili residenziali riducendone drasticamente i tempi di vendita.

In occasione della ventunesima edizione dell’ITF Forum, nel 2020 ha ricevuto il premio come Miglior Startup ai Fintech Age Awards per il successo riscosso presso gli investitori e i clienti, grazie all’innovazione espressa nel settore immobiliare. 

Casavo si è affidata a Flowing per la realizzazione di diversi progetti, tra i quali lo sviluppo di un software greenfield, nello specifico di un wizard per ottenere la valutazione economica di un immobile inserendo le caratteristiche dello stesso.

Partire con il piede giusto

La prima fase è stata una “mini discovery” durante la quale il cliente ha condiviso con noi il suo progetto sfidante: prendere un’opportunità di business che aveva dei constraint esterni di deadline molto stringenti.

Abbiamo quindi risposto alla sua esigenza facendo ordine nell’insieme dei requisiti richiesti tramite il gioco delle leve, un’attività che spesso proponiamo in fase di discovery e che in questo caso ci ha aiutato particolarmente, data la presenza di un forte vincolo in ingresso: realizzare il progetto in un mese.

In pratica, con il gioco delle leve chiediamo al cliente di mettere in ordine di importanza quattro voci – senza possibilità di parimerito – in modo da capire l’importanza di ognuna.

gioco delle leve
il gioco delle leve (immagine di esempio)

Da questa attività è ovviamente emersa la prevalenza del fattore deadline sugli altri, in base a queste ed altre informazioni abbiamo calibrato le attività da svolgere per raggiungere il risultato richiesto

Per fare ulteriore chiarezza, abbiamo poi definito delle user stories che abbiamo categorizzato in Must have e Should have, in modo da avere un quadro chiaro e condiviso delle priorità assegnate alle varie feature, condividendo con il cliente criticità e vincoli in totale trasparenza.

Pronti, via!

Una volta fatto questo passaggio preliminare, abbiamo messo a disposizione del cliente un team cross-funzionale con all’interno tutte le figure professionali necessarie per portare a termine il lavoro nei tempi richiesti. I nostri interface developer, frontend developer, backend developer e ops hanno lavorato in sinergia con il comparto UX e DevOps del cliente.

Trattandosi di un progetto greenfield, non avevamo vincoli nella scelta di tecnologia e strumenti. Tenendo bene a mente la leva del “tempo”, abbiamo optato per uno stack tecnologico con cui avevamo confidenza: PHP nel backend, ReactJs nel Frontend. 

Gestire l’operatività per arrivare in sicurezza al rilascio 

Insieme al team del cliente, che aveva l’ownership del progetto ed il compito di validare le funzioni rilasciate ad ogni iterazione, abbiamo subito definito i “riti” a supporto del progetto:

  • stand-up giornaliero, dove mostrare l’avanzamento, evidenziare eventuali roadblock e decidere le successive feature da realizzare;
  • check in prossimità delle demo con il cliente finale o di scadenze, in modo da concentrare l’effort per completare le attività più importanti.

In ragione del forte vincolo di deadline, abbiamo creato insieme al cliente una kanban con due backlog distinti, dedicati alle feature Must have e Should have

Il primo backlog ha avuto ovviamente la priorità, nell’ottica di realizzare un walking skeleton. La prima milestone concordata con il cliente, infatti, prevedeva la realizzazione a stretto giro di uno scheletro funzionante dell’applicativo. Trattandosi di un wizard a step, ci siamo posti l’obiettivo di realizzare la logica di navigazione per permettere all’utente di inserire tutte le informazioni e arrivare alla schermata finale di valutazione dell’immobile, creando un happy path funzionante. Tutte le successive attività di refine e messa a punto – validazione dei dati, gestione di corner case e miglioramenti grafici – sono state realizzate a partire da questo primo prototipo.

Il punto cardine del nostro approccio al progetto è stato sicuramente il contatto quotidiano con il cliente: mantenere tutto il team costantemente allineato ed avere un’idea chiara e condivisa del progresso è stato fondamentale per arrivare all’obiettivo.

In un lasso temporale così ridotto e con un design funzionale già ben definito e documentato, la tentazione di mettersi all’opera “a testa bassa” può essere forte. Ciò può portare però a delle complicazioni: spesso accade che una specifica definita a priori mostri delle debolezze o abbia degli aspetti da rivedere una volta implementata. Questo – unito a una comunicazione sporadica – può portare alla consegna di un software non in linea con le aspettative.

Da qui la strategia che abbiamo adottato: rispondere ai cambiamenti nel minor tempo possibile e portare avanti i lavori in totale sintonia.

In progetti come questo, essere reattivi significa anche prestare attenzione ad eventuali roadblock: individuarli e segnalarli in maniera tempestiva, confrontarsi con il team ed eventualmente valutare soluzioni alternative assieme al cliente diventa più semplice se la comunicazione avviene in maniera efficace.

A livello operativo, il modo migliore di arrivare al risultato desiderato è quello di ottenere feedback il più velocemente possibile dal product owner: a tal proposito abbiamo messo in piedi fin da subito un sistema di continuous delivery, lavorando a stretto contatto con la parte ops, con lo scopo di poter rilasciare velocemente le modifiche in ambiente di staging, renderle così testabili in breve tempo con l’obiettivo di ridurre il più possibile lo spreco.