Build Vs Buy: come risolvere l'eterno dilemma?
Con l’evoluzione dell’IoT stiamo assistendo alla trasformazione del concetto di prodotto che deve necessariamente essere “connesso”; molte aziende leader del proprio settore produttivo devono familiarizzare con nuovi concetti come accesso al cloud, archiviazione di dati, manutenzione di software per poter rimanere leader e competitivi sul mercato.
Alcuni scelgono di costruirsi internamente il software IoT del quale necessitano altri non sanno cosa fare e altri ancora sono andati dritti alla soluzione già pronta da acquistare; il dilemma Build Vs Buy spesso non viene affrontato nel modo corretto e le preoccupazioni maggiori sono solitamente 2:
Quanto mi costa inizialmente?
(sia per la strada Build che per quella Buy)
A quanto ammontano le spese future?
(manutenzione, integrazioni, ecc…)
In questo articolo illustreremo come affrontare al meglio il dilemma Build Vs Buy, analizzando i fattori che devono influenzare la nostra scelta; vi dico già che non esiste una soluzione universale bensì quella giusta per la vostra azienda.
Componenti e competenze per creare un software IoT
Prima di iniziare è utile conoscere le componenti principali presenti in ogni software IoT per poter capire immediatamente la fattibilità o meno della costruzione interna.
Firmware
Si tratta di un elemento di congiunzione tra il software e l’hardware, realizzato con un linguaggio di basso livello, che ne permette la comunicazione; per poterlo creare sono necessarie competenze nello sviluppo embedded C e C++.
Lo sviluppo del firmware è considerato l’elemento chiave del software ed è molto vantaggioso avere un team interno che ci lavora; inoltre, è importante considerare fin da subito l’integrazione degli aggiornamenti via etere (OTA o FOTA).
Cloud
Grazie al cloud hai la possibilità di rendere disponibili i tuoi servizi agli utenti via Internet, tramite i server di un provider di cloud computing; esistono diversi scopi per i server IoT come l’amministrazione, il monitoraggio o la raccolta e analisi dei dati.
In questo caso le competenze richieste per crearsi un server internamente sono lo sviluppo backend basato su una scelta di tecnologia, elaborazione di big data, DevOps (manutenzione e supporto).
Applicazioni
Si tratta dell’interfaccia utente per interagire con il dispositivo ma anche per configurarlo e monitorarlo da remoto; quindi è necessario avere due interfacce disponibili: quella per l’utente finale e quella per l’uso interno aziendale.
Qui le competenze richieste riguardano il design thinking, l’ideazione del prodotto, l’UX, la visual design, il mobile e lo sviluppo front-end.
Ora che sai cosa ti serve per costruire un software IoT è il momento di analizzare i fattori che ti porteranno alla risoluzione del dilemma Build Vs Buy.
Cosa condiziona la nostra scelta?
In generale sono 4 i fattori da considerare nel momento della scelta tra Build or Buy:
Problema da risolvere
La prima domanda da porsi è: esiste già una soluzione al mio problema oppure è qualcosa di personale?
Se il tuo problema è comune a molte aziende verosimilmente esiste già una soluzione pronta e soprattutto collaudata che ti permetterà di soddisfare le tue esigenze; se invece non esiste una soluzione sul mercato puoi prendere in considerazione la strada del Build; oppure provare a contattare un’azienda esterna per valutare una soluzione su misura.
Risorse interne a disposizione
Assicurati di avere abbastanza persone e risorse informatiche da dedicare alla costruzione del progetto e considera l’impatto dell’allontanamento delle tue risorse dagli altri progetti aziendali; dedicare risorse alla costruzione interna della soluzione, infatti, può togliere tempo alle operazioni ordinarie che portano più profitto influendo negativamente sul business.
Budget a disposizione
A primo impatto un progetto Build può sembrare più controllabile proprio perché è costruito internamente, in realtà la sicurezza maggiore in questo senso è rappresentata dalle soluzioni Buy con canoni mensili o annuali.
Oltre ai costi iniziali (costo di creazione o costo della licenza) non vanno dimenticati i costi di manutenzione: in caso di soluzione Build saranno di competenza interna mentre nel caso di Buy non dovrai preoccupartene in quanto già compresi nel canone pagato.
Tempo a disposizione
Partiamo dal presupposto che un software fatto bene non si costruisce in meno di 9 mesi; quanto tempo puoi aspettare prima di avere una soluzione pronta da utilizzare?
Se la risposta è molto meno di 9 mesi allora la soluzione Buy è quella che stavi cercando, in caso contrario puoi optare per la soluzione Build.
Inoltre, esiste la possibilità di una soluzione ibrida e cioè quella di usufruire di un software pronto all’uso intanto che costruisci internamente il tuo per poi recedere il contratto (assicurati che questo sia possibile).
I rischi di una soluzione Build
Per entrambe le soluzioni esistono dei rischi e in questo paragrafo entreremo nel dettaglio dei possibili rischi presenti in una soluzione costruita internamente all’azienda:
- Rapporto utilità-prezzo; sei sicuro che dedicare risorse allo sviluppo non tolga tempo prezioso al tuo core business? La strada che stai prendendo va a discapito dei progetti in corso o in avvio? Ricorda che spostare risorse da una mansione all’altra può compromettere il tuo business e il buon andamento della tua azienda.
- Compromesso qualitativo; sei sicuro di riuscire a portare a termine il progetto così come lo avevi immaginato? Hai la possibilità di aggiungere nuove risorse se necessario? Non compromettere la qualità della tua soluzione, pensa ad ogni imprevisto e prevedi la possibilità di inserire nuove risorse a sostegno del progetto.
- Debito e deficit tecnico; per debito tecnico si intende l’obbligo di riparare il software difettoso in futuro, il deficit tecnico è invece l’impossibilità di portare a termine un progetto; quindi, se il debito tecnico si trasforma in deficit tecnico può causare perdita di tempo e denaro.
- Nessuna economia di scala; costruendoti una soluzione in casa tutti i costi sono a tuo carico, questo potrebbe metterti in una condizione di svantaggio competitivo ed è qui che dovresti valutare la strada del Buy.
I rischi di una soluzione Buy
Anche per le soluzione acquistate esistono dei rischi da non sottovalutare, approfondiamo quali sono attraverso delle domande:
- Perdita di dati; in che modo questa terza parte utilizzerà i dati? Come si comporta con le normative sulla privacy? Perderai l’accesso e la supervisione a dati importanti su clienti o aziendali?
- Rischi per la sicurezza; questa terza parte usa le migliori pratiche di sicurezza informatica? Come faccio a sapere se è affidabile?
- Soluzione incompleta; la soluzione che voglio acquistare risolve le mie esigenze? Se ho delle richieste specifiche possono essere risolte?
- Rischio di mercato del partner; se chi mi fornisce la soluzione fallisce cosa succede?
Build Vs Buy: considerazioni finali
Come anticipato in precedenza non esiste una risposta univoca al dilemma Build Vs Buy, con questo articolo ti abbiamo dato una panoramica generale di tutti gli aspetti da tenere in considerazione e di alcuni rischi da non sottovalutare per entrambe le strade; in generale ricorda sempre che prima di iniziare devi:
- Comprendere i veri costi di creazione / acquisto di un software, incluse le implementazioni e la manutenzione.
- Comprendere i rischi inerenti alla creazione / acquisto di un software.
Inoltre, sfrutta al massimo la tue capacità e conoscenze per differenziarti dalla concorrenza; la differenza la faranno le implementazioni, scegli saggiamente e non perdere mai di vista il tuo obiettivo finale.