Content deleted Content added
tiny correction |
NPOV, remove some of the wilder unsubstantiated claims and advertisements for other methodologies |
||
Line 1:
{{Not verified|date=June 2007}}
{{Notability|Neologisms|date=June 2007}}
'''Cowboy Coding''' is
'''Cowboy Coding''' may constitute a software management [[Anti-pattern]] as it is a practice which appears initially to be advantageous, yet ultimately results in consequences that outweigh any advantages. In order to
Much more so than in other methodologies, the skill and experience of the developer define the degree of success. Controls and/or checks and balances are not embedded in the cowboy coding method. So there is little accountability for the developer.
'''Advantages:'''
* Well known and common-place. Developers need no training to quickly ramp up and be productive.
*
* Allows for quick solutions for small problems. Often a problem is small enough and well understood enough that documentation and planning are overkill. Typically when the job is going to take a day or two, and involve only a single developer.
* Can allow a 'spike' to see if a programming idea is valid before embarking on a larger project that depends on the idea. A spike is where you write a small proof of concept application to prove that a method is valid. These applications generally do not form part of a real finished application.
'''Disadvantages:'''
Line 24 ⟶ 18:
* Lacks a clear scope and vision. The project sponsors will have no clear idea that their objectives have been communicated with the developer.
* Only suitable for very small projects. Complex projects may progress rapidly in the beginning, but then become bogged down as the developer finds adding more functionality to the codebase increasingly difficult.
* Tends to produce poorer quality software. With no [[code review
* Does not scale well. If there is more than one programmer there needs to be some mechanism for them to organise the development. At this point even small teams will document and organise the project in some form.
* Cowboy coding will often ignore other industry best practices, such as using a version control system. Since cowboy coders often work alone they see no point in the overhead of a version control system.
* Is a huge risk to the business. A lone cowboy coder could leave a project, and no one else might understand his/her code well enough to continue development.
[[Category:Software development philosophies]]
|