"Maurizio senti, anche se non c'entra a senso stretto con il corso, vorrei sapere quanto dovrei farmi pagare un sito. Non ho idea di quanto chiedere"
Questa è domanda che sento in ogni corso che faccio. La fa uno, ma poi interessa veramente tutti. Chi decide di entrare nel meraviglioso mondo dell'informatica, nella maggior parte dei casi lo fa passando per il web, quindi il primo tentativo lavorativo lo si fa realizzando un sito. Il web è la porta di ingresso generalmente perché è facilissimo fare un sito. Si può fare un sito senza grandi conoscenze, addirittura usando Word. Ma non è così. E facile fare qualcosa. Farla bene non è altrettanto facile.
Il primo consiglio che mi sento sempre di dare è di non peccare mai di presunzione. Anche sull'html, anche se mi sento dire: "professò, ma l'html sono 4 regole in croce, una volta che sai quelle, sai tutto". Purtroppo non è proprio così. Basta vedere la documentazione sull'html. È enorme, ogni tag ha parecchie decine di attributi. Secondo lo standard. E poi ci sono le eccezioni, le differenze. Ogni browser ha i suoi bug, le sue differenze. Quindi quella regola vale su un browser ma non su un altro. Vale su una versione di un browser, ma non su un'altra. Vale sulla STESSA versione di un browser su un sistema operativo, ma non su un altro. E i browser maggiori sono 5. Ad aumentare la complicazioni è l'emergente navigazione mobile. Con i browser degli smartphone e dei tablet, che portano ulteriori differenze. E poi una pagina non vive per se stessa, ma per gli utenti. E quindi potrebbe visualizzarsi in maniera diversa a seconda delle impostazioni del sistema operativo ad esempio le dimensioni predefinite dei caratteri, delle schermo e la localizzazione. Ed ancora una pagina deve (dovrebbe) sottostare ad una serie di regole per massimizzare i risultati sui motori di ricerca ed essere anche accessibile a reader per i disabili visivi. Ed inoltre occorre combinare tutte queste cose con le esigenze grafiche e di comunicazione. Non è facile per niente.
E su un sito non c'è solo l'html, ci sono una miriade di altre cose, l'usabilità, il javascript, il lato server side, il database, la fruizione di servizi terzi, gli ambienti runtime per la creazione di
RIA, come Flash e Silverlight, le problematiche sulla geolocalizzazione ed un'altra infinità di tematiche. Personalmente per ogni cosa che imparo in più, mi rendo sempre più conto di saperne di meno rispetto a tutte le nuove tecnologie, tecniche, strumenti e pattern, che
OGNI GIORNO, i grandi gruppi rilasciano.
Questo preambolo a cosa server per il tema del post? Serve a dire che una stesso sito, può essere realizzato in milioni di modi diversi, ed ognuno di questi modi ha un tempo di realizzazione e dei risultati. Ad esempio potrei anche aiutare i miei utenti nella navigazione con un avatar che legge l'help sulle funzionalità dove si trova. Molto bello, però prende tempo da realizzare ed i benefici potrebbero non valerne i costi.
Il punto è che per fare un prezzo, bisogna anche partire dalle aspettative e dal budget del cliente. Questo non significa che se abbiamo davanti la FIAT per lo stesso identico sito che farei al panettiere sotto casa gli faccio un prezzo 10 volte tanto. Significa che per chi ha un budget più elevato farò una proposta più sofisticata che può dare più risultati.
Faccio un esempio pratico. Prendiamo due estremi di lavori fatti dai professionisti di ideativi. Il primo è un progetto enorme, come cliente, come aspettative, come complessità. Ovvero
LeSaiTutte, il social CRM di H3G, ovvero il portale di supporto ai clienti dell'operatore telefonico Tre. Qui abbiamo complessità enormi dovuti alla mole di traffico eccezionale, tutti i clienti che possono accedere sia da web che dal portale mobile sui loro telefonini. Con due milioni di clienti che ci sono passati almeno una volta, a
nche fare una normalissima query può essere un problema. In questi casi va studiato anche l'ordine con cui si mettono le condizioni in un WHERE perché può dare risultati molto diversi a livello di prestazioni. In un sito del genere occorre considerare le possibili interazioni fra gli utenti del mobile e del sito web, che usano tecnologie diverse, occorre considerare la sincronizzazione fra i server di frontend (perché ovviamente una cosa del genere non si può fare con un solo server), occorre studiare l'integrazione con i sistemi del cliente, occorre usare due livelli (non uno) di caching, perché con quella mole di traffico, basta poco per mandare in crisi tutto. Ed ovviamente per questo post sto semplificando perché nella realtà le problematiche sono molte di più e più complesse.
Altro estremo, abbiamo
un sito fatto per un professionista, un educatore cinofilo, Danile Mosciatti, che per la sua attività ovviamente ha un pubblico molto più locale. Nel caso suo abbiamo usato come base il nostro e-site, il nostro cms su cui si basa anche questo sito. In questo caso Daniele ha a disposizione uno strumento, che lui può modificare e personalizzare a suo piacimento. Semplice, con il quale può creare articoli, segnalare eventi, caricare foto e video. Ovviamente le sue necessità sono ben diverse da H3G. Non ha bisogno di un servizio critico e di assistenza, anche notturna, se succede qualche problema. Avendo un target locale può benissimo mettere il suo sito su un server a basso costo, dove non serve che lavoriamo di fino per spremere le prestazioni al massimo. Quindi la stessa identica pagina per
LeSaiTutte e per
DanieleMosciatti.it (a proposito se dovete educare un cane e siete di Roma, ve lo consiglio, è bravissimo) ha una mole di lavoro ben diverso.
Questo significa, che per fare una stima, occorre prima capire quali sono gli obiettivi di quello che si andrà a realizzare. Da questo si sceglie una strada di sviluppo, e si stima quanto tempo (ovvero quanti giorni di lavoro) ci vorranno per realizzarlo. E fare una stima non è mai facile. Perché nelle stime bisogna anche considerare gli eventuali problemi che potrebbero uscire fuori durante il lavoro. Ai giorni di realizzazione, andrebbe anche aggiunto il tempo del test e delle modifiche che ogni cliente chiede quando il prodotto è pronto ed anche il tempo che ci è voluto per prendere le richieste, elaborarle, fare un preventivo, la proposta grafica. Tutto lavoro che si fa, che non è incluso nella realizzazione vera e propria, ma che c'è ed è indispensabile.
Una volta che sappiamo il tempo, dobbiamo valutare quanto costa un nostro giorno di lavoro. Supponiamo che decido che un giorno di lavoro mio costa 100 euro. Per stabilire se è adeguato o meno, devo considerare anche come mi farò pagare. Come collaboratore occasionale o ho la partita iva? A dire la verità c'è anche chi si fa pagare in nero, però non può essere un modus vivendi. Per chi inizia ci sono delle forme agevolate per i primi anni, chi è più navigato, ha tante tasse da pagare, che possono arrivare anche al 50% della tariffa. Per sapere quanto le tasse incidono consiglio di parlare con un buon commercialista. Inoltre occorre anche considerare se con questo lavoro ci devo vivere o è una seconda attività che mi da un extra. Se ci devo vivere, devo considerare che con quella tariffa giornaliera ci devo coprire anche gli eventuali giorni di malattia, le ferie, o anche la liquidazione o una pensione integrativa. In base a questi parametri posso scegliere una tariffa adeguata per uno stile di vita dignitoso. Ovviamente questa tariffa potrà essere aumentata o diminuita a seconda di quanto mi interessa fare un certo lavoro. Potrei anche decidere di fare un lavoro sottocosto perché questo mi può portare nuove competenze o anche mi permette di realizzare qualcosa che sia rivendibile.
Quindi il succo è tutto qui, decidere la propria tariffa giornaliera, e migliorare sempre più le proprie competenze, perché maggiore conoscenza significa maggiore produttività. Ovvero poter fare più lavoro nello stesso tempo. E quindi con maggiore produttività si può guadagnare di più.
In conclusione dalla scelta della propria tariffa si può vedere se abbiamo la possibilità di fare questo lavoro, se abbiamo bisogno di maggiore formazione per essere più concorrenziali o se è il caso che scegliamo un altro lavoro per vivere.
Allo stesso modo la stessa cosa vale anche per il preventivo per il cliente. A mio avviso è inutile e controproducente abbassare oltre modo i prezzi per venire incontro alle richieste del cliente. Se hai 500 euro da spendere, non può pensare che io ti possa fare un sito multilingua, con commercio elettronico, funzionalità social, integrazione con un'app per IPhone e Android, un sistema di geomarketing per gestire le strategie, che possa gestire un milione di visitatori e quel milione di visitatori te li devo pure trovare io.
Il mio professore di "Elettronica I" le chiamava specifiche ET. Extra terresti.