Perché sviluppare una web application costa tanto

Blog

Perché sviluppare una web application costa tanto

Introduzione:

Buongiorno, senta vorrei sviluppare un sito web che sia accessibile anche tramite app per Android e iPhone. Il sito dovrebbe permettere la registrazione di utenti con vari livelli di privilegio. Gli utenti possono pubblicare contenuti sul sito. Per scrivere contenuti devono pagare una commissione, quindi mi deve integrare Paypal e gestire la fatturazione elettronica. Ovviamente tutti contenuti devono essere approvati da un amministratore prima della pubblicazione. Poi i visitatori devono cercare i contenuti tramite una maschera di ricerca che permetta di trovare i contenuti filtrandoli per ennemila caratteristiche. E poi deve gestire un calendario (prenotazioni, appuntamenti, ecc.), newsletter, essere in multilingua in almeno italiano ed inglese, essere accessibile a livello mondiale, avere una grafica originale, essere ottimizzato seo, e direi che sia lecito aspettarsi non meno di 10.000 visitatori il giorno.

Me lo fa un preventivo? Anche indicativo, da un minimo ad un massimo.

Ripetete questa storia diciamo per 4/5 volte al mese e capirete perché mi é venuta voglia di scrivere questo articolo. O di uccidere qualcuno.

Una spiegazione per i non addetti ai lavori:

Nell’immaginario collettivo con “sito web” si intende qualsiasi cosa sia raggiungibile tramite un browser. La differenza tra un piccolissimo sito come questo o un sito alla Amazon é ininfluente. Sono tutti e due siti che un programmatore con 2 click e qualche riga di codice fa. Basta mettere WordPress, che é il sistema piú figo del mondo, ed il sito é giá fatto.

Ma anche no!

Cos’é realmente una web application:

Partiamo da un idea di fondo: tutti i siti web attuali, salvo eccezioni rarissime, sono web application. Una web application é un software (un applicazione) che é ospitata su un server da quache parte del mondo e che, quando un utente richiede una pagina o un servizio viene eseguita. Il risultato delle elaborazioni di questo software sono restituiti al visitatore nel formato HTML che tutti conosciamo, che altro non é che un po’ di testi, grafica e qualche immagine.

Sul server quella pagina di fatto non esiste. Viene creata da un programma al momento in cui un visitatore richiede la pagina.

Per “creare pagine web al momento della richiesta” esistono un numero inimmaginabile di software, alcuni generalisti (vedi il famigerato WordPress), altri specializzati per certe funzioni (esempio Prestashop o Magento per gli ecommerce).

Se e quando nessun software esistente risponde alle specifiche esigenze di un Cliente, ci sono due soluzioni.

Modificare un software esistente per adattarlo:

Nel settore informatico, i plugin nascono per questo. Un sistema a cui mancano certe funzioni viene esteso con dei pezzettini di software aggiuntivo che aumentino le cose che é in grado di fare. E fintanto che le modifiche sono limitate, ben vengano. Su un’auto si puó mettere un ottimo impianto stereo ed un antifurto. Che c’é di male?!

I problemi nascono se le modifiche sono troppo grosse. Si rischia di tirar fuori un mostro informatico degno di un film dell’orrore di serie B. Faccio un esempio di facile comprensione: se tu hai bisogno di uno strumento per andare a fresare i campi, penserai ad un trattore. Se ti rivolgi a qualcuno che vende solo auto, e si fa pochi scrupoli, ti consiglierá una buona auto usata su cui appiccicherá una fresa e cambierá le ruote stradali con due belle ruotone. Che poi il motore, la frizione ed il cambio non siano progettati per questo uso, poco importa. La nostra Panda assomiglierá tanto ad un bel trattore! Che poi il motore fonda dopo 2 ore di uso… chissenefrega. La fattura é pagata!

Creare un software da zero fatto su misura:

Nel secondo caso hai bisogno di un programmatore che sappia dove mettere le mani, sappia fare un analisi delle tue specifiche richieste e sia in grado di scrivere un software affidabile e manutenibile nel corso del tempo. E qui nascono i problemi.

Realizzare un software fatto su misura significa capire esattamente di cosa hai bisogno, analizzare il comportamento di chi userá il software, sviluppare riga per riga quello che é la logica di funzionamento del software, renderlo manutenibile ed espandibile nel corso del tempo. Non avrebbe senso realizzare un software che nel giro di un paio di anni sia da buttare via e da riscrivere da zero.

Perché una web application costa cara:

Come qualsiasi cosa fatta su misura, una web application costa cara perché é interamente realizzata a mano da uno o piú professionisti / artigiani. Per realizzare un applicazione su misura, sia una web application, sia un app per dispositivi mobili (che il piú delle volte altro non é che un software che si appoggia ad un elaborazione dati fatta su un server) ci vogliono almeno 300-400 ore di lavoro.

Un applicazione mediamente complessa, spesso richiede 700-800 ore di lavoro interamente dedicato. Applicazioni complesse potrebbero richiedere molte migliaia ore di lavoro interamente dedicato. Non é tanto la componente “retribuzione oraria” che fa crescere il prezzo di una web application, é il numero elevato di ore necessarie per svilupparla che fa salire i costi.

A questo punto ti chiederai perché allora un sito in WordPress si fa con mille euro o giú di li, mentre un’applicazione dedicata costa magari 15/20.000€. Semplice: un sito in WordPress si fa in 20-30-40 ore di lavoro, ma non é e non sará mai fatto su misura per le tue esigenze. Nella migliore delle ipotesi sará qualcosa che si avvicinerá alle tue esigenze.

Pensare di “sviluppare” in WordPress un progetto di complessitá elevata (tipo quello che dicevo nell’introduzione) é totalmente impossibile. O meglio, possibile é possibile, ma cosa succede se il sito collassa quando ha 30 visitatori in contemporanea? O uno dei tanti plugin durante un aggiornamento automatico crea incompatibilitá con un altro plugin ed il sistema diventa instabile? O devi sviluppare un app per dispositivi mobili che lato server offra le stesse chiamate di funzione? Te lo dico io: ti renderai presto conto di aver buttato via qualche migliaia di euro per aver fatto una schifezza in WordPress.

Purtroppo molte web agency propongono il classico sito in WordPress anche per i casi in cui il Cliente richieda soluzioni complesse. E questo avviene per due soli ragioni:

  1. mancanza di competenze – molte web agency vendono siti, ma non li sanno fare. Conoscono unicamente WordPress e questo vendono.
  2. aviditá – l’importante é fatturare. Se poi il lavoro fa pena, la fattura comunque é riscossa.

Conclusioni:

Sta alla sensibilitá del professionista consigliare il giusto strumento in base alle reali esigenze del Cliente. E perché no, semplicemente rifiutare un lavoro se conscio che quello che vuoi realizzare con il budget a disposizione é impossibile.

Va considerato inoltre che una web application non verrá mai e poi mai realizzata per fare un sito vetrina. Una web application diventa necessaria solo per rispondere ad una specifica esigenza imprenditoriale.

Per tornare all’esempio di apertura, un imprenditore che pensi di realizzare una portale dove monetizzare facendo pagare annunci a pagamento e che abbia svariate centinaia di migliaia di visite al giorno, deve essere informato che si tratta di un progetto imprenditoriale serio e che richiede un grosso investimento iniziale.

Se lo stesso imprenditore volesse aprire un attivitá tradizionale, sarebbe conscio che con 20.000€ ci andrebbe poco lontanto. Forse bastano per fare l’artigiano, di certo non ci apri un negozio o tantomeno crei un franchising a livello nazionale.

Se lo stesso imprenditore volesse creare un attivitá online con quella cifra, probabilmente riuscirebbe nell’impresa ammesso stia attentissimo alle spese extra. Vedere che certe web agency propongono soluzioni per aziende del genere a pochi spiccioli, mi fa ridere ed arrabbiare al contempo. Meglio informare il Cliente e rifiutare il lavoro, piuttosto che essere consapevoli che qualsiasi soluzione si proponga sará inefficace e creerá un danno sicuro giá nel breve/medio periodo.

Ma forse mi faccio troppi scrupoli morali io.

Simone

PS: WordPress non é la rovina del web, anzi! WordPress é un CMS spettacolare che permette di fare siti vetrina in poco tempo, permettendo di investire budget in marketing invece che bruciare tutto in sviluppo! Semplicemente non é lo strumento per fare tutto!

By bottegadelsoftware - 9, Feb 2019