Riutilizzare, ridurre, riciclare (codice): sfruttare il software sostenibile
Di Jacob Mathison
Il potenziale e la qualità dei componenti software riutilizzabili (RSC) potrebbero influenzare il modo in cui vediamo la sostenibilità del web e i prodotti digitali “verdi”. Tuttavia, gli RSC sono uno degli aspetti meno visibili del ciclo di innovazione di un'azienda di software o tecnologia e spesso rimangono in fondo al barile del business. Il termine "componente riutilizzabile" è troppo tecnico per coloro che non sono coinvolti negli sforzi tecnologici e di innovazione e troppo vago per i programmatori (comprensibilmente) che desiderano svolgere il proprio lavoro con il minimo sforzo. Copiare e incollare poche righe di codice può avere un impatto sullo sviluppo sostenibile perché, intenzionalmente o meno, segue la sua linea principale di domande: è efficiente? È facilmente comprensibile? È modulare? È conveniente?
Comprensibilmente, le aziende sono interessate a come le prime tre domande incidono sulla quarta e ultima. Ma, paradossalmente, la maggior parte non è disposta a invertire l’ordine in cui viene misurato l’impatto sui profitti. Se si diffondessero maggiori informazioni e consapevolezza sulla riusabilità del software, diventerebbe evidente che, come prima definizione, "il riutilizzo del software si basa sulla pianificazione preliminare per riutilizzare un componente software che soddisfa le esigenze delle organizzazioni coinvolte nello sviluppo del software in nuovi paesi". contesti." La pianificazione, il coinvolgimento e la progettazione strategica vanno ben oltre il web design basato sui componenti (componenti: pensa a tutti gli elementi visibili agli utenti quando visitano un sito web o un'applicazione).
L'aumento della modularità nel design, delle piattaforme senza codice e delle soluzioni standardizzate con stack tecnologici popolari come Vue.js e Laravel non è solo un fenomeno legato al software, ma una risposta alla crescente domanda di varietà di prodotti da parte dei consumatori in un un arco di tempo molto breve pur garantendo la longevità e la pertinenza del prodotto. Infatti, quando applicata ai principi generali della progettazione, "[m]odularità nella progettazione può essere, quindi, definita come la scelta dei confini di progettazione di un prodotto e dei suoi componenti (...) in modo che le caratteristiche e i compiti della progettazione siano interdipendenti e indipendenti all'interno tra i moduli."
Nello specifico della tecnologia, i confini della progettazione sono spesso determinati dalla presenza di team dedicati per front-end, back-end, sviluppo prodotto e UX/UI, tra le altre aree. Questi confini potrebbero assumere molte varianti; per lo più, le società di software scelgono strutture simili a pod in cui gli elementi funzionali sono sviluppati con l'obiettivo di garantire l'interattività, sia con l'utente finale che tra gli elementi di design stessi. Molte librerie di codici e librerie di stili ben note, come Vuetify o Bootstrap, mirano a mantenere intatti i principi di progettazione (come leggibilità e accessibilità).
Misurare la sostenibilità del software può spesso significare il monitoraggio dei costi/benefici, nonché modelli economici di riutilizzo. Al livello più elementare, la sostenibilità può essere misurata da quante nuove righe di codice sono state scritte (impiegando non solo impegno umano, tempo e capacità professionale, ma anche compromettendo i tempi di caricamento, il rendering e l’utilizzo della larghezza di banda). Già nel 1992 questo concetto era tutt’altro che nuovo: in relazione al numero di nuove righe di codice scritte per un progetto, esistono parametri concreti per monitorare il vantaggio netto del riutilizzo rispetto al costo netto del riutilizzo. Oggi sono stati suggeriti modelli di automazione per misurare il ciclo di sviluppo manutenzione-evoluzione per lo sviluppo sostenibile nel software, compreso l’utilizzo di approcci basati su modelli, previsioni algoritmiche o apprendimento automatico. Ma l’implementazione di nuove soluzioni può essere costosa per le piccole e medie imprese.
In risposta a questo problema, i ricercatori Maggo e Gupta parlano di questo aspetto meno visibile del software sostenibile: "esiste un costo aggiuntivo richiesto per lo sviluppo da zero di componenti software riutilizzabili che possono essere utilizzati per costruire e rafforzare i propri serbatoi software". Per evitare questo costo aggiuntivo, la chiave è la valutazione del processo di cinque fattori che possono essere implementati senza risorse aggregate.