In Kiwifarm abbiamo sempre avuto una particolare sensibilità per le tematiche legate alla sostenibilità ambientale, sin dalla prima startup che abbiamo avviato pochi mesi dopo la nostra costituzione: una tecnologia innovativa per lo smaltimento ecologico dei rifiuti sanitari a rischio infettivo (oggetto di uno dei primi articoli del nostro blog). E’ per questo motivo che siamo particolarmente orgogliosi di raccontare la storia di una nuova tecnologia lanciata sul mercato in queste settimane, dopo quasi 2 anni e mezzo di lavoro, questa volta dedicata al risparmio energetico; più precisamente, all’ottimizzazione delle risorse energetiche domestiche.

Ho incontrato per la prima volta Massimo Marengo, l’imprenditore albese che ha ideato e personalmente finanziato ASPECHOME, nel settembre 2018. Ci ha messo in contatto Mirko Bergadano, un patent attorney molto bravo dello Studio Torta, con cui c’è un rapporto di stima reciproca, abbiamo registrato diversi brevetti e che spesso fa il nostro nome ai suoi clienti, quando hanno bisogno di qualcuno che li aiuti a realizzare concretamente le loro idee innovative.

Il principale obiettivo di ASPECHOME è massimizzare l’autoconsumo energetico, con il conseguente risparmio economico, per le abitazioni dotate di impianto fotovoltaico. Infatti, statisticamente, la maggior parte dell’energia viene prodotta dai pannelli quando noi non siamo in casa e quindi non la usiamo. Produzione e consumo di energia avvengono cioè tipicamente in momenti diversi. Per ovviare a questo problema, nella maggior parte degli impianti, l’energia prodotta in eccesso viene ceduta alla rete (tipicamente nel mezzo della giornata) e riacquistata quando ci serve (principalmente la mattina e la sera), ma questo meccanismo ha un costo, sia in termini economici sia di efficienza energetica. Un’altra soluzione praticata è dotare l’impianto domestico di batterie di accumulo, che però sono oggi ancora costose, considerata la loro vita limitata, e hanno un forte impatto ambientale, sia per l’industria dei materiali di cui sono costituite, sia per il loro smaltimento. ASPECHOME offre invece una soluzione che elimina il presupposto alla base dell'inefficienza: concentra cioè il consumo energetico domestico proprio nei momenti di massima di produzione dei pannelli, anche se noi non siamo in casa. Lo fa accendendo le utenze energivore autonomamente (climatizzatori, deumidificatori, caricabatterie, lavatrici, lavastoviglie, asciugabiancheria, ecc.), sulla base della potenza prodotta dai pannelli, del consumo delle singole utenze e delle preferenze e dei vincoli impostati dall’utente. ASPECHOME fornisce inoltre una semplice domotica Wi-Fi e un monitoraggio economico, questo per sapere in tempo reale quanto si risparmia, quanto si spende, l’entità del proprio autoconsumo, ecc. Questo serve per attuare azioni correttive ed aumentare sempre di più il risparmio e, allo stesso tempo, automatizzare l’abitazione aumentando al massimo il comfort.

Per realizzare un prodotto come ASPECHOME, oltre a progettare e sviluppare gli algoritmi che decidono quando è più conveniente accendere una determinata utenza, è necessario progettare un’esperienza utente e un’interfaccia che consentano all’utente di esprimere in modo semplice le proprie preferenze, come ad esempio: “OK, fai pure partire il ciclo della lavastoviglie quando c’è più energia, ma in ogni caso voglio che i piatti siano lavati entro le 19.” Un altro elemento di complessità è progettare e implementare la comunicazione con le utenze, ciascuna con protocolli diversi, in modo sufficientemente generale da renderla pronta a essere estesa facilmente a nuove marche e modelli. Il tutto attraverso un sistema aggiornabile e manutenibile da remoto e molto affidabile, visto che opera in autonomia quando noi non siamo in casa.

Quando ci siamo incontrati, Massimo aveva già fatto molto: registrato due domande di brevetto, realizzato un primo prototipo e raccolto manifestazioni di interesse dal mercato: era ora di fare il grande passo. Anziché farsi carico internamente da subito della complessità gestionale e degli importanti costi fissi del team tecnico che sapeva gli sarebbe servito per realizzare la sua invenzione, Massimo cercava un’organizzazione che potesse aiutarlo dall’esterno. Un team affiatato ed esperto, subito operativo, con tutte le competenze tecniche e l’esperienza di sviluppo prodotto necessarie per dare il primo intenso impulso al R&D di ASPECHOME; insomma, stava cercando Kiwifarm. :-)

Massimo ci ha affiancato Luca Taliano, un suo tecnico esperto di temi energetici che aveva seguito il progetto sin dalle prime fasi, e abbiamo iniziato a lavorare. Ora che la prima versione del prodotto viene lanciato sul mercato, posso dire che lo sviluppo software delle diverse componenti del sistema IoT ha costituito la maggior parte del nostro lavoro. Ma qui di seguito voglio raccontarvi quattro importanti aspetti del progetto che non sempre vengono tenuti in debito conto da chi affronta per la prima volta lo sviluppo di un nuovo prodotto e per i quali il supporto di un team esperto può fare la differenza:

  1. Definizione requisiti
  2. Analisi rischi
  3. Progettazione architetturale
  4. Processo di Test

La definizione dei requisiti

La definizione dei requisiti può sembrare banale, a prima vista, perché si tende a pensare principalmente a quelli funzionali (cosa deve fare il prodotto), che spesso rischiano di rubare tutta la scena. Invece, è essenziale stare attenti a considerare e prendere posizione su tutti gli aspetti chiave del progetto.

Così abbiamo aiutato Massimo e Luca a prendere decisioni su:

  • usabilità,
  • stabilità,
  • sicurezza,
  • affidabilità,
  • manutenibilità,
  • scalabilità,
  • estendibilità,
  • aggiornamenti,
  • dati da raccogliere,
  • protezione dell’IP,
  • condizioni d’uso,
  • competenze di utilizzatori e installatori,
  • trasferibilità del progetto al futuro team interno,

oltre, naturalmente, a:

  • tempi e
  • costi.

Definire bene l’elenco dei requisiti significa cercare una sintesi tra tutte queste istanze facendo  delle scelte, significa quindi anche decidere consapevolmente quelli che, almeno per la prima fase di vita del prodotto, non saranno dei requisiti. L’insieme di tutte queste decisioni influenza ogni scelta tecnologica e di progettazione e può determinare il successo di un prodotto o il suo fallimento, tanto quanto le sue funzionalità.

L’analisi dei rischi

Non si possono prevedere tutte le situazioni avverse in cui un dispositivo può venirsi a trovare, ma è certamente possibile immaginarne una ampia varietà ed è importante farlo, per un prodotto che deve essere affidabile. Fortunatamente si può contare su metodologie specifiche per l'analisi e la valutazione dei rischi di prodotto, ormai consolidate.

A valle di una valutazione accurata, le situazioni che hanno una probabilità significativa di verificarsi e il cui impatto negativo sarebbe "non accettabile" devono essere oggetto di una specifica attività di "abbattimento del rischio".  Per l'abbattimento si può lavorare sia sulla riduzione della probabilità che sulla riduzione dell'impatto negativo, a volte si lavora su entrambi.

Nel caso dei sistemi IoT installati in contesti domestici, come ASPECHOME, molti dei rischi importanti da considerare e contenere hanno, in ultima analisi, a che fare con problemi di comunicazione da e verso i dispositivi in campo. Come conseguenze dell’analisi, sono stati svolti test approfonditi per mettere alla prova alcune componenti critiche del sistema, sono stati ottimizzati i protocolli di comunicazione sia in termini di efficienza che di robustezza e sono stati predisposti diversi meccanismi per rilevare i problemi principali, notificare gli amministratori del sistema e, ovunque possibile, innescare contromisure automatiche, prima ancora che l’utente arrivi ad osservare il malfunzionamento.

La progettazione dell’architettura

In certi ambiti, come ad esempio l’edilizia, l’importanza della fase di progettazione viene data per scontata. Tutti ci aspettiamo (e ci auguriamo) che prima di iniziare la costruzione di un ponte o di un palazzo, molta attenzione e adeguate risorse siano dedicate alla loro progettazione. Lo stesso non succede per lo sviluppo dei prodotti software, purtroppo. Eppure è un mondo molto complesso, con molte tecnologie a disposizione e in rapida evoluzione. Fare le scelte giuste a monte, tenendo conto di rischi e requisiti, è fondamentale per scongiurare scottanti delusioni e aumento dei costi.

Considerata la complessità di un prodotto come ASPECHOME, per definire l’architettura generale del sistema e le tecnologie principali, ne abbiamo disegnate quattro diverse versioni complete e le abbiamo messe a confronto, valutandole rispetto a ciascuno dei principali requisiti. L’esito del lavoro di progettazione è un sistema costituito da:

  • 3 ambienti (device, server cloud e interfaccia web),
  • 3 linguaggi di programmazione,
  • 3 protocolli di comunicazione,
  • 8 servizi.

Il processo di test

Il processo di test attraverso cui si arriva a rilasciare un aggiornamento in produzione è un’altra delle infrastrutture fondamentali, non sempre adeguatamente considerate, per lo sviluppo di un prodotto della complessità di ASPECHOME. Chiunque abbia sviluppato un sistema full-stack IoT sa che i problemi possono essere particolarmente subdoli e la loro identificazione e diagnosi molto laboriose. Ma resta indispensabile scovarli (almeno la maggioranza) prima che raggiungano la produzione.

Esistono diverse strategie, con vantaggi e svantaggi, che vanno scelte sulla base delle caratteristiche, dei requisiti e dei rischi del prodotto da realizzare. Per ASPECHOME abbiamo predisposto tre ambienti e relative fasi di collaudo a complessità crescente, da superare una dopo l’altra, prima del rilascio in produzione di una nuova versione del sistema:

  1. Un primo ambiente simulato, per identificare i principali problemi in un contesto semplificato, che ne agevola la diagnosi e rende più rapido il test delle soluzioni.
  2. Un impianto pilota, che consente di verificare il buon funzionamento con tutte le tecnologie che ASPECHOME supporta e orchestra, in cui però si possono ancora eseguire e ripetere test in condizioni controllate.
  3. Infine, un insieme di beta-tester selezionati che ricevono gli aggiornamenti prima degli altri utenti e li sperimentano per alcune settimane, per verificare il buon funzionamento in condizioni reali e vari contesti di utilizzo (diverse abitudini, utenze, dimensioni di impianto, performance della rete, ecc.)

Al superamento di ciascuna fase di test, il sistema diventa più stabile e quindi può essere esposto ad una complessità superiore. È un sistema di setacci successivi a maglie via via più fitte, che consente di trovare e risolvere malfunzionamenti via via più sottili. E il suo costo è ampiamente ripagato dall’efficienza con cui si riescono a diagnosticare i problemi e dagli interventi di assistenza risparmiati.

Conclusioni

Per chi fa il nostro lavoro con passione è sempre entusiasmante vedere un prodotto che ha partecipato a sviluppare che inizia la sua avventura sul mercato. Per noi di Kiwifarm, ciò è specialmente vero se si tratta un prodotto che, nel suo piccolo, contribuisce a costruire un’economia più sostenibile per il nostro futuro.

--

Photo by Fuu J, Curtis Thornton, Burst, Lubo Minar, Michael Heuser, Jukan Tateisi, and Kenny Krosky on Unsplash