Kaaja: la prima piattaforma in Italia per aste immobiliari private online

Kaaja

La piattaforma digitale Kaaja ha un obiettivo: semplificare il processo di compravendita degli immobili. È unica nel suo genere perché, grazie ad algoritmi di proprietà, digitalizza tutte le operazioni di intermediazione, dalla promozione all’offerta, fino alla registrazione del compromesso, interamente notarizzato su blockchain. Il che vuol dire tempi più corti – si conclude non oltre le sei settimane – e trasparenza dal primo istante.

La Sfida

Abbiamo avuto modo di conoscere il team interno e il progetto nel 2020 attraverso un’attività di discovery tecnica finalizzata ad esplorare puntualmente le diverse feature e le modalità attraverso cui costruire la piattaforma, supportati anche da FifthBeat, partner per progettazione UX/UI.

A seguito della prima fase di discovery, i team Claranet e FifthBeat hanno iniziato a collaborare con il team di Kaaja sotto ogni aspetto: UX, UI, frontend, backend e ops.

Abbiamo concordato di lavorare con la modalità contrattuale Soddisfatti o Rimborsati (con iterazioni settimanali) con l’obiettivo di rilasciare valore fin da subito.

n poche settimane abbiamo messo online, in un dominio protetto, le prime funzionalità come la registrazione e il login, realizzati tramite il sistema di AWS Cognito. Questo servizio AWS ci ha permesso di implementare il flusso di registrazione e autenticazione in maniera sicura e collaudata, lasciando il team libero di dedicarsi alle logiche di business che sono quelle che portano più valore alla piattaforma.

Sotto la guida del team Kaaja, il team di FifthBeat si è occupato della User Experience creando un design sia mobile che desktop; questi input, insieme all’output delle attività di spike tecnologiche per gli elementi di backlog più complessi, hanno permesso la definizione dello scope di ciascuna release, prioritizzando i rilasci in base alle indicazioni del cliente.

La soluzione

Per lo sviluppo della piattaforma sono state adottate le più moderne tecnologie di frontend e backend, adottando su quest’ultima parte l’architettura CQRS + EventSourcing. Per la gestione dei contenuti abbiamo optato per un CMS headless, che ci ha permesso di velocizzare l’inserimento dei contenuti (immobili e aste) all’interno della piattaforma. Inoltre è stato realizzato un backoffice custom per gestire le aste in maniera autonoma e con le logiche di dominio che sarebbero state più difficili da integrare all’interno del CMS.

Ogni settimana con il team di Kaaja abbiamo concordato le varie funzionalità da sviluppare in ordine di priorità e valore per il business.

In merito all’infrastruttura Cloud, è stata progettata individuando le soluzioni più elastiche e scalabili che AWS consente di adottare, realizzando così una infrastruttura resiliente e multilivello.

Il progetto è composto da tre ambienti e account AWS differenti per garantire il massimo isolamento in termini di sicurezza. I servizi impiegati per questo scopo sono molteplici (più di venti) vista la complessità del progetto: il backoffice utilizza CloudFront ed S3 per la tipologia di framework presente, mentre per le API è stato adottato il principio di disaccoppiamento dei servizi utilizzando applicazioni serverless su Lambda ed API Gateway. Per il core applicativo, invece, abbiamo utilizzato il servizio ECS – con EC2 – assicurando la distribuzione dei microservizi su diverse availability zone (zone di disponibilità). A completare l’utilizzo di ECS abbiamo configurato i servizi EventBridge e Step Functions per l’esecuzione di task periodici.

kaaja

Il risultato

L’obiettivo della prima release era permettere ai clienti di acquistare una casa tramite asta, previa registrazione. Lo abbiamo raggiunto in circa dodici iterazioni settimanali: un obiettivo molto sfidante e impegnativo, raggiunto anche grazie alla selezione accurata delle user story di maggior valore per quella release insieme a FifthBeat e sotto indicazione del team Kaaja.

Al termine della prima release, abbiamo ascoltato le nuove priorità del team Kaaja ed abbiamo concordato insieme a FifthBeat il contenuto delle successive iterazioni, migliorando il processo iterativo tramite retrospettive interne.