Il successo e la qualità di un progetto ingegneristico vengono
determinati al 60% in fase di analisi e progettazione, e solo al
40% in fase di messa in opera.
Già solo per questo motivo, hai tutta la convenienza ad avere in
casa lo sviluppatore in fase iniziale, e semmai poi dopo a
prenderti carico della messa in opera del progetto facendolo
realizzare ad un profilo meno qualificato.
Viceversa una volta presa la direzione sbagliata, il professionista
non avrà molte opzioni: Rifare o proseguire senza poter recuperare
quanto compromesso.
Una domanda molto semplice: Ti faresti operare da
un chirurgo dilettante? Probabilmente no, anche se,
per risparmiare, potresti accettare un'infermiera meno
qualificata per la degenza post-operatoria.
Le motivazioni della tua risposta a questa domanda sono le stesse
per cui ti converrà prendere un professionista per
progettare il tuo software, e, forse, dopo lasciare
che qualcuno di meno qualificato prosegua il lavoro impostato da
lui.
Quando parliamo di sviluppo software
per uso professionale, iniziare il prodotto in casa con
carenza di competenze, per poi delegarne una
parte, costerà di più che farlo fare per
intero ad un professionista, riducendo comunque qualità,
scalabilità, sicurezza e performance: Analisi
progettazione e realizzazione sono un flusso unico, e le
prime impattano fortemente sull'ultima.
Questa non è una teoria, ma una certezza
consolidata, riscontrabile ovunque si sia provato.
Correggere una rotta sbagliata e intrapresa male equipaggiati costa di più che partire nella direzione giusta e correttamente equipaggiati
Purtroppo spesso ci si rende conto troppo tardi dell'errore
commesso, e a quel punto si commette il secondo
errore: Siccome è troppo difficile prendere la decisione
di buttare via tutto e ricominciare, si sceglie di
provarci lo stesso.
Ma l'ottimismo ne ha uccisi più della paura..
Il risultato è un aumento sproporzionato dei costi a fronte di un
prodotto mediocre, non scalabile e in cui pochi sviluppatori
potranno mettere le mani e lo faranno a costi elevati.
Nota: Con sviluppo software intendiamo tanto il software server, quanto il sito web, l'app, la piattaforma cloud e quanto altro si possa creare attraverso linguaggi di programmazione.
Nel caso di software e programmazione, alcune caratteristiche chiave delle applicazioni per uso professionale saranno sempre:
Se un'applicazione seria deve avere almeno questi requisiti, va da se che facendosi in casa l'applicazione senza le dovute competenze non saremo in grado di garantirli.
Un professionista crea un sistema con queste caratteristiche, è il suo lavoro e lo fa da tempo, un fai-da-te o un autodidatta non potrebbero farlo senza un'adeguata preparazione di fondo ed esperienza accumulata.
Ti faresti operare al cuore con il fai-da-te o da un autodidatta, o invece esigeresti un professionista capace? Se la risposta è " il professionista!", mi chiedo se invece faresti operare uno dei cuori del business della tua azienda in quel modo.
Di fronte ad un lavoro fai da te o comunque fatto da un autodidatta, quindi con realizzazione non professionale, a cui si debba apportare una modifica, lo sviluppatore si ritrova sempre con 3 possibilità:
A questo punto dovresti iniziare a capire che puntare sul fai-da-te o sull'autodidatta per un'applicazione, non paga.
Immaginiamo di voler costruire una villa di 3 piani.
Possiamo pensare che a comprare mattoni, cemento e qualche altro
materiale, saremo in grado di mettere insieme la casa.
Questo è vero, MA...
Nel farlo dovremo affrontare una serie di problemi ingegneristici,
che i professionisti sanno risolvere in modo corretto, a solo
titolo di esempio:
Qualcuno potrebbe pensare: Inizio io il lavoro e poi lascio che
lo il tecnico faccia "le parti difficili".
Non funziona.
Se si posano i muri storti, o con materiali o modi tali che
compromettono la stabilità, il costo di far sistemare i problemi
al professionista supera quello di farli bene da zero.
Se si usano i materiali sbagliati, non c'è verso, la casa
realizzata non professionalmente avrà problemi per tutta la
vita: Termici, di stabilità, di umidità, ecc...
Mettiamo che tutto funzioni e che si riesca ad arrivare a fare gli
impianti, e che vuoi che degli impianti e finiture se ne occupi il
professionista. Se non hai lasciato le predisposizioni e gli spazi
corretti per accesso e passaggio di tubi, guaine, porte, finestre,
ecc... Dovrai spendere tutto quello che avevi risparmiato per
fare modifiche in modo che il professionista sia in grado di
operare professionalmente, e comunque anche così la qualità
finale non sarà mai come se avessi delegato tutta la
progettazione ad un esperto professionista.
Il mio consiglio è fallo fare a chi lo sa fare bene, sia la progettazione che la realizzazione. Se proprio devi risparmiare almeno la progettazione del software. Ci guadagni in qualità, tempo e denaro.