Servizi hardware e software: outsourcing o partnership?

12 domande su come scegliere un partner di sviluppo tecnologico.

In questo articolo, parliamo dei motivi per i quali molte aziende tecnologiche affidano parte dello sviluppo del loro prodotto ad aziende esterne. Questi motivi sono vari e possono essere legati ad aspetti economici, ma anche alla possibilità di sfruttare competenze specifiche che magari sono necessarie in un determinato progetto.

È un trend in grande crescita e potenzialmente può portare molti benefici. Però pensiamo che queste tematiche vadano affrontate in maniera strategica, in modo da evitare gli errori più comuni. Abbiamo intervistato Simone Zinanni, CEO di Develer.

Simone: Ciao, grazie per questa intervista.

Alessia: Simone, è da anni che Develer collabora con aziende italiane e internazionali e fornisce servizi di sviluppo di software e di hardware. Ma perché le aziende si affidano a un fornitore esterno, come per esempio Develer, per le attività di sviluppo software o di progettazione elettronica? 

Simone: Spesso, nella vita di un’azienda, arriva il momento in cui i prodotti hanno necessità di fare un salto di tecnologia. Penso, ad esempio, a prodotti metalmeccanici che devono avere una parte elettronica e del software interno. Penso a prodotti elettronici che devono essere connessi a internet oppure avere sistemi cloud o interfacce utenti Multitouch o interfacce mobile, e gli esempi possono essere ancora tanti.

In questi momenti, quando l’azienda vuole, per la necessità del mercato, fare un salto tecnologico, non sempre è pronta a farlo subito. A volte mancano le competenze interne. E allora noi aiutiamo l’azienda a fare quel passo in quel momento specifico, per poi riaffidarle il prodotto in pieno. In sintesi, aiutiamo le aziende per un periodo di transizione tecnologica dei loro prodotti. Questo è il motivo principale.

Poi c’è qualche altro caso. Ad esempio, ci sono aziende che hanno le competenze interne per sviluppare i prodotti, ma magari non riescono – nella situazione attuale del mercato del lavoro – a trovare le risorse per farlo autonomamente. In questo momento, infatti, c’è un mercato del lavoro molto difficile per quanto riguarda le figure tecniche e tecnologiche, e quindi possono aver bisogno di aziende come la nostra che le aiutino a sviluppare i loro prodotti, almeno per un periodo di tempo.

Alessia: Mi dicevi che abbiamo le competenze richieste per fare questi salti tecnologici. Come fa Develer a padroneggiare queste tecnologie e ad avere queste competenze? 

Simone: Develer ha vent’anni. In questi vent’anni, abbiamo sempre fatto un lavoro di sperimentazione di tecnologie nuove. Non siamo mai rimasti fermi ad usare le stesse tecnologie e non ci siamo mai necessariamente affidati alle tecnologie mainstream di mercato. Sperimentiamo continuamente cose nuove, magari su progetti interni. Quando riteniamo che una certa tecnologia sia sufficientemente matura, quando la riteniamo valida e abbiamo sufficienti competenze interne, a quel punto la proponiamo ai nostri clienti sul mercato e vediamo che c’è adozione. Ad esempio, ricordo che vent’anni fa noi usavamo Linux in ambito embedded: oggi si dà per scontato che in un progetto embedded sufficientemente complesso ci debba essere Linux dentro, ma vent’anni fa non lo era. Noi già usavamo quella tecnologia e i clienti ci chiamavano esattamente per quello. Stesso discorso quando abbiamo adottato Python ormai quindici anni fa o quando abbiamo cominciato ad adottare Go (Golang) cinque o sei anni fa. O ancora Rust. Rust è adesso molto di nicchia, ma noi lo usiamo già in qualche progetto. Se fra cinque anni dovesse diventare una tecnologia consolidata, noi avremmo già cinque anni di esperienza il giorno che i clienti ci chiederanno consulenza in quell’ambito.

Quindi ecco, un motivo forte è che esploriamo sempre tecnologie nuove. Un altro motivo è che facciamo tanta formazione interna. Tutti develeriani hanno un budget, sia economico che in numero di ore, che possono impiegare ogni anno per la propria istruzione.

Organizziamo poi tanti eventi e momenti di formazione, che trattano argomenti che spaziano dai linguaggi di programmazione più attuali alle soft skill. Chiaramente questi investimenti hanno un forte ritorno, perché poi sono le stesse tecnologie che vengono adottate dal mercato, che ci vengono richieste e che i nostri clienti apprezzano.

Alessia: storicamente abbiamo fatto anche tanta opera di divulgazione con le conferenze: penso alla PyCon Italia all’inizio, poi a GoLab, a RustLab, a QtDay. Comunque sono stati begli investimenti anche quelli!

Simone: Esatto. Questo denota un po’ la nostra cultura: l’apertura con le community open source e il voler diffondere le tecnologie.

Non abbiamo mai avuto la necessità o la volontà, per esempio, di fare lock in tecnologico, di mantenere segreti industriali nostri o di arroccarci sulle nostre posizioni. Quello che vogliamo fare sempre è di espandere il più possibile la conoscenza, senza paura che questa ci venga in qualche modo rubata.

Alessia: Ma Develer è un fornitore che lavora in body rental?

Simone: A me non non piace tantissimo l’espressione body rental. Se venisse tradotto in italiano vorrebbe dire prestito di corpi, no? Non è un’espressione che mi piace. Non mi piace diffonderla in azienda. Perché la nostra cultura aziendale non prevede questo genere di espressioni e questo genere di comportamenti. Però, tornando al significato dell’espressione, non è nemmeno quello che facciamo esattamente sul mercato.

Alessia: E che facciamo esattamente? 

Simone: Noi risolviamo al cliente un problema tipicamente tecnologico sui suoi prodotti e lo facciamo fornendo un team multidisciplinare dedicato, che studia insieme a lui il problema, propone delle soluzioni e poi è anche in grado di progettare e realizzare queste soluzioni. Quando dico team multidisciplinare è perché i nostri team sono composti sicuramente da sviluppatori software, però anche da sviluppatori firmware e cloud, e da progettisti elettronici, se c’ è una componente elettronica del prodotto. Inoltre, se il prodotto ha un’interfaccia utente, c’è sempre un interaction designer che aiuta la progettazione delle interfacce, ci sono un project manager e un tech leader. Insomma, è un team composto da più persone che è dedicato al cliente per tutto il tempo necessario alla realizzazione del prodotto da mettere sul mercato.

Alessia: Come ci interfacciamo col cliente, come ci integriamo? Cosa riusciamo a proporre in modo che il cliente si senta veramente aiutato? 

Simone: I nostri team di sviluppo possono sicuramente prendere in autonomia parte o tutto il prodotto. Di solito c’è sempre una figura di riferimento tecnica del cliente che ci segue durante tutte le fasi di sviluppo.

Adottando una metodologia Agile, c’è una continua comunicazione fra il team di sviluppo e il responsabile tecnico del cliente. Così che, di fatto, non è che noi prendiamo in carico un progetto e poi, dopo un numero di mesi, ci rivediamo e scopriamo se il lavoro va bene. È un lavoro continuo, in cui il cliente ci affianca e noi lo affianchiamo per realizzare il suo prodotto.

Questo è l’approccio che seguiamo: se c’è un’interfaccia utente, si parte dalla progettazione dell’interfaccia utente con un lavoro di studio dell’interazione uomo-macchina, si fa una parte di analisi architetturale in cui proponiamo l’analisi dell’architettura hardware o software fino ad arrivare allo sviluppo e al testing, al collaudo e alla consegna.

Alessia: Develer ha importanti clienti, anche nella Silicon Valley. Immagino ci siano grandi difficoltà con una distanza geografica così elevata. Quali sono?

Simone: Le difficoltà principali sono quelle che potete immaginare, come il fuso orario, anche se queste aziende abbastanza grandi sono abituate a lavorare con collaboratori in tutto il mondo e su tutti i fusi orari.

Noi riusciamo ad avere un intervallo di tempo di sovrapposizione con il fuso americano, in particolare californiano, di qualche ora. In quelle ore, concentriamo tutte le call che possiamo fare. La nostra collaborazione con il cliente spesso prevede anche una parte di assistenza e manutenzione e quindi i programmatori che lavorano con queste aziende possono avere necessità di intervenire in qualsiasi momento. Se necessario, ci organizziamo anche per gestire eventuali emergenze, tramite una app che invia alert automatici al team in caso di problemi che richiedono un intervento immediato.

Alessia: Sempre parlando di clienti esteri, perché affidare lo sviluppo software e hardware a un’azienda in Italia?

Simone: Io penso che ci siano un paio di buoni motivi. Un motivo è che abbiamo dei grandissimi talenti. In Italia abbiamo delle competenze molto elevate e le nostre università, benché siano molto meno pratiche di quelle per esempio statunitensi e quindi non mettano i nostri ragazzi subito in condizioni di lavorare, forniscono delle basi teoriche molto importanti, che difficilmente si trovano altrove.

Quindi i talenti italiani sono veramente molto apprezzati: questo si vede anche dalla quantità di nostri connazionali che hanno successo all’estero, specialmente negli Stati Uniti. 

L’altra questione è che i costi italiani sono mediamente più bassi di quelli americani e anche di una buona parte del Nord Europa.

Quindi, affidarsi ad un’azienda italiana vuol dire avere quel giusto compromesso fra alta qualità e costo ragionevole.

Alessia: Molte aziende stanno prendendo in esame la prospettiva di esternalizzare, o meglio, di farsi aiutare e di affidare una parte del prodotto a un partner esterno. Sicuramente ci sono dei dubbi. Quali timori hanno queste aziende e come possiamo rispondere?

Simone: Io credo che il timore principale possa essere quello di perdere il controllo del proprio prodotto affidandolo esternamente. Questo per noi è un punto molto importante, è una cosa che chiariamo subito nei primi giorni di colloqui con un nuovo cliente: non abbiamo intenzione di fare un lock in tecnologico verso di lui.

È chiaro che è una collaborazione limitata nel tempo e lo scopo del nostro intervento è di aiutare il cliente in un momento specifico della sua storia. Una volta aiutato a realizzare questo suo prodotto, il cliente è in possesso di tutta tecnologia. Dove per tecnologia intendo dire: codice sorgente, schemi elettrici, documentazione, insomma tutto quello che può servire a entrare pienamente in possesso del prodotto. Inoltre, facciamo anche corsi di formazione ai nostri clienti sulle tecnologie che abbiamo utilizzato e facciamo tutti i passaggi di consegna. Per noi è assolutamente chiaro, quando iniziamo un progetto, che il cliente deve tornare in possesso del prodotto che ci ha affidato.

Ma oltre a questo, ci può essere qualche dubbio sulla riservatezza del fornitore. 

Da questo punto di vista, garantiamo l’assoluta riservatezza. Contrattualmente ci impegniamo con un Non Disclosure Agreement (NDA), mentre da un punto di vista tecnologico mettiamo in essere tutta una serie di procedure di sicurezza per proteggere la proprietà intellettuale del nostro cliente. 

Alessia: Sembra tutto molto facile. Ma nelle vostre collaborazioni c’ è qualche ostacolo comune che magari riscontrate?

Simone: Credo che uno dei problemi principali sia che noi lavoriamo con tantissime aziende metalmeccaniche, quindi aziende nate con una cultura meccanica, che poi negli anni hanno adottato dell’elettronica. Adesso stanno affrontando una nuova trasformazione digitale, incrementando ulteriormente la tecnologia dei loro prodotti, aggiungendo software, collegamenti a internet e tutta una serie di strumenti per i quali non hanno adeguate risorse. Quello che può succedere è che affrontino questi progetti software e hardware nella stessa modalità dei progetti meccanici, in cui si fa tutta la progettazione prima, la produzione dopo e non c’è quell’approccio iterativo che, invece, è tipico del software.

Oppure si pensa che un prodotto, una volta progettato e realizzato, sia finito e possa andare sul mercato senza metterci più mano. In realtà, nel nostro caso, il prodotto viene portato avanti molto più a lungo, sia perché esiste la possibilità di aggiornare il software, sia perché a volte c’è una vera e propria necessità di aggiornarlo con patch di sicurezza.

Per esempio, su una macchina che non è mai stata connessa a internet e che adesso invece lo è, ci può essere la necessità di garantire sempre gli aggiornamenti di sicurezza; oppure per una macchina a cui si accede tramite browser, c’è la necessità di far sì che funzioni anche con versioni future di quei browser; per una macchina che viene controllata con un’applicazione mobile, bisogna accertarsi in futuro che funzioni con tutti i nuovi modelli di smartphone e tablet che escono, che avranno risoluzioni grafiche, prestazioni e altre caratteristiche differenti.

Quindi, quello che spesso può succedere, è che alcuni nostri clienti non si rendano conto sin da subito che i loro prodotti devono essere sviluppati in maniera continuativa dopo il rilascio sul mercato. E questo è un tema che ci capita di affrontare spesso. 

Alessia: Quindi esiste ancora un approccio di tipo molto tradizionale, senza comprendere appieno che le innovazioni a volte sono anche nel metodo e non soltanto nella tecnologia?

Simone: Sì, è chiaramente una cosa che, finché non ci si scontra col problema, è difficile da immaginare. Immaginate un’azienda che realizza una macchina industriale che storicamente aveva il 90% di componenti meccanici e un 10% di componenti elettronici fatti con i PLC e invece decide, nel 2022, di fare un nuovo prodotto che abbia una fortissima componente elettronica personalizzata, di software, di collegamento a Internet, di interfacce web e cloud. Questa azienda potrebbe vedere come un’insidia il dover continuare a manutenere quel prodotto dopo il rilascio sul mercato, perché appunto il software va aggiornato. Ma in realtà questo situazione, tipica dei prodotti digitali, offre numerose opportunità, come per esempio la possibilità di aggiungere funzionalità ad un macchinario industriale anche in fasi successive alla messa in vendita. Potrebbe accadere che un cambio di normative renda necessario un aggiornamento, oppure che cambino le tecnologie. Altro vantaggio è che sarà possibile continuare a perfezionare il software (eliminando eventuali bug) anche dopo il rilascio sul mercato.

In definitiva, un prodotto basato sul digitale ha il vantaggio di poter essere aggiornabile senza dover riprogettare tutto da capo, per questo più che di insidia parlarei di opportunità.

Alessia: Quindi, a un’azienda in procinto di cercare un partner esterno, quali consigli daresti?

Simone: Il primo consiglio è di non confrontare due o più partner tecnologici a cui si propone il proprio progetto sulla sola base del prezzo, perché sarebbe un po’ come confrontare mele e pere. Se devo comprare delle sedie da ufficio, l’ufficio acquisti compra semplicemente quelle che costano meno, ma comprare un progetto di sviluppo software e hardware non è come comprare delle sedie. Ci sono delle complessità da esplorare che non sono così banali ed è necessario capire molto bene che cosa si sta comprando.

Questo sicuramente è un aspetto. Inoltre, consiglierei di verificare se le aziende con le quali si vuole collaborare hanno realizzato prodotti simili a quelli del proprio progetto. E soprattutto capire qual è il loro approccio dello sviluppo, cioè se progettano pedissequamente nel modo in cui il cliente chiede di farlo o se forniscono un contributo, se aiutano il cliente nella progettazione, che si tratti appunto dell’interazione uomo-macchina, che si tratti dell’architettura, che si tratti di qualsiasi aspetto che riguarda il prodotto, perché lo stesso prodotto, progettato in maniera differente, può avere costi (e risultati) molto diversi.

Insomma, quello che consiglierei è di non cercare aziende che offrono il puro e semplice body rental, ma che offrono un servizio di consulenza più ampio. Come appunto fa Develer.

Per ascoltare il podcast: