Ecolab Inc. è una società americana con sede a Saint Paul in Minnesota, USA. Sviluppa e offre servizi, tecnologie e sistemi specializzati nel trattamento, purificazione, pulizia e igiene dell’acqua in un’ampia varietà di applicazioni. Aiuta le organizzazioni, sia nei mercati privati sia in quelli pubblici, a trattare la loro acqua per renderla potabile e adatta all’uso nelle industrie del sanitario, della sicurezza legata all’horeca e del manifatturiero. Impiega 47.000 persone, registra un fatturato di quasi 15 miliardi di dollari e nel 2023 compirà 100 anni dalla fondazione.
Realizzare una Developer Experience d’impatto attraverso una Internal Developer Platform che potesse permettere la gestione di progetti company-wide disponendo di dashboard di status e integrando GitHub.
La divisione IT di Ecolab aveva la necessità di realizzare una nuova piattaforma interna che permettesse di gestire i progetti di team a livello di azienda in modo più organico e condiviso. La richiesta più cruciale è, però, stata non di carattere puramente tecnico, bensì di User Experience: deve essere un ambiente che faccia venire voglia di utilizzarlo, comodo, facile e piacevole all’uso.
La prima domanda alla quale abbiamo voluto rispondere è stata: ma quali elementi identificano una grande DevX? Soprattutto quali elementi identificano una grande DevX per il Cliente specifico? Developer Experience, infatti, non significa scegliere un tool e mettergli una bella skin, si tratta di creare abitudini e ingaggio, aspetti complessi perché legati alla cultura aziendale consolidata. Era necessario individuare i triggers più interessanti per un target dev, quali skill improvements, il senso di sfida, innovazione e curiosità, senza dimenticare la passione per la customizzazione di comandi e spazi di lavoro. E senza dimenticare, d’altro canto, la necessità del business di ridurre gli elementi di distrazione che possono intervenire nel momento della ricerca iniziale di piattaforme varie, accessi, tool e tecnologie.
Abbiamo, quindi, avviato il progetto con un’intensa fase di co-design, imprescindibile per meglio identificare le esigenze concrete dietro alla richiesta iniziale. Interviste al Cliente, oltre a tech assessment approfonditi ci hanno supportato con una serie di aspetti cruciali in un processo di prototipazione incrementale continua:
Per la realizzazione del prodotto, il team di sviluppo ha lavorato a stretto contatto con il cliente per capire le specifiche esigenze e ha effettuato pesanti sviluppi custom per realizzare le funzionalità richieste.
Per implementarle, sono state utilizzate le best practice di Backstage, seguendo le linee guida della piattaforma. Inoltre, per assicurare la scalabilità e la robustezza del sistema, sono stati aggiunti test automatici approfonditi per garantire che le personalizzazioni funzionassero correttamente e non causassero problemi di compatibilità con altre parti del software.
Tra le implementazioni degne di nota, il team ha impiegato il framework dei permessi di Backstage per creare un sistema di accessi custom che permette di definire ruoli e autorizzazioni specifiche per gli utenti della piattaforma.
Altre personalizzazioni effettuate dal team includono un insieme di plugin custom per l’integrazione delle entità di Backstage con GitHub. Questi plugin hanno permesso al cliente di creare e gestire i repository, le issue e i team di un progetto su GitHub e di automatizzare alcune attività di build e deployment direttamente da Backstage.
In conclusione, il lavoro svolto ha permesso di creare una soluzione su misura che ha soddisfatto le richieste del cliente. Grazie all’utilizzo di Backstage come base e alle personalizzazioni effettuate seguendo le best practice del framework, il cliente ha ottenuto una piattaforma robusta, scalabile e facilmente gestibile.