Le recenti notizie provenienti dal settore automobilistico evidenziano una sfida che riguarda tutti gli sviluppatori di software embedded.
Una storia L'attenzione si è concentrata sulla decisione di Ford di richiamare ingegneri esperti, un riconoscimento dell'importanza del know-how aziendale. Le persone che comprendono perché i sistemi sono stati progettati in un certo modo, come si sono evoluti e dove possono nascondersi i potenziali rischi sono spesso preziose quanto la tecnologia stessa.
Un'altra storia La vicenda ruota attorno al divieto imposto a Polestar di vendere veicoli negli Stati Uniti a causa di hardware e software collegati a Cina e Russia. Indipendentemente dalla posizione delle organizzazioni sulle questioni politiche sottostanti, la storia mette in luce una realtà sempre più importante: l'origine, la proprietà e la governance del software stanno diventando questioni di importanza strategica.
A prima vista, queste storie sembrano non correlate. Una parla di persone, l'altra di tecnologia. Ma fondamentalmente, entrambe trattano dello stesso argomento: se un'organizzazione può garantire l'affidabilità dei sistemi da cui dipende, chi li ha creati, chi li conosce attualmente e chi ne sarà responsabile in futuro.
In definitiva, questi articoli sollevano le stesse domande:
Chi si cela dietro il codice?
Non solo chi l'ha scritto.
Chi lo capisce?
Chi se ne occupa della manutenzione?
Chi lo possiede?
Chi può spiegarlo?
E chi continuerà a supportare un prodotto anni dopo il suo lancio?
Queste sono domande che ogni produttore di automobili dovrebbe porsi. Sono domande che dovrebbero porsi anche i produttori di dispositivi medici, attrezzature industriali, prodotti per il fitness ed elettronica di consumo.
Perché la provenienza del software non è più una questione che riguarda solo l'IT.
Si tratta di una questione di natura commerciale.
La catena di fornitura del software si sta facendo sempre più complessa
Fino a poco tempo fa, valutare un software era relativamente semplice. Le organizzazioni si concentravano su funzionalità, prestazioni, costi e tempi di consegna.
Oggi, le aziende che desiderano disperatamente accelerare i cicli di sviluppo hanno cambiato questa equazione.
Lo sviluppo di software può avvenire in diversi paesi. I componenti possono provenire da numerosi fornitori. Le librerie open source sono integrate nelle applicazioni moderne. Gli strumenti di sviluppo assistiti dall'intelligenza artificiale generano codice a una velocità senza precedenti. I team cambiano. I collaboratori esterni se ne vanno. Avvengono acquisizioni. Le roadmap dei prodotti si modificano.
Di conseguenza, molte organizzazioni sanno spiegare cosa fa il loro software. Meno sono quelle che sanno spiegare con sicurezza da dove proviene.
Questa distinzione è importante.
Che si tratti di realizzare una cabina di pilotaggio digitale, un dispositivo di monitoraggio medico, un tapis roulant connesso, un elettrodomestico intelligente o un pannello di controllo industriale, il software che alimenta l'esperienza utente rappresenta sempre più una parte significativa del valore del prodotto, e quindi anche del rischio ad esso associato.
Tre domande che ogni produttore dovrebbe porsi
Domanda 1: Sai dove viene sviluppato il tuo software?
Per anni, l'origine del software è stata considerata principalmente una questione di approvvigionamento.
Oggi sta diventando una questione di governance.
L'industria automobilistica sta già risentendo dell'impatto, poiché le autorità di regolamentazione stanno esaminando più attentamente le tecnologie dei veicoli connessi e gli ecosistemi software che le supportano.
La geografia è importante, soprattutto con l'evoluzione delle normative. I produttori dovrebbero avere visibilità su dove viene sviluppato il software, chi detiene la proprietà intellettuale, chi controlla la roadmap, chi si occupa della manutenzione dei componenti critici e quali dipendenze esistono nell'intera architettura software.
La trasparenza sta diventando sempre più un vantaggio competitivo. Non perché sia richiesto dalle normative, ma perché i team dirigenziali, i clienti e le parti interessate se l'aspettano.
Domanda 2: Sai quanta parte del tuo software è stata creata dall'intelligenza artificiale?
L'intelligenza artificiale sta rapidamente cambiando lo sviluppo del software.
Se utilizzati in modo responsabile, gli strumenti basati sull'intelligenza artificiale possono migliorare la produttività, ridurre i tempi di sviluppo e aiutare gli ingegneri a risolvere i problemi in modo più efficiente.
Ma l'avvento del codice generato dall'intelligenza artificiale solleva nuove domande. Chi lo ha revisionato? Chi lo ha validato? Chi ne è responsabile? E quando, anni dopo, si presenterà un problema critico, chi sarà disponibile a spiegarlo, gestirlo e correggerlo?
La questione non è se l'IA debba essere utilizzata. La preoccupazione è se le organizzazioni mantengano la responsabilità ingegneristica di ciò che viene prodotto, che si tratti di un ingegnere designato che approva ogni commit assistito dall'IA, di uno standard di revisione documentato prima che il codice raggiunga la produzione o semplicemente di una politica che imponga che nessun componente generato dall'IA venga rilasciato senza una persona in grado di spiegarne il funzionamento.
Che il codice sia scritto da una persona, generato da uno strumento o creato attraverso una combinazione di entrambi, la responsabilità non può essere esternalizzata. Qualcuno deve pur sempre comprenderlo.
Soprattutto per i prodotti da cui i clienti dipendono ogni giorno.
Domanda 3: Qualcuno detiene ancora la conoscenza?
Questa potrebbe essere la domanda più trascurata di tutte.
La storia della Ford Ha avuto risonanza perché ogni organizzazione di ingegneria riconosce la sfida. Col tempo, le competenze se ne vanno. I progetti cambiano gestione. I team si riorganizzano. I fornitori si evolvono. La documentazione diventa obsoleta.
Alla fine, le organizzazioni possono ritrovarsi responsabili di sistemi che nessuno comprende appieno.
Non si tratta di un problema tecnologico. È un problema di conoscenza. Ed è uno dei motivi per cui le partnership a lungo termine sono importanti.
I produttori hanno bisogno di qualcosa di più del semplice codice sorgente. Hanno bisogno di accesso a competenze specialistiche. Hanno bisogno di continuità. Hanno bisogno di partner che comprendano non solo cosa fa il software, ma anche perché è stato progettato in quel modo in primo luogo, e che siano in grado di spiegare e supportare tali decisioni anche a distanza di anni.
Domande migliori portano a prodotti migliori
Man mano che i prodotti diventano più connessi, più intelligenti e più basati sul software, i produttori dovrebbero porre ai loro partner tecnologici alcune domande fondamentali:
- Dove è stato sviluppato questo software?
- Chi lo possiede?
- Chi se ne occupa della manutenzione?
- Come viene utilizzata l'intelligenza artificiale nel processo di sviluppo?
- Chi capisce l'architettura?
- Chi supporterà questo prodotto tra cinque o dieci anni?
Non si tratta solo di questioni ingegneristiche.
Sono questioni di leadership.
Si tratta di interrogativi sulla capacità di un'organizzazione di garantire con sicurezza i prodotti che immette sul mercato, sia oggi che negli anni a venire.
Si tratta di domande riguardanti il rischio, la resilienza, la responsabilità e il successo del prodotto a lungo termine.
Perché Altia
In Altia, queste domande non sono teoriche.
Sviluppiamo software per interfacce utente grafiche embedded dal 1991. I nostri team di ingegneri hanno sede negli Stati Uniti e in Europa, e i nostri ingegneri lavorano con noi in media da oltre 15 anni. Questo significa che le persone che hanno sviluppato il vostro software sono molto probabilmente le stesse che sanno ancora spiegare perché è stato progettato in quel modo.
Quella continuità è importante.
Molti dei nostri clienti si affidano alla tecnologia di Altia da oltre un decennio. Queste relazioni di lunga data dimostrano cosa succede quando un fornitore considera la manutenzione e l'assistenza a lungo termine come una caratteristica del prodotto, e non come un aspetto secondario.
Il nostro team vanta una profonda esperienza in grafica embedded, interfacce uomo-macchina, ottimizzazione delle prestazioni, implementazione in produzione e supporto a lungo termine dei prodotti. Altrettanto importante è la trasparenza che contraddistingue il nostro software: da chi viene sviluppato, da chi viene fornito supporto e da come si evolve nel tempo.
In un mondo caratterizzato da catene di fornitura software sempre più complesse, da un controllo normativo crescente, da codice generato dall'intelligenza artificiale e da rapidi cambiamenti tecnologici, i nostri clienti meritano di avere fiducia nelle persone, nei processi e nelle competenze che stanno alla base dei nostri prodotti.
Le organizzazioni che sviluppano i prodotti del futuro, siano essi veicoli, dispositivi medici, attrezzature per il fitness, sistemi industriali o elettronica di consumo, devono sapere da dove proviene il loro software, chi lo sviluppa e chi sarà presente per fornirne assistenza in futuro.
Sono questo tipo di domande che aiutano a creare prodotti migliori e partnership più solide.