Già la domanda, come puoi immaginare, racchiude tante variabili che è necessario conoscere prima di definire un prezzo preciso.
Le macro variabili riguardano la complessità del software da realizzare e il tempo necessario per lo sviluppo che implicano anche il numero di sviluppatori da impiegare e la loro seniority. Tutti elementi che andranno ad incidere sul costo.
Il primo passo è quindi capire il tipo di software di cui hai bisogno. Iniziamo quindi a vedere le tipologie di software che in Kiwibit riusciamo a sviluppare:
- Firmware o software per sistemi embedded ovvero interfacce uomo-macchina e algoritmi di gestione di dispositivi hardware programmati per lo più in C, C++, librerie QT, e altri linguaggi cosiddetti di “basso livello”. In questo caso il costo dipende: dal numero di schermate da realizzare, dal numero di periferiche e sensori che si devono andare a gestire a bordo del sistema, da quanti collegamenti a altri oggetti o macchinari esterni devono essere fatti, dalla quantità di azioni che l’applicazione deve fare, dalla connettività e dalla necessità che la raccolta dati debba poi essere trasferita all’esterno per poter essere utilizzata da processi di analisi e di ricerca di sviluppo. Tipicamente il range del costo di sviluppo può variare circa da 5000 a 20000€
- Software desktop che vengono installati localmente sul PC dell’utilizzatore. In questo caso il grado di complessità è legato alla necessità di elaborazione dati, alla necessità di una grafica personalizzata e al fatto che debba utilizzare particolari librerie, tecnologie, o linguaggi specialistici, vecchi o atipici come ad esempio il Fortran. In questo caso il costo di sviluppo può variare circa da 5000 a 15000€
- Software web. In questo caso il costo può essere anche maggiore del 50% rispetto al software desktop perché sarà necessario sviluppare una parte di software back end e una parte di software frontend, oltre al database. Un’applicazione web ha però l’enorme vantaggio che per essere utilizzata non deve essere installata su una macchina ma serve un solo collegamento di rete. Questo comporta che è possibile usufruirne in qualsiasi momento e in ogni luogo in cui si abbia connessione di rete. Inoltre se al software viene fatta una modifica l’aggiornamento è visibile in tempo reale a tutti gli utenti senza necessità di scaricare niente. A fronte di questi notevoli vantaggi il costo di sviluppo può variare circa da 9000 a 25000€
- Software in cloud. Un software web può essere installato su un server del cliente (installazione on premise) e usufruito tramite rete locale. Oppure può essere installato su una macchina in cloud predisposta da noi e il cliente può utilizzare l’applicazione tramite internet. In quest’ultimo caso oltre ai costi di sviluppo ci saranno anche quelli di affitto delle macchine, con il vantaggio però per il cliente di non doversi preoccupare della manutenzione del server e quindi di risparmiare in termini di tempo e risorse, finanziarie e di personale. Il costo aggiuntivo del canone di affitto delle macchine può variare indicativamente da 1000 a 2500 € all’anno in base allo spazio necessario all’applicazione e al traffico di dati
A tutto questo si somma l’eventuale necessità di presenza on-site dal cliente.
Oggigiorno grazie alle piattaforme collaborative e al metodo di lavoro che preferiamo utilizzare in Kiwibit, il metodo Agile, abbiamo la possibilità di farti testare il prodotto durante lo sviluppo senza la necessità di venire di persona presso la tua azienda. Gli incontri saranno fatti in momenti salienti del processo e così i costi di trasferta si abbassano.
Questo è possibile soprattutto per i Software web o desktop, mentre per i Firmware non sempre è possibile perché spesso è necessario fare dei test sui macchinari su cui andrà applicato il software embedded.
Un’altra variabile è quante volte viene cambiata idea durante lo sviluppo: se hai le idee chiare all’inizio è meglio, e la fase di analisi che prevediamo in partenza a ogni progetto serve proprio a chiarire il più possibile le tue esigenze.
Tuttavia il metodo che utilizziamo, l’Agile, ci permette di venire incontro alle esigenze di modifica con un continuo controllo sul progetto.
Chiaramente il prezzo potrà avere delle variazioni in base alle richieste ma, la flessibilità è garantita e operando in questo modo anche i costi di modifica vengono contenuti perché le modifiche sono apportate in corso d’opera senza necessità di grossi stravolgimenti tecnici finali.
Ricapitolando i centri di costo per lo sviluppo di un software sono:
- Analisi e progettazione dell’architettura iniziale
- Progettazione dell’interfaccia grafica
- Sviluppo
- applicazione (web: front end e back end) (desktop: solo uno sviluppo)
- database
- comunicazione/scambio dati con elementi esterni (macchinari, sensori, altri software, computer, etc)
- Cloud: manutenzione macchine, backup e traffico dati
- Testing e rilascio su infrastrutture del cliente
- Presenza on-site
Se vuoi saperne di più consulta la nostra pagina dedicata allo sviluppo software su misura
Vuoi sviluppare un software su misura? Scrivici e iniziamo a progettarlo insieme!
Operiamo a Pistoia, Firenze, Prato, Pisa, Livorno,Bologna, Piacenza, Milano e in tutta Italia
POTREBBERO INTERESSARTI ANCHE
JavaScript in ambiente industriale per logiche di controllo embedded
Il contesto Consideriamo uno sviluppo tramite toolkit Qt su piattaforma ARM Mx.i6ULL e sistema operativo Linux, soluzione che consente un uso integrato dei linguaggi C++, JavaScript e QML anche in presenza di scarsa potenza di calcolo. Il nostro contributo Un...
Cross-compilazione Qt “out-of-tree” con toolchain Yocto
Il contesto Nello sviluppo di soluzioni embedded esiste uno standard tecnico de facto: Yocto Linux, o più brevemente Yocto. Il progetto Yocto è un progetto collaborativo: consente ai vari produttori facenti parte della supply chain di un dispositivo embedded di...
Riprogettare un’interfaccia software obsoleta: perché farlo?
I tuoi utenti o clienti hanno sempre problemi per l’utilizzo del software? Passi più tempo al telefono a fare assistenza che a fare il tuo lavoro? Il tuo software non funziona da mobile o su altri dispositivi? Il software è lento? Non capisci come riuscire a fare...