Make or Buy? Come scegliere tra software custom e pacchetti standard

triangolo

Per un’azienda è più conveniente sviluppare un software custom oppure acquistare un pacchetto standard off the shelf? Qualche spunto di riflessione per chi è chiamato a prendere questa decisione.

La direzione intrapresa dalla maggior parte delle aziende IT è chiara: perché dovremmo reinventare ogni volta la ruota? Se la soluzione di un problema esiste già, ed è ampiamente utilizzata, perché dovremmo comportarci diversamente? Ma è sempre vero? Oppure a volte la specificità dei processi di un’azienda (che poi ne costituisce anche il vantaggio competitivo) merita una soluzione interamente personalizzata?

Software custom vs pacchetto standard: è una questione complessa e dibattuta, per cui non proveremo nemmeno a dare una risposta univoca e definitiva, ma semplicemente a fornire qualche spunto di riflessione, con l’obiettivo di aiutare i decision maker ad affrontare il dilemma con un approccio razionale.

Indice

Software custom o standard? Spoiler alert: la risposta è “dipende”

Custom o standard? Costi maggiori e maggior controllo o costi inferiori ma controllo minore?

Questo è senz’altro il paradigma standard su cui si muove il dilemma del “buy or make”: da una parte strumenti che costano di più (perché realizzati appositamente) ma che calzano a pennello sui nostri processi e dall’altra soluzioni con costi tendenzialmente inferiori (il fornitore può ammortizzare i costi di realizzazione del prodotto su migliaia di clienti) ma che ci impongono una revisione dei nostri processi. Cosa scegliere?

Chiaramente, non esiste una scelta giusta e una sbagliata (non possiamo dire in assoluto che un software standard è sempre preferibile ad un software custom, né viceversa), ma possiamo riflettere su alcuni aspetti che, di volta in volta, di problema in problema, possono aiutarci a prendere una decisione efficiente.

Quindi, cominciamo con l’isolare il problema: ogni progetto software è a sé e merita una riflessione dedicata.

Ora, proviamo ad esaminare tre aspetti che gli IT manager non possono non prendere in considerazione ogni volta in cui devono decidere se acquistare un software di mercato o realizzarne uno custom:

  • Costo
  • Rischio
  • Problema da risolvere

Software custom o standard, quali sono i costi

Il primo punto su cui interrogarsi è, senza dubbio il costo. La letteratura ed il senso comune ci dicono che il costo di un prodotto software custom è maggiore rispetto al costo di un pacchetto standard. Ma ne siamo così sicuri? A volte i costi di licenza che annualmente devono essere corrisposti al fornitore rischiano di pesare in modo determinante (e duraturo) sui bilanci delle aziende.

Leggere attentamente i contratti è d’obbligo; in particolare, occorre fare attenzione alle proposte di modifica unilaterale ed agli adeguamenti al canone ISTAT, che possono riservare brutte sorprese.

Proviamo ora ad affrontare la questione da un altro punto di vista: qual è il total cost of ownership di un software?

Non basta prendere in considerazione i costi di avviamento del progetto; occorre mantenere un approccio di lungo periodo e ricomprendere anche i costi operativi e ricorrenti (formazione, assistenza, manutenzione, aggiornamenti del software, vincoli rispetto a necessità emerse successivamente all’implementazione del prodotto ecc…).

Ma, anche considerati tutti questi aspetti, siamo proprio sicuri che il costo sia un parametro sufficiente a fornirci una visione completa del problema e ad orientarci sulla scelta migliore?

Software custom o standard, quali sono i rischi

Anche sul tema del rischio, il senso comune e la letteratura ci insegnano che il rischio di un progetto software custom è senz’altro più rilevante rispetto a quello generato da un prodotto standard.

Budget e tempistiche di consegna non sempre vengono mantenuti entro i limiti previsti e questo è innegabile.

Ma anche utilizzare un software che non controlliamo direttamente, di cui non abbiamo accesso al codice sorgente è un rischio. Sono note le vulnerabilità di sicurezza che importanti vendor hanno scoperto negli ultimi anni (facciamo solo un esempio, recentissimo, Adobe Sandbox). Sono meno note quelle che non hanno reso pubbliche… o che non hanno ancora scoperto.

Inoltre, nel momento in cui decidiamo di acquistare un pacchetto software, abbiamo l’assoluta certezza del fatto che sarà in grado di supportare i nostri processi anche in futuro?

Qualora, com’è naturale, dovessero cambiare ed evolversi? Il rischio di dover sostituire il pacchetto dopo qualche tempo dalla sua installazione esiste e questa necessità porterebbe ad un raddoppio dei costi.

In definitiva, anche il parametro del rischio non ci permette di fornire una risposta univoca. Probabilmente l’aspetto più rilevante per scegliere se acquistare un prodotto standard o investire su una soluzione custom è il seguente: qual è il problema che vogliamo risolvere? Impatta in modo determinante sui processi core dell’azienda oppure si tratta di un servizio al contorno?

La domanda più importante: qual è il problema da risolvere

Questo, come anticipato, è senz’altro il punto cruciale: ogni azienda nasce con l’obiettivo di risolvere uno o più problemi dei suoi clienti e su questo costruisce la propria value proposition.

Il software da implementare ha lo scopo di risolvere o di contribuire a risolvere uno di quei problemi? Aggiunge valore al servizio o al prodotto che proponiamo ai nostri clienti? Queste sono le domande più importanti da porsi.

È evidente: non prenderemmo nemmeno in considerazione l’idea di creare in house un servizio di posta elettronica personalizzato (a meno che la nostra azienda non fosse un provider di posta elettronica). Significherebbe allocare energie e risorse su un aspetto marginale del nostro business. Lo stesso concetto vale per altri aspetti standard della gestione di un’azienda: la contabilità, ad esempio. In questi casi, l’unico obiettivo che dobbiamo porci è quello di ridurre i costi e standardizzare i processi. Nulla di più.

Ma il discorso cambia nel momento in cui il software che stiamo valutando di acquistare impatta direttamente sul nostro processo produttivo e sul nostro business, determinando la nostra presa sul mercato. Una domanda chiarisce immediatamente il problema: useremmo lo stesso software che adotta la concorrenza per risolvere i problemi dei nostri clienti?

Certo, esistono le personalizzazioni: ma siamo sicuri che sia economicamente conveniente e operativamente efficiente prendere un software di mercato e modificarne metà del codice per venire incontro alle esigenze del nostro business?

Sviluppa per i processi core e acquista tutto il resto

Non solo, con l’acquisto di un pacchetto software, tutti quei processi caratteristici della nostra azienda che la differenziano dai competitor e la rendono unica agli occhi dei clienti dovrebbero essere inevitabilmente adattati al software stesso. Come abbiamo fatto nell’introduzione, proviamo a riformulare la domanda: ogni volta in cui dobbiamo implementare un nuovo software dobbiamo chiederci se abbiamo intenzione di adattare i nostri processi al software o se preferiamo adattare il software ai nostri processi.

Dobbiamo, insomma, valutare quanto sarebbe difficile (e conveniente, lato business) modificare i nostri flussi di lavoro per adattarli ad una piattaforma tecnologica generica (per quanto sviluppata per il nostro settore) ma, soprattutto mantenere un’ottica di lungo periodo: se la mia azienda cambierà, quel software sarà in grado di evolvere di conseguenza?

Non c’è dubbio: ogni azienda è caratterizzata da processi specifici e particolari, che ne determinano il vantaggio competitivo rispetto alla concorrenza. Ecco, su questi, davvero, vale la pena di valutare attentamente le soluzioni proposte dal mercato e capire quale sarebbero i costi ed i savings operativi derivanti dall’adozione di un software personalizzato.

Volendo riassumere il concetto: acquista i software al contorno e costruisci software personalizzati per quei processi core che ti distinguono dalla concorrenza.

Software custom o standard: conclusioni

Scegliere tra un prodotto software custom ed uno standard non è semplice e non c’è sempre una risposta giusta.

Possiamo però adottare un po’ di logica per provare a fare una scelta il più razionale possibile:

  • non esiste una strategia univoca: la questione deve essere affrontata ogni volta in cui stiamo valutando di adottare un nuovo software;
  • il costo è un elemento importante, ma non l’unico da prendere in considerazione, e deve essere considerato in relazione all’intero ciclo di vita del software (non solo i costi di avviamento, ma anche quelli di manutenzione, di assistenza, i vincoli imposti dalle licenze, ecc…);
  • entrambe le soluzioni (custom e standard) presentano rischi innegabili, ma di sicuro non sbaglieremo se concentreremo le nostre energie e le nostre risorse nel personalizzare i software che danno valore al nostro core business, acquistando soluzioni di mercato per tutti i processi al contorno.

Software custom o standard: per saperne di più

La maggior parte delle aziende di informatica non pubblicherebbe un articolo come questo. Hanno legami con i vendor tali per cui non hanno alcun interesse ad evidenziare ai possibili clienti i vantaggi derivanti dall’adozione di soluzioni software custom.

OmniaGroup è per tradizione multivendor e lo sviluppo di software custom con standard tecnologici all’avanguardia è da sempre (quasi 25 anni!) il suo fiore all’occhiello.

>>Scopri i nostri standard tecnologici per lo sviluppo custom

Il nostro metodo di lavoro parte sempre dall’analisi dei processi di business da digitalizzare: solo in seguito a questa, individuiamo le soluzioni tecnologiche più adatte per venire incontro alle esigenze dei clienti. Al centro del nostro approccio, dunque, c’è il cliente ed il suo business. I software vengono dopo.

Quindi, se stai cercando una soluzione per digitalizzare i tuoi processi e non sai scegliere tra prodotti di mercato e soluzioni custom, chiedici una consulenza. Saremo felici di darti supporto, analizzando insieme a te quale scelta è più efficiente per il tuo contesto.