olap.it
The N° 1 site for Data Warehousing Professionals |
Business Intelligence & Data Warehouse Resource Center |
|
Home Servizi di consulenza Siti e Risorse Definizioni Libri Recensioni Articoli Prodotti Soc Consulenza News Progetti Italiani Altre Info |
Perchè conviene affidarsi ad un consulente indipendente | |||||||||||||||||||
Come lavorano le società di software | La mia metodologia di lavoro | Una famosa storiella sui consulenti | |||||||||||||||||
Tel. (+39) 347 3853617
|
L'affidamento di un progetto software ad un consulente indipendente è una pratica poco diffusa, ma in realtà essa presenta molti vantaggi e pochi svantaggi; vediamo perchè, in base ad alcune semplici considerazioni. Lo sviluppo di progetti software è un'attività complessa che richiede competenze, esperienza e disciplina. Molto spesso clienti anche di grandi dimensioni tendono a dare importanza solo ai tempi di sviluppo ed ai costi, tralasciando la qualità del software prodotto in termini di struttura, documentazione ed utilizzo delle "best practice", ma questo è un errore che prima o poi viene pagato a caro prezzo. Affidando la realizzazione di un progetto ad una società di consulenza, sia essa piccola, media o grande, si ha in genere uno scarso controllo su chi effettivamente realizzerà il software; succede spesso che lo sviluppo venga affidato a persone inesperte e senza una formazione adeguata, magari reclutate sul mercato per uno specifico progetto richiedendo unicamente la conoscenza di un linguaggio o di un prodotto software e badando più ad un contenimento dei costi che alla qualità. In realtà la conoscenza degli strumenti di programmazione non è sufficiente per ottenere un prodotto finito di qualità; è indispensabile possedere anche molte altre competenze in aree come software engineering, data modeling, architetture di rete e di sistema, project management e analisi di processi, accompagnate preferibilmente una solida formazione ingegneristica di base; difficilmente però queste competenze sono distribuite in maniera ottimale in un team di progetto. Questi concetti non sono naturalmente frutto di un'esperienza personale, essendo ampiamente trattati in alcuni testi classici di software engineering, come "The mythical man month", dove si dice ad esempio che in un team di progetto esiste molto spesso una persona che svolge la maggior parte del lavoro, mentre il resto del team crea sostanzialmente un overhead che serve solo a dilatare tempi e costi. Io faccio progetti software da 30 anni e continuo a farlo con passione e con un'attenzione maniacale alla qualità. A volte partecipo a progetti che per le loro dimensioni hanno bisogno di un team di sviluppo composto da molte persone, altre volte lavorando per imprese del settore PMI posso svolgere buona parte del lavoro da solo, nel qual caso si realizzano le condizioni per offrire al cliente alcuni innegabili vantaggi:
La mia metodologia di lavoro si fonda su alcuni principi imparati nel corso degli anni sui testi di engineering, nonchè dalle persone e dalle aziende con le quali ho preso parte a molti progetti, tra i quali:
Per finire, se amate vedere il lato ironico delle cose e se non l'avete ancora letta, vi consiglio caldamente la storiella del consulente e le pecore
|