Content deleted Content added
m →Advantages: HTTP to HTTPS for Blogspot |
|||
(18 intermediate revisions by 16 users not shown) | |||
Line 1:
{{Short description|Derogatory term in software development}}
{{multiple issues|
{{procon|date=July 2013}}
{{refimprove|date=January 2011}}
{{original research|date=January 2011}}
Line 7:
}}
{{Use mdy dates|date=February 2016}}
'''Cowboy coding''' is [[software development]] where programmers have [[autonomy]] over the development process. This includes control of the project's schedule, languages, algorithms, tools, frameworks and coding style.▼
▲'''Cowboy coding''' is [[software development]] where programmers have [[autonomy]] over the development process. This includes control of the project's schedule, languages, algorithms, tools, frameworks and coding style. Typically, little to no coordination exists with other developers or stakeholders.
A cowboy coder can be a lone developer or part of a group of developers working with minimal process or discipline.{{Citation needed|date=January 2011}} Usually it occurs when there is little participation by business users, or fanned by management that controls only non-development aspects of the project, such as the broad targets, timelines, scope, and visuals (the "what", but not the "how").{{Citation needed|date=January 2011}}▼
▲A cowboy coder can be a lone developer or part of a group of developers working with minimal process or discipline.<ref>{{
"Cowboy coding" commonly sees usage as a [[pejorative|derogatory]] term when contrasted with more structured [[software development methodology|software development methodologies]].
Line 22 ⟶ 23:
Cowboy coding can be common at the hobbyist or student level where developers might initially be unfamiliar with the technologies, such as testing, version control and/or build tools, usually more than just the basic coding a software project requires.
This can result in underestimating time required for learning, causing delays in the development process. Inexperience might also lead to disregard of accepted [[Standard
===Uncertain design requirements===
Line 33 ⟶ 34:
* Developers maintain a free-form working environment that may encourage experimentation, learning, and free distribution of results.
* It allows developers to cross architectural and/or tiered boundaries to resolve design limitations and defects.
* As discussing architectures, writing specifications and reviewing the code all take their time, a single developer (if sufficient) may well produce a working application faster by cowboy coding. Tasks like research or prototyping may not require the code quality more complex methods provide.
* Since coding can be done during the developer's free time, a project could come to fruition which otherwise wouldn't have.<ref>K, Alex. [
==See also==
Line 49 ⟶ 50:
* [http://c2.com/cgi/wiki?CowboyCoder Cowboy Coder] definition at [[Ward Cunningham|Ward's]] Wiki
* [http://c2.com/cgi/wiki?CowboyCoding Cowboy Coding] definition at [[Ward Cunningham|Ward's]] Wiki
*
{{independent media}}
|