Utente:Marcobombe/Sandbox: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 12:
Il progetto può mancare di uno studio di fattibilità, di stima, pianificazione o attuazione che può causare ritardi di progetto. Improvvise scadenze ed emergenze di rilascio potrebbero favorire la produzione di software con codice sporco e scritto velocemente, in cui gli errori vengono corretti al fine dell' immediata funzionalità e non secondo uno stile pulito e un approccio flessibile e generale. Spesso gli errori corretti in questo modo devono essere ripresi in futuro con maggiore attenzione e maggiore perdita di ulteriore tempo di sviluppo.
* Sviluppatori inesperti
Il "Cowboy Coding" è comune a hobbisti o a programmatori ancora studenti ini cui gli sviluppatoriquali possono inizialmente avere familiarità anche minima con le tecnologie, come ad esempio gli strumenti di sviluppo, che il progetto richiede. Ciò può comportare che il tempo necessario per imparare le conoscenze di base possa essere sottovalutato e accorciato causando ritardi successivi ben più gravi nel processo di sviluppo. L'inesperienza può portare anche a non tener conto di norme comunemente accettate, rendendo il codice sorgente di difficile lettura o causare conflitti tra la semantica dei costrutti del linguaggio e il risultato della loro produzione.
*Requisiti di progettazione incerti
In applicazioni software personalizzate, anche quando si utilizza un ciclo di sviluppo comprovato, possono verificarsi dei problemi con il cliente in materia di requisiti. Il "Cowboy Coding" può accentuare questo problema poiché spesso non scala i requisiti in un calendario ragionevole, e il cliente trova funzionalità non ancora utilizzabili al momento delle scadenze previste. Allo stesso modo, i progetti con i clienti meno tangibili (progetti sperimentali) possono iniziare con l'immediato sviluppo del codice e non con un'analisi formale dei requisiti di progettazione. Mancanza di analisi di progettazione può portare a scelte tecnologiche errate o insufficienti che , nel caso peggiore, può richiedere uno ulteriore sforzo di programmazione e tempo al programmatore, costringendolo a porting di piattaforma o di linguaggio di programmazione.