Quando e perché conviene realizzare un software su misura
Ormai esiste un software gestionale standard per ogni settore. Non sempre però la soluzione che è adatta ad altre imprese si sposa bene con il business della nostra azienda. In questo caso è meglio modificare i flussi di lavoro dei nostri dipartimenti per adattarci a quello che fa il software standard o sarebbe meglio pensare di intraprendere un progetto di realizzazione di un software personalizzato?
Cosa è un software gestionale standard?
Un software gestionale standard è un prodotto di cui si acquista solitamente una licenza di utilizzo. Può trattarsi di una licenza per utente in abbonamento mensile o annuale (come ad esempio la suite Office 365 di Microsoft, o il gestionale per le risorse umane Factorial HR), oppure un software che viene installato su un server aziendale e che solitamente ha bisogno di un database per funzionare.
Nel primo caso si parla di software gestionale in Cloud, mentre nel secondo di software gestionale on-premises, dove “on-premises" in inglese significa “in locale", per l'appunto installato nel proprio data center o in hosting presso il data center di un fornitore.
Nel caso di software gestionale in cloud la piattaforma è condivisa tra più aziende ma i dati sono ovviamente segmentati e di proprietà delle aziende stesse.
Il software gestionale standard di solito gestisce diversi dipartimenti dell'azienda, come ad esempio ordini, fatturazione, vendite, HR e si interfaccia perfino con macchinari come nel caso dei MES di Industria 4.0 e Industria 5.0. Esistono in commercio software gestionali di tutti i tipi e verticali per quasi tutti i settori d'impresa possibili. Di solito i software gestionali standard permettono delle semplici personalizzazioni e delle integrazioni con altri sistemi aziendali, in questo caso si parla di Application Integration.
Cosa è un software gestionale personalizzato?
Un software gestionale personalizzato invece è un software che ha caratteristiche uniche ed è creato apposta per l'impresa implementando i processi esistenti e\o razionalizzandoli per migliorarne l'efficienza. In questo caso la società è proprietaria a tutti gli effetti del software e detiene un vero e proprio asset, il software stesso appunto, che ha anche un valore a bilancio.
Realizzare un software personalizzato è una attività complessa che richiede competenze funzionali e tecniche avanzate, e di project management. E' bene selezionare un fornitore con comprovate capacità e che abbia dimestichezza con il settore in cui opera la tua azienda, in tal caso potrà fornirti anche un aiuto funzionale sulla base delle esperienze pregresse. Il software gestionale può essere un applicativo gestionale web o una applicazione desktop a seconda delle esigenze dell'azienda. Per realizzare un software su misura solitamente si hanno diverse opzioni per procedere:
- Approccio Waterfall: tutte le esigenze vengono prima analizzate in cooperazione tra i funzionali e l'azienda, vengono definiti i requisiti del software, solo successivamente si passa alla fase di progettazione tecnica e allo sviluppo vero e proprio. Una volta sviluppato il software viene collaudato in ambiente di test e successivamente, se conforme all'analisi, messo in produzione. In caso di richieste di modifica in corso d'opera (CR - Change Request) si procede a quantificare l'effort di ognuna di esse e si inseriscono le modifiche nella coda di lavorazione. Questo processo può essere anche iterativo, ossia si scompone il progetto in sotto progetti di dimensioni minori e appena finita l'analisi di ognuno di essi si iniziano subito le fasi successive. In questo modo si comprimono i tempi e il cliente è in grado di verificare la qualità di quanto realizzato passo passo.
- Approccio Agile: E' un modello meno strutturato che richiede uno sforzo comune e continuo tra il cliente (PO - Product Owner) e il team di sviluppo. L'obiettivo è quello di suddividere il software (Prodotto) in micro funzionalità (User Story) e consegnarle al cliente in tempi brevi e frequentemente. E' adatto a team di sviluppo piccoli (massimo 4-5 persone) poli funzionali e auto organizzati. L'Agile tenta di ridurre il rischio di fallimento consegnando il software in iterazioni (Sprint) che in genere durano qualche settimana. Importante è notare che ogni iterazione è un progetto a sé e che deve contenere tutto il necessario per permettere alla funzionalità di essere utilizzata. Con questa modalità non è possibile a priori avere una stima dei costi del software in quanto l'analisi viene effettuata di volta in volta.
Qualsiasi sia l'approccio scelto, l'importante quando si sviluppa un software custom è richiedere sempre la consegna dei sorgenti al fornitore per essere in grado di cambiarlo qualora si rendesse necessario.
Un software gestionale personalizzato può essere In Cloud?
Certo che sì, si può scegliere di utilizzare una piattaforma Cloud, come ad esempio Microsoft Azure, per ospitare il nostro software gestionale custom. In questo caso si risparmiano i costi di acquisto dei server, delle licenze software (Windows Server, Database, etc…), di manutenzione dell'hardware e di operation (attività di backup, patching dei sistemi, migrazioni per obsolescenza). Il costo di esercizio è per utilizzo (modello pay-per-use) dove si spende mensilmente effettivamente quanto si consuma in termini solitamente di CPU, memoria, spazio disco e risorse.
Quando conviene realizzare un software gestionale personalizzato?
Il motivo principale per richiedere lo sviluppo di un software personalizzato è che frequentemente i software standard non rispecchiano tutte le esigenze delle aziende e spesso richiedono all'azienda di adattare i processi al software e non viceversa. Anche se molti software in commercio sono personalizzabili, queste personalizzazioni sono talvolta molto onerose o addirittura non fattibili, e in caso di aggiornamenti del software è possibile che vadano riapplicate o riadattate. L'aggiornamento di un software con patch di sicurezza è più frequente di quanto si possa credere, perché un software aggiornato è un software meno esposto ai rischi di data loss (perdita\furto di dati) o più in generale di attacchi informatici. Pensiamo a quanti aggiornamenti vengono fatti da Windows in automatico sul nostro PC ogni mese.
Sicuramente un software personalizzato è creato partendo dalle esigenze dell'azienda, portando indiscussi vantaggi in termini di flessibilità e di adattabilità al contesto di lavoro. Un software custom è come un abito sartoriale su misura, che veste l'impresa nel modo più adatto.
In linea di massima se l'azienda ha un business comune è probabile che possa adottare un software gestionale standard (CRM, ERP, MES…) senza problemi. Se invece il business ha delle complessità da gestire o si tratta di un business altamente innovativo è probabile che convenga sviluppare un software personalizzato o realizzare una parte del progetto come software custom e integrarlo con un software gestionale standard.
E' bene infatti ricordare che i software non sono isole, possono essere messi in comunicazione tra loro per scambiarsi informazioni e automatizzare i flussi intra-dipartimentali, soprattutto se sono software custom. Ad esempio è inutile pensare di implementare un software di contabilità, ma si può implementare un tool di raccolta ordini con delle specificità non comuni o un configuratore di prodotto che alimenta il software di contabilità e che comunica con il software MES per la gestione degli impianti di produzione. Oggigiorno i sistemi sono aperti ed hanno API e\o meccanismi automatici di importazione\esportazione che permettono di creare veri e propri ecosistemi software integrati.
Ti aspettiamo per una consulenza gratuita per lo sviluppo del tuo software custom.