<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Delving into Cowboy Programming</title>
	<atom:link href="http://cowboyprogramming.com/2007/01/11/delving-into-cowboy-programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://cowboyprogramming.com/2007/01/11/delving-into-cowboy-programming/</link>
	<description>Game Development and General Hacking by the Old West</description>
	<lastBuildDate>Tue, 20 Jul 2010 15:03:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Mick West</title>
		<link>http://cowboyprogramming.com/2007/01/11/delving-into-cowboy-programming/comment-page-1/#comment-156552</link>
		<dc:creator>Mick West</dc:creator>
		<pubDate>Sun, 14 Mar 2010 07:15:34 +0000</pubDate>
		<guid isPermaLink="false">http://cowboyprogramming.com/?p=44#comment-156552</guid>
		<description>Works best with a single programmer.   I&#039;m doing some cowboy programming right now.   Fast moving stuff, but not suitable for team work.   Can be massaged into shape though.</description>
		<content:encoded><![CDATA[<p>Works best with a single programmer.   I&#8217;m doing some cowboy programming right now.   Fast moving stuff, but not suitable for team work.   Can be massaged into shape though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin C</title>
		<link>http://cowboyprogramming.com/2007/01/11/delving-into-cowboy-programming/comment-page-1/#comment-156550</link>
		<dc:creator>Kevin C</dc:creator>
		<pubDate>Sun, 14 Mar 2010 07:12:32 +0000</pubDate>
		<guid isPermaLink="false">http://cowboyprogramming.com/?p=44#comment-156550</guid>
		<description>So refreshing to see another person take the right approach to analyzing Cowboy practices. I think the problem with our image is that people don&#039;t see the inherent limitations to Cowboy: (1) It requires &lt;i&gt;good&lt;/i&gt; people, and (2) It doesn&#039;t scale. 

As long as you have a &lt;i&gt;small&lt;/i&gt; team of &lt;i&gt;good&lt;/i&gt; people, it can be the greatest choice of all. Especially if you plan to go iterative (in one way or another).  

What? You can do Iterative Cowboy. Works great in my shop.</description>
		<content:encoded><![CDATA[<p>So refreshing to see another person take the right approach to analyzing Cowboy practices. I think the problem with our image is that people don&#8217;t see the inherent limitations to Cowboy: (1) It requires <i>good</i> people, and (2) It doesn&#8217;t scale. </p>
<p>As long as you have a <i>small</i> team of <i>good</i> people, it can be the greatest choice of all. Especially if you plan to go iterative (in one way or another).  </p>
<p>What? You can do Iterative Cowboy. Works great in my shop.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Erik</title>
		<link>http://cowboyprogramming.com/2007/01/11/delving-into-cowboy-programming/comment-page-1/#comment-140113</link>
		<dc:creator>Erik</dc:creator>
		<pubDate>Tue, 08 Dec 2009 19:47:13 +0000</pubDate>
		<guid isPermaLink="false">http://cowboyprogramming.com/?p=44#comment-140113</guid>
		<description>Is any process done badly a bad process?

Methodologies tend to backload results. Software takes a long time and a lot of money to develop. It&#039;s important to show the people paying that the money they are spending is being used to produce more than reports and reams of documentation.

Cowboy programming is very good at delivering results early, clients like that. Unfortunately all you&#039;ve managed to do is take a prototype and raise the expectations of the clients into thinking the project is 80% complete because it &quot;looks&quot; 80% complete. This is bad.

Any methodology, you name it, in my opinion must be results oriented but it can&#039;t backload results. You can&#039;t go a year without showing the stakeholders something tangible. If you try then you are putting immense pressure on the developers to &quot;manage&quot; the clients impatience with the project. The developers are the ones who work all night in an attempt to satisfy the frustrations of the clients in spending all the time and money and having no code to show for it.

Any methodology, or none at all, must manage client expectations, involve all of the actors all of the time - not dump problems on the developers, and must deliver results progressively so the clients can see something for their money - they need to see continued progress.

The typical &quot;cowboy&quot; ad-hoc method is subject to the 80/20 rule. You talk to the client and in a short time you return with something which, to the client, looks almost complete. It looks great, just make the buttons do things, make the list and grid show real data, essentially, go back and fill in all the blanks, easy.

Now you&#039;ve got a situation where the client thinks you&#039;re 80% done. The problem is that they expect you to be finished any day now but you&#039;ve still got weeks or months of work to do to finish. After another week the client asks why you aren&#039;t done yet. They think you&#039;re 80% done because they have seen it with their own eyes. Nothing you say will convince them otherwise. Weeks go by and the client is still look ing at the same almost done view, they see no change and assume you&#039;ve gone to sleep or are being lazy.

Method is about delivering a product to the client which meets or exceeds their expectations at every stage of development. It&#039;s not about getting it done quicker, in fewer lines of code and with fewer bugs. Whichever one does that  for you at the lowest cost is the one you should use and it may not be the same choice every time.

Building a trader accounting app from scratch requires a different process than throwing up a email response form on a website. You wouldn&#039;t go to a jobsite with a toolbox full of hammers, why would you write software that way?

I try to use the best tool for the job at hand. There are plenty of methods to choose from. Many of the &quot;examples&quot; above are examples of people who chose the wrong tool for the wrong job, not necessarily some fatal flaw in the methodology.</description>
		<content:encoded><![CDATA[<p>Is any process done badly a bad process?</p>
<p>Methodologies tend to backload results. Software takes a long time and a lot of money to develop. It&#8217;s important to show the people paying that the money they are spending is being used to produce more than reports and reams of documentation.</p>
<p>Cowboy programming is very good at delivering results early, clients like that. Unfortunately all you&#8217;ve managed to do is take a prototype and raise the expectations of the clients into thinking the project is 80% complete because it &#8220;looks&#8221; 80% complete. This is bad.</p>
<p>Any methodology, you name it, in my opinion must be results oriented but it can&#8217;t backload results. You can&#8217;t go a year without showing the stakeholders something tangible. If you try then you are putting immense pressure on the developers to &#8220;manage&#8221; the clients impatience with the project. The developers are the ones who work all night in an attempt to satisfy the frustrations of the clients in spending all the time and money and having no code to show for it.</p>
<p>Any methodology, or none at all, must manage client expectations, involve all of the actors all of the time &#8211; not dump problems on the developers, and must deliver results progressively so the clients can see something for their money &#8211; they need to see continued progress.</p>
<p>The typical &#8220;cowboy&#8221; ad-hoc method is subject to the 80/20 rule. You talk to the client and in a short time you return with something which, to the client, looks almost complete. It looks great, just make the buttons do things, make the list and grid show real data, essentially, go back and fill in all the blanks, easy.</p>
<p>Now you&#8217;ve got a situation where the client thinks you&#8217;re 80% done. The problem is that they expect you to be finished any day now but you&#8217;ve still got weeks or months of work to do to finish. After another week the client asks why you aren&#8217;t done yet. They think you&#8217;re 80% done because they have seen it with their own eyes. Nothing you say will convince them otherwise. Weeks go by and the client is still look ing at the same almost done view, they see no change and assume you&#8217;ve gone to sleep or are being lazy.</p>
<p>Method is about delivering a product to the client which meets or exceeds their expectations at every stage of development. It&#8217;s not about getting it done quicker, in fewer lines of code and with fewer bugs. Whichever one does that  for you at the lowest cost is the one you should use and it may not be the same choice every time.</p>
<p>Building a trader accounting app from scratch requires a different process than throwing up a email response form on a website. You wouldn&#8217;t go to a jobsite with a toolbox full of hammers, why would you write software that way?</p>
<p>I try to use the best tool for the job at hand. There are plenty of methods to choose from. Many of the &#8220;examples&#8221; above are examples of people who chose the wrong tool for the wrong job, not necessarily some fatal flaw in the methodology.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shakor</title>
		<link>http://cowboyprogramming.com/2007/01/11/delving-into-cowboy-programming/comment-page-1/#comment-131696</link>
		<dc:creator>Shakor</dc:creator>
		<pubDate>Tue, 22 Sep 2009 12:33:33 +0000</pubDate>
		<guid isPermaLink="false">http://cowboyprogramming.com/?p=44#comment-131696</guid>
		<description>I agree with Tim Claason as where cowboy coding has its place it certainly does not belong to mission critical applications where it is important that the application works well and is thourougly tested and reviewed.

Cowboy coding also is not suitable in development teams consisting of more than a couple of developers which may work on the same components because that creates unclear code which is not easily understood and changed.

However for small, non critical applications written by a single programmer Cowboy coding can be used. Still if the application is to be maintained by another programmer it is good to follow common coding conventions and have automated testing. That is not something that can be left out because the programmer did not feel it was important at the time.</description>
		<content:encoded><![CDATA[<p>I agree with Tim Claason as where cowboy coding has its place it certainly does not belong to mission critical applications where it is important that the application works well and is thourougly tested and reviewed.</p>
<p>Cowboy coding also is not suitable in development teams consisting of more than a couple of developers which may work on the same components because that creates unclear code which is not easily understood and changed.</p>
<p>However for small, non critical applications written by a single programmer Cowboy coding can be used. Still if the application is to be maintained by another programmer it is good to follow common coding conventions and have automated testing. That is not something that can be left out because the programmer did not feel it was important at the time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim Claason</title>
		<link>http://cowboyprogramming.com/2007/01/11/delving-into-cowboy-programming/comment-page-1/#comment-126930</link>
		<dc:creator>Tim Claason</dc:creator>
		<pubDate>Thu, 06 Aug 2009 14:43:58 +0000</pubDate>
		<guid isPermaLink="false">http://cowboyprogramming.com/?p=44#comment-126930</guid>
		<description>Cowboy development definitely has its place, and so does process-driven development.

One would not want to build a missile guidance system or mission critical application without a high degree of planning, design inspection (2nd or 3rd party), and post-coding review.

However, applications that are less mission critical or for end-users who do not need defect free software, it&#039;s a great solution.

For instance, the company I work for makes hospital software.  I built a black box application that simulates a hospital&#039;s environment, and it works great for our quality assurance department.  I wrote it autonomously, guided more by &quot;gut feeling&quot; about how it should be, rather than going through the traditional SDLC process, and it works great.  From time to time, there&#039;s something not quite right that needs to be fixed (I abstain from using the word defect, because I&#039;m not sure there can be a real defect without real requirements, but I digress).  When this situation occurs, I fix it, publish to the QA department the updated library or libraries, and they go on their way.

So, yeah, Cowboy development is appropriate for some things.</description>
		<content:encoded><![CDATA[<p>Cowboy development definitely has its place, and so does process-driven development.</p>
<p>One would not want to build a missile guidance system or mission critical application without a high degree of planning, design inspection (2nd or 3rd party), and post-coding review.</p>
<p>However, applications that are less mission critical or for end-users who do not need defect free software, it&#8217;s a great solution.</p>
<p>For instance, the company I work for makes hospital software.  I built a black box application that simulates a hospital&#8217;s environment, and it works great for our quality assurance department.  I wrote it autonomously, guided more by &#8220;gut feeling&#8221; about how it should be, rather than going through the traditional SDLC process, and it works great.  From time to time, there&#8217;s something not quite right that needs to be fixed (I abstain from using the word defect, because I&#8217;m not sure there can be a real defect without real requirements, but I digress).  When this situation occurs, I fix it, publish to the QA department the updated library or libraries, and they go on their way.</p>
<p>So, yeah, Cowboy development is appropriate for some things.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: F</title>
		<link>http://cowboyprogramming.com/2007/01/11/delving-into-cowboy-programming/comment-page-1/#comment-124746</link>
		<dc:creator>F</dc:creator>
		<pubDate>Thu, 23 Jul 2009 14:29:13 +0000</pubDate>
		<guid isPermaLink="false">http://cowboyprogramming.com/?p=44#comment-124746</guid>
		<description>Project philosophy is rarely correlated with end quality, raw hacker talent, IQ and experience always correlate with quality.</description>
		<content:encoded><![CDATA[<p>Project philosophy is rarely correlated with end quality, raw hacker talent, IQ and experience always correlate with quality.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The extreme IT personalities and how to lead around them. &#171; The World of an IT Leader</title>
		<link>http://cowboyprogramming.com/2007/01/11/delving-into-cowboy-programming/comment-page-1/#comment-118995</link>
		<dc:creator>The extreme IT personalities and how to lead around them. &#171; The World of an IT Leader</dc:creator>
		<pubDate>Sun, 28 Jun 2009 17:05:53 +0000</pubDate>
		<guid isPermaLink="false">http://cowboyprogramming.com/?p=44#comment-118995</guid>
		<description>[...] has heard of the COWBOY Programmer, the personality of someone does what they want even though they are working on a team. Sometimes [...]</description>
		<content:encoded><![CDATA[<p>[...] has heard of the COWBOY Programmer, the personality of someone does what they want even though they are working on a team. Sometimes [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark</title>
		<link>http://cowboyprogramming.com/2007/01/11/delving-into-cowboy-programming/comment-page-1/#comment-96742</link>
		<dc:creator>Mark</dc:creator>
		<pubDate>Mon, 23 Mar 2009 19:39:57 +0000</pubDate>
		<guid isPermaLink="false">http://cowboyprogramming.com/?p=44#comment-96742</guid>
		<description>I&#039;ve seen people discuss Agile development as a way to undercover problems earlier in the development process, or as a way to reign in the less than stellar employees (who can work with a team vs. who is a &#039;cowboy&#039; looking for all the praise?) If Cowboy programming isn&#039;t working for you, perhaps XP is a way to introduce some quality measures. Or at least pair up a cowboy with a disciplined person.

We actually use a great tool that gives everyone in the project great visbility into the process, how we all relate, and actually has helped improve morale. Click on my name for it.

Mark</description>
		<content:encoded><![CDATA[<p>I&#8217;ve seen people discuss Agile development as a way to undercover problems earlier in the development process, or as a way to reign in the less than stellar employees (who can work with a team vs. who is a &#8216;cowboy&#8217; looking for all the praise?) If Cowboy programming isn&#8217;t working for you, perhaps XP is a way to introduce some quality measures. Or at least pair up a cowboy with a disciplined person.</p>
<p>We actually use a great tool that gives everyone in the project great visbility into the process, how we all relate, and actually has helped improve morale. Click on my name for it.</p>
<p>Mark</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: startxxx</title>
		<link>http://cowboyprogramming.com/2007/01/11/delving-into-cowboy-programming/comment-page-1/#comment-84026</link>
		<dc:creator>startxxx</dc:creator>
		<pubDate>Mon, 09 Feb 2009 15:29:29 +0000</pubDate>
		<guid isPermaLink="false">http://cowboyprogramming.com/?p=44#comment-84026</guid>
		<description>I really believe in almost all Agile anecdotes, but, when it comes to Unit Tests, in my field -GUI, I feel the Cowboy programming way has it better.

I was given the opportunity to &quot;race&quot; the development of three-men who are sworn to agility vs. myself, sworn to deliver. I have finished in 3 weeks. They never did. Unit Testing killed 70 % of their time imho.

I wish I could post evidence (screenshots of poor results by equally skilled programmers sitting in the same room and same meetings)</description>
		<content:encoded><![CDATA[<p>I really believe in almost all Agile anecdotes, but, when it comes to Unit Tests, in my field -GUI, I feel the Cowboy programming way has it better.</p>
<p>I was given the opportunity to &#8220;race&#8221; the development of three-men who are sworn to agility vs. myself, sworn to deliver. I have finished in 3 weeks. They never did. Unit Testing killed 70 % of their time imho.</p>
<p>I wish I could post evidence (screenshots of poor results by equally skilled programmers sitting in the same room and same meetings)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: [ mkhairul.com ] &#187; Development Method</title>
		<link>http://cowboyprogramming.com/2007/01/11/delving-into-cowboy-programming/comment-page-1/#comment-82104</link>
		<dc:creator>[ mkhairul.com ] &#187; Development Method</dc:creator>
		<pubDate>Wed, 04 Feb 2009 07:45:48 +0000</pubDate>
		<guid isPermaLink="false">http://cowboyprogramming.com/?p=44#comment-82104</guid>
		<description>[...] far in this unit (I&#8217;m the only one), I&#8217;ve been practicing Cowboy Coding or Hero [...]</description>
		<content:encoded><![CDATA[<p>[...] far in this unit (I&#8217;m the only one), I&#8217;ve been practicing Cowboy Coding or Hero [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.588 seconds -->
