Come tenere sotto controllo i costi di sviluppo software? La diffusione di applicazioni verticali, orizzontali e integrate nei processi aziendali italiani, seppur lenta, muta le condizioni del mercato. Mai come oggi le Software House devono rilasciare applicazioni performanti, a prova di bug, personalizzabili (per adattarsi ad ogni esigenza aziendale) e altamente competitive per flessibilità, sicurezza, affidabilità e, non ultimo, costi.
Leggi anche Software House e Digital Transformation: le sfide del futuro
La parola d’ordine è ottimizzazione. Le aziende IT devono trovare l’equilibrio che permetta loro di sostenere la sfida – qualità alta a costi contenuti – senza tradire le aspettative dei clienti. L’attenta e scrupolosa pianificazione delle risorse necessarie per la realizzazione di un progetto software è cruciale per salvaguardare la sostenibilità dell’impresa a tutti i livelli: commerciale, gestionale e produttiva.
L’applicazione del modello del Total Cost of Ownership (TCO), in italiano costo totale di possesso, permette di valutare i costi dell’intero ciclo di vita del software e pianificare con sufficienti parametri lo sviluppo in procinto di partire. Il modello, applicato oggi a livello globale, è stato concepito dalla società di consulenza Gartner Group nel 1987 per valutare correttamente i costi delle infrastrutture IT.
Lo sforzo di ingegneri, progettisti e programmatori costituisce una voce preponderante nel computo dei costi delle attività di sviluppo. Metodi per stimare le giornate uomo necessarie per giungere al rilascio di una release stabile non mancano. Ma non tutte le ore impiegate hanno lo stesso valore. Il TCO è una metodologia che ci permette di radiografare l’impiego delle risorse, riconfigurare i task e ottimizzare gli effort per investire nelle attività davvero produttive e innovative e alleggerire gli sforzi delle azioni ripetitive che divorano risorse.
I costi dello sviluppo software in ottica TCO
Il primo passo per analizzare i costi di sviluppo software in ottica TCO è considerare l’intero processo produttivo e valutare ogni singola risorsa impiegata nel processo. Secondo le ricercatrici Lisa M. Ellram e Sue Perrot Siferd, esistono 6 categorie di costo per il calcolo del TCO:
- Qualità: i costi sostenuti per elevare il livello del prodotto e mantenere alti gli standard del team di sviluppo;
- Gestione: i costi che riguardano pianificazione, avvio e follow-up dei progetti software;
- Forniture: i costi di approvvigionamento correlati alla produzione del software;
- Servizio: i costi derivanti dalle singole attività connesse ai rilasci: sviluppo, testing, personalizzazione, realizzazione manuali d’uso, formazione;
- Comunicazione: i costi – reali e figurativi – derivanti dalle relazioni interne al team;
- Prezzo di vendita: la somma fra i costi, stimati o sostenuti, e il profitto che si intende raggiungere.
Ottimizzare i costi di sviluppo software: dove intervenire
Il Total Cost of Ownership mette a fuoco i fattori che concorrono, soprattutto internamente, alla determinazione dei costi totali del ciclo di produzione del software. La scelta delle risorse su cui investire e quelle passibili di ottimizzazione dipende dal posizionamento sul mercato che le Software House perseguono nelle loro strategie di marketing. Ci saranno costi irrinunciabili, perché potenzialmente generatori di profitto, e costi superflui da depennare, per liberare risorse da reinvestire o risparmiare.
I costi derivanti da un’inefficace comunicazione interna rientrano fra quelli su cui intervenire prioritariamente. Il mancato allineamento periodico degli sviluppatori impegnati in un progetto, la non condivisione del namespace o delle relazioni fra le diverse componenti del software si traducono in linee di codice superflue, bug, ore e giorni di sviluppo inizialmente non stimate, che fanno lievitare il TCO.
La distinzione fra costi di servizio e costi di qualità suggerisce che le ore dedicate allo sviluppo di evolutive e feature specializzate hanno un altro valore rispetto a quelle necessarie alla realizzazione di componenti standard, per esempio tabelle di riepilogo dati, operazioni CRUD, interfacce per il data-entry.
Gli sforzi sottostimati si ripercuotono sulle altre categorie di costo. Più ore di sviluppo si riversano sulle forniture energetiche, sull’usura dell’hardware e sui costi di gestione del personale. Allo stesso modo, un impegno aggiuntivo rispetto alle stime previste si traduce in ulteriore lavoro di pianificazione delle attività e delle scadenze.
L’emorragia di risorse può comportare l’erosione delle disponibilità preventivate per le attività più qualificanti e, nel peggior scenario possibile, il ridimensionamento del margine di profitto.
Instant Developer e il TCO
Efficienza e semplificazione dei processi: sono questi gli obiettivi che gli imprenditori devono perseguire nell’era della trasformazione digitale. Le Software Factory, prima di tutte, possono ispirare le imprese con modelli di lavoro ottimizzati, in grado di ridurre i costi superflui e valorizzare le energie creative, produttive e relazionali delle persone impegnate nei progetti.
Nel caso specifico dello sviluppo software, facilitare il lavoro del team con strumenti in grado di arginare i limiti di comunicazione interni e ridurre all’essenziale i tempi per le implementazioni standard produce immediati benefici sul TCO, con evidenti riflessi sull’efficacia dei processi e sui risultati finali.
Programmazione relazionale (qui abbiamo spiegato cos’è e come funziona) e automatizzazione delle operazioni ripetitive sono fra i punti di forza delle soluzioni Instant Developer, perché permettono di ottimizzare tempi e risorse sia in fase di sviluppo sia, successivamente, in fase di manutenzione del software. La conseguenza è un prevedibile (ma considerevole) calo dei costi – ancora una volta: sia di sviluppo che di manutenzione. Non c’è allora da stupirsi se le aziende che sviluppano con la famiglia di prodotti Instant Developer (Instant Developer Foundation e Instant Developer Cloud) riportano che l’uso dei nostri ambienti di sviluppo abbatte fino all’85% il TCO. Un numero da capogiro: eppure i tanti case study lo dimostrano, numeri alla mano.
L’abbattimento del Total Cost of Ownership è uno dei punti di forza più apprezzati da chi sviluppa con le nostre piattaforme, e tuttavia non è certamente l’unico. Puoi scoprire tutti i vantaggi per gli imprenditori, i Project Manager e i team di sviluppo nella pagina dedicata sul nostro sito. C’mon, let’s code.