Cowboy coding: Difference between revisions

Content deleted Content added
fixed "History of Linux" link (now uses https)
SmackBot (talk | contribs)
m Date maintenance tags and general fixes: build 490:
Line 1:
{{linkfarmExternal links|date=January 2009}}
 
'''Cowboy coding''' is a term used to describe software development where the developers have [[autonomy]] over the development process. This includes control of the project's schedule, algorithms, tools, and coding style.
Line 14:
 
==== Inexperienced developers ====
Cowboy coding is common at the hobbyist or student level where developers may initially be unfamiliar with the technologies, such as the [[build tool|build tools]]s, that the project requires. This can result in time required for learning to be underestimated, causing delays in the development process. Inexperience may also lead to disregard of accepted [[Standard_Operating_Procedure#Information_technology_industry_use|standards]], making the project source difficult to read or causing conflicts between the [[Semantics#Computer_science|semantics]] of the language constructs and the result of their output.
==== Uncertain design requirements ====
Custom software applications, even when using a proven development cycle, can experience problems with the client concerning requirements. Cowboy coding can accentuate this problem by not scaling the requirements to a reasonable timeline, and may result in unused or unusable components being created before the project is finished. Similarly, projects with less tangible clients (often experimental projects, see [[independent game development]]) may begin with code and never a formal analysis of the design requirements. Lack of design analysis may lead to incorrect or insufficient technology choices, possibly requiring the developer to [[porting|port]] or rewrite their software in order for the project to be completed.
Line 31:
== Examples of cowboy coding ==
{{POV-section|date=September 2009}}
 
* [http://web.archive.org/web/20070717193315/http://siliconuser.com/?q=node/10 How Adobe's Photoshop Was Born]
* [http://httpd.apache.org/ABOUT_APACHE.html About Apache HTTP Server]
Line 49 ⟶ 48:
<references/>
 
{{DEFAULTSORT:Cowboy Coding}}
[[Category:Software development philosophies]]