Il "Cowboy Coding" è comune a hobbisti o a programmatori ancora studenti in cui gli sviluppatori possono inizialmente avere familiarità 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
ApplicazioniIn applicazioni software personalizzate, anche quando si utilizza un ciclo di comprovatasviluppo di sviluppocomprovato, possono verificarsi dei problemi con il cliente in materia di requisiti. CodificaIl "Cowboy Coding" può accentuare questo problema poiché spesso non scala i requisiti perin un calendario ragionevole, e puòil causarecliente itrova componentifunzionalità inutilizzatinon oancora inutilizzabiliutilizzabili essereal creato prima che ilmomento progettodelle èscadenze finitopreviste. Allo stesso modo, i progetti con i clienti meno tangibili (progetti, spesso sperimentali, vedere lo sviluppo di giochi indipendenti) puòpossono iniziare con ill'immediato sviluppo del codice e non con un'analisi formale dei requisiti di progettazione. Mancanza di analisi di progettazione può portare a scelte tecnologiche erratierrate o insufficienti che , eventualmentenel caso peggiore, può richiedere agliuno sviluppatoriulteriore sforzo di portoprogrammazione oe riscriveretempo ilal loroprogrammatore, softwarecostringendolo ina modoporting chedi ilpiattaforma progettoo devedi esserelinguaggio completato.di programmazione.
*Incompletezza
Molti modelli di sviluppo software, come SCRUM,utilizzareutilizzano un approccio incrementale che sottolinea prototipi funzionali in ogni fase. Progetti non gestiti possono avere pochipoche opossibilità di test diiterazione fra le unità di lavoro iterazioni, lasciando un progetto incompleto inutilizzabile.
== Advantages of Cowboy Coding ==
* Developers maintain a [[Freeform art|freeform]] working environment that may encourage experimentation, learning, and free distribution of results.