Un ordine viene registrato nel programma commerciale, trasferito manualmente in un foglio di calcolo e successivamente inserito nel sistema che gestisce le commesse. Nel frattempo, l’amministrazione utilizza un altro applicativo e il responsabile operativo deve verificare telefonicamente lo stato delle lavorazioni. È una situazione che può verificarsi nelle piccole e medie imprese, soprattutto quando gli strumenti informatici sono stati introdotti in momenti diversi, senza un progetto complessivo.
Il problema emerge quando le stesse informazioni vengono inserite più volte, i dati non coincidono e ogni modifica richiede interventi manuali. In questi casi, un software gestionale su misura può rappresentare un’alternativa ai prodotti standard, purché la decisione sia preceduta da un’analisi delle procedure effettivamente utilizzate.
Abbiamo approfondito le differenze tra gestionali standard e applicazioni personalizzate con Ilario Tresoldi, Full-Stack Developer di WebCreates, attivo nello sviluppo PHP, nelle applicazioni web e nelle integrazioni tra sistemi software. Ecco quanto è emerso dalla nostra conversazione.
Prima del software occorre ricostruire come lavora l’azienda
La progettazione dovrebbe partire dalla mappatura dei processi. Significa ricostruire come nasce una richiesta commerciale, chi la prende in carico, quali informazioni servono per trasformarla in commessa e quali autorizzazioni sono necessarie prima di procedere. «La prima domanda non riguarda il linguaggio di programmazione, ma il percorso delle informazioni. Bisogna capire chi inserisce un dato, chi lo modifica e chi deve poterlo consultare», osserva Ilario Tresoldi.
Una mappatura efficace permette di individuare passaggi ridondanti, responsabilità poco chiare e attività che potrebbero essere automatizzate. Solo successivamente si definiscono i requisiti del software gestionale su misura, distinguendo le funzionalità indispensabili da quelle rinviabili. «Descrivere correttamente una procedura prima di svilupparla evita di trasferire nel nuovo programma inefficienze già presenti nell’organizzazione», precisa Ilario Tresoldi.
Personalizzare, integrare oppure sviluppare da zero
Le alternative disponibili sono sostanzialmente tre. La prima consiste nel configurare o personalizzare un gestionale esistente, modificando campi, schermate e procedure nei limiti consentiti dal prodotto. La seconda prevede di collegare applicazioni differenti affinché possano scambiarsi informazioni. La terza comporta lo sviluppo di un’applicazione completamente nuova. «Se un programma copre già gran parte delle esigenze aziendali, conviene verificare prima quali adattamenti siano possibili. Riscrivere funzionalità consolidate può comportare costi evitabili», spiega Ilario Tresoldi.
Lo sviluppo di un software gestionale su misura diventa più ragionevole quando le procedure aziendali presentano caratteristiche difficilmente riproducibili attraverso configurazioni standard: commesse articolate in più fasi, approvazioni differenziate, regole commerciali particolari oppure necessità di coordinare reparti con responsabilità diverse. «Una personalizzazione ha senso quando risponde a un’esigenza operativa precisa e ricorrente. La complessità, da sola, non giustifica un nuovo applicativo», aggiunge Ilario Tresoldi.
Clienti, commesse e autorizzazioni: il valore di un dato condiviso
La gestione delle informazioni rappresenta uno degli aspetti più delicati. Un cliente potrebbe essere registrato nell’archivio commerciale, nel sistema amministrativo e nel programma utilizzato dall’assistenza. Se ciascun archivio viene aggiornato autonomamente, possono comparire indirizzi differenti, riferimenti duplicati e informazioni superate. «Prima di collegare due sistemi bisogna stabilire quale applicazione sia responsabile di ciascun dato. Senza questa regola, la sincronizzazione rischia di propagare anche gli errori», sottolinea Ilario Tresoldi.
Le API, interfacce che consentono la comunicazione tra applicazioni, possono ridurre gli inserimenti manuali e permettere aggiornamenti coordinati. Occorre però definire frequenza degli scambi, gestione degli errori, identificativi univoci e comportamento dei sistemi quando una connessione non è disponibile. Per le commesse, inoltre, possono essere necessari flussi autorizzativi che distinguano chi prepara un preventivo, chi approva una spesa e chi autorizza l’avvio della lavorazione. «L’integrazione deve prevedere anche cosa accade quando un trasferimento fallisce. Un processo affidabile deve consentire di individuare l’errore senza generare registrazioni duplicate», chiarisce Ilario Tresoldi.
La migrazione dei dati richiede un progetto specifico
Passare a un nuovo applicativo significa trasferire informazioni che possono essere state raccolte per anni con criteri differenti. Anagrafiche incomplete, codici ripetuti e formati non omogenei possono compromettere il funzionamento del nuovo sistema. La migrazione richiede quindi operazioni di pulizia, conversione, verifica e riconciliazione. «Non basta importare un archivio e controllare che il numero dei record corrisponda. Occorre verificare che i dati conservino il loro significato e che le relazioni tra clienti, documenti e commesse rimangano corrette», evidenzia Ilario Tresoldi.
Un software gestionale su misura dovrebbe essere introdotto attraverso verifiche progressive, preferibilmente su copie dei dati reali opportunamente protette. Prima della sostituzione definitiva vanno stabiliti i criteri di accettazione, le responsabilità del personale e le procedure per un eventuale ripristino. «Le prove devono coinvolgere chi utilizza quotidianamente il programma. Un’applicazione può funzionare tecnicamente e presentare comunque difficoltà operative che emergono soltanto durante il lavoro», osserva Ilario Tresoldi.
Quanto costa realmente un gestionale personalizzato
Il confronto economico non può limitarsi al prezzo iniziale. Un prodotto standard può prevedere canoni periodici, licenze per utente e costi aggiuntivi per personalizzazioni o integrazioni. Lo sviluppo personalizzato richiede invece investimenti iniziali per analisi, progettazione, programmazione, test e formazione, ai quali si aggiungono hosting, manutenzione e aggiornamenti. «Il preventivo dovrebbe separare le attività di sviluppo dai servizi continuativi. Questo permette all’impresa di conoscere il costo di esercizio dell’applicazione anche dopo la consegna», precisa Ilario Tresoldi.
La sostenibilità di un software gestionale su misura dipende anche dalla durata prevista del progetto e dalla capacità di adattarlo alle esigenze future. Risparmiare ore di lavoro manuale può produrre benefici misurabili, ma occorre confrontarli con il costo complessivo di possesso, considerando eventuali interruzioni operative e modifiche successive. «Una funzione utilizzata raramente può costare più del beneficio che produce. La priorità dovrebbe andare alle attività frequenti, critiche oppure soggette a errori», aggiunge Ilario Tresoldi.
Proprietà dei dati, sicurezza e indipendenza dal fornitore
Un contratto di sviluppo dovrebbe disciplinare la disponibilità dei dati aziendali, le modalità di esportazione, i diritti sul codice sorgente e l’accesso alla documentazione tecnica. La proprietà dei dati e i diritti di utilizzo del software sono questioni distinte: disporre delle proprie informazioni non significa automaticamente possedere il codice dell’applicazione. «Prima di iniziare bisogna chiarire cosa viene consegnato, quali componenti possono essere riutilizzati e come l’azienda potrà continuare a operare se cambierà fornitore», osserva Ilario Tresoldi.
La sicurezza richiede autenticazione, permessi differenziati, backup verificati, aggiornamenti e registrazione delle operazioni rilevanti. Le buone pratiche di sicurezza applicativa richiedono di integrare questi controlli nell’intero ciclo di sviluppo. «Un gestionale deve consentire di ricostruire le modifiche importanti, limitare gli accessi alle informazioni necessarie e prevedere procedure documentate di ripristino», conclude Ilario Tresoldi.
La documentazione delle API, dello schema dei dati e delle procedure di installazione riduce infine la dipendenza dal singolo sviluppatore. Senza questi elementi, anche un’applicazione perfettamente funzionante può diventare difficile da mantenere quando cambiano le persone incaricate della sua gestione.