Si scopre ripetutamente che ben 50% dei progetti di sviluppo di software personalizzato falliscono. Questo annoso problema è un incubo per molti CTO e tech manager. D'altra parte, un preavviso significa che potete preparare voi stessi e il vostro team e ridurre al minimo il rischio di fallimento.
Nel settore della tecnologia, si scopre più volte che ben 50-70% di *personalizzato progetti di sviluppo software fallimento finale. Questo annoso problema è un incubo per molti CTOs e i responsabili tecnici. D'altro canto, un preavviso significa che potete preparare voi stessi e i vostri squadra e ridurre al minimo il rischio di fallimento. Questa è una sfida che ogni team di sviluppatori deve affrontare, prodotto I progettisti e voi, in qualità di leader, dovreste incontrarvi.*
Non ho dubbi che software personalizzato progetti sono impegnativi e per avere successo è necessario curare anche i più piccoli dettagli. A dire il vero, dopo aver esaminato le statistiche su questo argomento, sono stupito dall'entità del problema. Personalmente mi sono reso conto di quanto fosse importante quando ho letto le storie di aziende la cui collaborazione con i partner tecnologici si è conclusa con un fallimento o il loro team ha perso una progetto a causa di un significativo superamento del budget o delle scadenze.
Ho iniziato a chiedermi il perché di questa situazione. Ho diversi anni di esperienza in progetti di sviluppo software personalizzati, quindi ero particolarmente interessato a questo argomento. Ho deciso che, sulla base della mia esperienza personale, avrei identificato tutte le principali minacce associate a *personalizzato sviluppo softwareche ora condividerò con voi.*
Il mio personale elenco delle maggiori sfide dello sviluppo di software personalizzato
-
Barriera linguistica. Questo è uno dei problemi più comuni quando si cerca un partner tecnologico. Tuttavia, non ho dubbi che questo fattore possa essere facilmente risolto. In particolare, è sufficiente scegliere un partner di sviluppo software che possono garantire una comunicazione senza problemi. La conoscenza della lingua inglese è obbligatoria. È una lingua internazionale e non è possibile comunicare correttamente senza di essa. Immaginate di voler parlare con uno sviluppatore di un problema o di un bug. Se si scopre che l'unica persona che sa parlare inglese è un project manager che non è un tecnico, allora c'è un problema. Dovete sapere che la comunicazione con gli sviluppatori, per essere efficace, deve essere molto precisa, il che richiede la conoscenza della lingua inglese. Ricordate questa semplice regola.
-
Scarsa comunicazione. Gli aspetti della comunicazione sono in qualche modo legati alla barriera linguistica. Oltre alla lingua, dovete essere convinti che la vostra collaborazione quotidiana sia ben organizzata. A mio avviso, questo aspetto viene spesso trascurato. La competenza del team di sviluppo può essere una parte essenziale del suo lavoro, ma lo è anche la comunicazione con il cliente. Inoltre, e lo so per esperienza personale, se il processo di comunicazione reciproca è gestito correttamente, l'intero progetto si svolge in modo molto più efficiente e si evitano problemi inutili, come i ritardi.
-
Scadenze inderogabili. Si tratta di una situazione molto comune, che potreste aver sperimentato voi stessi. È molto difficile stimare i tempi dei progetti di sviluppo software. Spesso le ipotesi iniziali sono completamente sbagliate. L'incapacità di rispettare le scadenze può essere influenzata da molti fattori, tra cui quelli descritti in questo articolo. Penso che il metodo corretto di gestione del progetto giochi un ruolo importante in questo caso. Raccomandazioni? Sicuramente Scrum.
-
Conoscenze insufficienti. I progetti di sviluppo software richiedono solitamente un'ampia conoscenza della tecnologia. Questa è una sfida importante se consideriamo che la tecnologia è in continua evoluzione e gli sviluppatori devono essere aggiornati su tutte le novità. A questo proposito, è importante che il vostro team sia aggiornato sulle novità tecnologiche. Questo non è così scontato come può sembrare, soprattutto quando il Il progetto di sviluppo del software viene implementato in casa da un piccolo gruppo di sviluppatori. Può capitare che le competenze del team si rivelino insufficienti, il che può portare rapidamente a problemi e, di conseguenza, al fallimento del progetto.
-
Visione incoerente. Immaginate una situazione in cui intraprendete una collaborazione con un partner tecnologico - ad esempio, un'azienda di software house e parlare delle vostre esigenze. Descrivete nei dettagli il prodotto che vorreste creare. All'inizio tutto sembra filare liscio. Col tempo, però, si scopre che la vostra visione è completamente diversa da quella del vostro partner. Di conseguenza, sorge un problema perché il lavoro del team di sviluppatori e designer di prodotti non soddisfa le vostre aspettative.
Credo che questo sia un problema abbastanza comune. A volte è difficile combinare la visione del cliente con le soluzioni "dure" utilizzate dagli sviluppatori. In questa situazione, l'esperienza del team tecnico e le soft skills sono sicuramente utili. È importante che il vostro partner tecnologico soddisfi le vostre aspettative, ma come clienti dovete essere consapevoli che una certa soluzione suggerita dalla società di software potrebbe in realtà rivelarsi più efficace. Tenetelo a mente.
-
Modifiche durante il progetto. Nel caso dei progetti IT, lo scope creep (dal sito del proprietario) e il gold planting (da parte di PM, Scrum Master o sviluppatori) sono le minacce più comuni. Le modifiche incontrollate al progetto, l'aggiunta di nuove funzionalità o l'introduzione di cambiamenti rientrano senza dubbio tra le minacce che incidono sia sull'efficienza che sulla velocità dei progetti. L'approccio corretto alla gestione consiste nell'assicurarsi che la prima fase chiave sia 100% accurata, poiché ciò influenzerà il successo successivo del progetto.
-
Fondi insufficienti per sviluppo del progetto. Il finanziamento è essenzialmente uno dei fattori più importanti per il successo del vostro progetto. Questo è ovvio. Tuttavia, vorrei attirare la vostra attenzione su un aspetto leggermente diverso. È importante che abbiate un budget garantito a lungo termine e non solo il periodo di sviluppo ipotizzato all'inizio. Perché? Il motivo è semplice. Molto spesso i tempi di sviluppo si allungano fino a 20-30%. È necessario tenerne conto per garantire la sicurezza finanziaria del progetto. Ridurrete al minimo il rischio che il vostro progetto sia ancora in fase di sviluppo quando inizieranno a manifestarsi carenze di budget. Questo è direttamente collegato a una stima errata della durata del progetto.
-
Minacce e debolezze non definite. Prima di iniziare il progetto, probabilmente saprete che l'intero processo potrebbe non essere semplice. Probabilmente sarete d'accordo con me sul fatto che ogni progetto è una sfida. Pertanto, credo che prima di intraprendere il progetto, dobbiate analizzare le potenziali minacce e debolezze che possono influenzare il risultato finale. È importante gestire correttamente tali minacce fin dall'inizio.
Sintesi
Non vorrei suggerire quale delle minacce sopra elencate sia la più comune. Credo che non esista una regola: tutto dipende dalle specificità del progetto. Tuttavia, se dovete affrontare la sfida di realizzare con successo il vostro progetto, tenete presente quanto ho scritto qui. Penso che tenere conto dei problemi che ho descritto possa essere una guida per voi, indicandovi cosa non fare e come affrontare una minaccia. Tutto questo per non diventare vittima di statistiche brutali, ma per portare a termine con successo il progetto.
E questo è ciò che desidero per voi. Se avete domande relative a sviluppo software personalizzato, vi prego di contattarmi. Sarò felice di rispondere a tutti.
Per saperne di più:
Perché vale la pena avere un team di crescita responsabile dello sviluppo del business? Studio del caso Codest
Come trovare un mercato adatto al vostro prodotto?