Navya: chi siamo
Navya è specializzata nello sviluppo di sistemi di guida autonoma. Fondata nel 2014 e con sede a Lione, in Francia, impiega oltre 280 dipendenti (140 dei quali sono ingegneri ed esperti di tecnologia) in sedi in Francia e negli Stati Uniti. Navya è stata la prima azienda al mondo a rilasciare sul mercato una navetta a guida autonoma. Il primo AUTONOM® SHUTTLE completamente autonomo, senza conducente ed elettrico dell'azienda è stato lanciato nel settembre 2015 come soluzione per il trasporto passeggeri del primo e dell'ultimo miglio.
Il problema: Agile e conformità ISO 26262
All'inizio del 2018, la sfida principale di Navya era gestire la complessità dello sviluppo dei prodotti in un'organizzazione in rapida crescita. Avevano bisogno di un modo per bilanciare la flessibilità di Agile e la rigidità del modello a V, garantendo al contempo la conformità agli obblighi di sicurezza.
Allora l'azienda era una startup. Il team di sviluppo non disponeva di un sistema per gestire le specifiche dei prodotti e i requisiti non venivano congelati durante lo sviluppo. I team software utilizzavano Agile e ogni team gestiva il proprio backlog. La sincronizzazione tra i team era insufficiente, non esistevano procedure da seguire e mancava visibilità sul processo di sviluppo. Tutto ciò era destinato a entrare in conflitto con i severi requisiti normativi che regolano la sicurezza funzionale nel settore della mobilità.
Prima di effettuare la transizione a Codebeamer, il team di sviluppo di Navya utilizzava un mix di strumenti simile a quello di molte altre organizzazioni. Il team ha utilizzato Git per il controllo delle versioni del codice e si è affidato a una combinazione di fogli di calcolo aggiornati manualmente, Jira e un repository di documenti in costante crescita per rimanere al passo con le attività di sviluppo.
Mentre i team di Navya crescevano e la complessità dei prodotti stava per sfuggire al controllo, il team ha rilevato rischi che avrebbero potuto incidere negativamente sull'efficienza dello sviluppo. Il team non ha aspettato che la situazione diventasse così grave da incidere sulle operazioni. Era ovvio che era necessario un cambiamento metodologico.
Sicurezza e conformità nello sviluppo di sistemi di guida autonoma
Navya produce un prodotto a guida autonoma con più sottosistemi critici per la sicurezza. Poiché gli enti governativi sono in ritardo rispetto agli sviluppatori di prodotti nel fornire normative per i sistemi autonomi, ISO 26262 è ancora il requisito normativo più importante che Navya deve rispettare per garantire la sicurezza funzionale.
Dal punto di vista dei processi, il team di sviluppo esegue analisi dei rischi di alto livello basate sui casi d'uso dei prodotti. Questi vengono presi in considerazione nei requisiti di sistema, poi propagati ai sottosistemi e ai componenti necessari. Per convalidare i requisiti funzionali e disfunzionali, il team esegue test a livello della funzione o della simulazione, con prove di stress del sistema software in un ambiente controllato e quindi a livello di sistema in un ambiente rappresentativo.
Dopo che il prodotto supera tutti questi test, viene convalidato e può essere distribuito, pur se il team Navya inizia comunque con una distribuzione più ridotta e controllata, con un numero limitato di clienti. In caso di esito positivo, la nuova soluzione viene distribuita al resto della flotta.
Valutazione degli strumenti ALM tenendo conto della flessibilità
Nel luglio 2018, Navya ha avviato un processo di sourcing per selezionare una soluzione per la gestione del ciclo di vita delle applicazioni. La ricerca è stata abbastanza rapida a causa di una crescente necessità di formalizzare i processi di sviluppo. Per prendere una decisione consapevole, il team ha analizzato le funzionalità di diversi strumenti e ha avviato colloqui con diversi fornitori.
Nell'ambito della valutazione, il team di Navya si era concentrata su alcuni fattori principali:
- Possibilità di configurare in modo personalizzato diversi tipi di oggetti e di stabilire collegamenti tra questi oggetti per la tracciabilità end-to-end
- Facilità d'uso in un ambiente agile, innovativo e in rapida crescita
- Supporto per la collaborazione e possibilità per gli utenti di interagire all'interno dello strumento
- Flessibilità e capacità di perfezionare e adattare il sistema allo scopo di supportare il miglioramento continuo
- Facilità di configurazione, in quanto le esigenze del team cambiano costantemente man mano che vengono migliorati i processi.
- Modello di definizione del prezzo per un ROI ottimale
Come nello sviluppo software, il team di sviluppo di Navya ha adottato un approccio agile nella creazione del proprio ambiente ALM. Il team intendeva procedere in modo incrementale, seguendo i modelli fondamentali di Agile nel processo per assicurarsi che la soluzione fosse adatta alle loro esigenze in continua evoluzione. Il team era in cerca della massima efficienza migliorando costantemente l'ambiente di lavoro. Pertanto, la flessibilità era un requisito chiave per Navya: Lo strumento scelto doveva essere in grado di adattarsi e supportare una mentalità completamente agile.
Dopo aver condotto il processo di valutazione, Navya ha ristretto la ricerca a un elenco ristretto di finalisti che includeva Siemens Polarion e altri strumenti. Alla fine, è stata questa esigenza cruciale di flessibilità a far pendere l'ago della bilancia a favore di Codebeamer.
Navya ha acquistato alcune licenze nell'agosto 2018 e ha continuato a espandere progressivamente il numero di postazioni. Nel 2019, gli utenti di Codebeamer in Navya erano 120, con l'intenzione di raggiungere i 200 l'anno successivo.
Implementazione e formazione autogestite
Navya non aveva esperienza precedente nell'implementazione su larga scala di uno strumento di sviluppo e, secondo Head of Product Development, Navya, non aveva previsto il successo e la crescente domanda che ha riscontrato con Codebeamer. Nel complesso, Navya ha segnalato una rapida adozione dello strumento e l'impegno necessario per formare gli utenti è stato minimo.
Innanzitutto, ci siamo posti l'obiettivo di utilizzare la piattaforma per la gestione dei bug del software. Questo approccio è stato presto esteso alla gestione delle user story e delle epiche per il team software. Un aspetto sorprendente dell'esperienza di Navya con il sistema si è verificato quando il team hardware ha iniziato a usare lo strumento.
Avendo utilizzato Codebeamer per un po' di tempo, il team di prodotto ha pensato che il naturale passo successivo fosse espanderne l'uso allo sviluppo hardware. La dirigenza ha però incontrato una certa resistenza, poiché la piattaforma era percepita dagli ingegneri hardware come uno strumento esclusivamente per il software. Tuttavia, Codebeamer si è rivelato chiaramente in grado di gestire i problemi hardware e di ridurre la complessità e quindi l'adesione del team hardware è stata assicurata.
In termini di formazione, Navya ha adottato un approccio ibrido: Il team aveva già un programma di formazione formale, ma ha capito che era più utile lasciare che gli ingegneri "giocassero" con lo strumento. Una volta appreso quanto fosse facile configurare Codebeamer, Navya ha deciso di contribuire a diffondere l'uso dello strumento in modo organico semplicemente distribuendo i diritti di amministratore a molti team.
Questo approccio si è rivelato un'arma a doppio taglio: Da un lato, gli ingegneri sono diventati esperti nell'uso e nella configurazione della piattaforma, ma il team di sviluppo di Navya si è ritrovato con un'enorme quantità di oggetti eterogenei e non gestiti che non funzionavano insieme. Per risolvere il problema, hanno formato un team incaricato di mantenere un approccio sistemico all'utilizzo della piattaforma, alla riduzione degli oggetti e alla loro reintegrazione in un framework condiviso.
Vantaggi dell'ALM integrato
Passando a Codebeamer, Navya ha beneficiato principalmente di trasparenza, chiarezza e coerenza nei propri processi.
Prima di implementare Codebeamer, i team di Navya lavoravano in silos su vari aspetti funzionali del prodotto. Il team aveva scarsa visibilità delle attività ed era difficile creare una vista a livello di sistema che consentisse al team di gestire la complessità.
Con Codebeamer, il team può avere una visione end-to-end delle attività di sviluppo con collegamenti tra tutti i tipi di artefatti, dai requisiti alla convalida. Le dipendenze sono facilmente tracciabili e i criteri comuni aiutano a standardizzare la qualità della codifica. Il team è in grado di monitorare agevolmente i progressi e diverse metriche di alto livello per misurare le aree di attivazione. Questo aiuta a individuare le aree problematiche per consentire un miglioramento continuo.
ALM ha contribuito a semplificare l'aspetto della conformità degli sforzi di sviluppo di Navya, con collegamenti tracciabili che vanno dai requisiti di alto livello all'architettura organica e di nuovo ai test finali. Questo supporta il team di Navya nello svolgimento delle necessarie fasi di convalida e controlli di conformità. Prima di passare a Codebeamer, questi processi non erano automatizzati e Navya ha riferito che l'utilizzo della piattaforma ha inciso positivamente sull'efficienza del team.
Considerando la flessibilità della piattaforma e tutti i vantaggi che offre, non sorprende che Navya stia ora studiando nuovi modi per adottare Codebeamer nell'organizzazione: