<?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: Software Development: Art, Craft, or Science</title>
	<atom:link href="http://www.techdarkside.com/software-development-art-craft-or-science/feed" rel="self" type="application/rss+xml" />
	<link>http://www.techdarkside.com/software-development-art-craft-or-science</link>
	<description>Struggles of a Self-Taught Coder</description>
	<lastBuildDate>Mon, 26 Jul 2010 14:25:07 -0700</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Software Development is an Art, and a Craft, and a Science, and a Profession</title>
		<link>http://www.techdarkside.com/software-development-art-craft-or-science/comment-page-1#comment-15681</link>
		<dc:creator>Software Development is an Art, and a Craft, and a Science, and a Profession</dc:creator>
		<pubDate>Thu, 11 Sep 2008 03:52:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.techdarkside.com/?p=265#comment-15681</guid>
		<description>[...] is a followup from my earlier post, Software Development: Art, Craft, or Science. I initially sent it out to the attendees of the Workshop on Technical Debt, since it was discussed [...]</description>
		<content:encoded><![CDATA[<p>[...] is a followup from my earlier post, Software Development: Art, Craft, or Science. I initially sent it out to the attendees of the Workshop on Technical Debt, since it was discussed [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Christiansen</title>
		<link>http://www.techdarkside.com/software-development-art-craft-or-science/comment-page-1#comment-15679</link>
		<dc:creator>David Christiansen</dc:creator>
		<pubDate>Mon, 25 Aug 2008 20:49:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.techdarkside.com/?p=265#comment-15679</guid>
		<description>Books and magazines are, I think, one of the expressions of a guild. What books do agilists read? Or PMBOKists? Or context-driven testers? It&#039;s really pretty predictable at a certain level.</description>
		<content:encoded><![CDATA[<p>Books and magazines are, I think, one of the expressions of a guild. What books do agilists read? Or PMBOKists? Or context-driven testers? It&#8217;s really pretty predictable at a certain level.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rick Grey</title>
		<link>http://www.techdarkside.com/software-development-art-craft-or-science/comment-page-1#comment-15678</link>
		<dc:creator>Rick Grey</dc:creator>
		<pubDate>Sun, 24 Aug 2008 21:58:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.techdarkside.com/?p=265#comment-15678</guid>
		<description>I think your rumination around art, science, and craft in software development has a certain appeal, and I think the guild metaphor is an interesting one in terms of bringing the concepts together.  

In the corner of SD devoted to testing (as an activity separate from the unit, system, or integration testing performed by developers themselves), is there room for separate (or sub-) guilds for Software Testers?

Given the absence of software testing as a standard degree at universities (for the most part) here in the US, and the varying opinions around the value of the various certifications available, in some ways testing has even more of the learn-by-doing and learn-from-others quality than the coding portion of software development.  I know I&#039;ve learned a great deal working with teammates, as well as reading the works of Masters and Grand Masters in the field.  (Hm, reading books: an indirect form of guild participation not available in medieval times.  Does it still count?)  All of this causes the Guild concept to resonate for me.

Bret Pettichord created an interesting framework with which to evaluate different schools of software testing (www.io.com/~wazmo/papers/four_schools.pdf).  In it, he describes the:

 - Analytic School
 - Standard School
 - Quality School
 - Context-Driven School
 - Agile Schools

There&#039;s definitely some overlap here with the guilds you list above, but I would nominate these as a starting point for testing-specific guilds.

Rick
Acolyte of the Context Driven Guild</description>
		<content:encoded><![CDATA[<p>I think your rumination around art, science, and craft in software development has a certain appeal, and I think the guild metaphor is an interesting one in terms of bringing the concepts together.  </p>
<p>In the corner of SD devoted to testing (as an activity separate from the unit, system, or integration testing performed by developers themselves), is there room for separate (or sub-) guilds for Software Testers?</p>
<p>Given the absence of software testing as a standard degree at universities (for the most part) here in the US, and the varying opinions around the value of the various certifications available, in some ways testing has even more of the learn-by-doing and learn-from-others quality than the coding portion of software development.  I know I&#8217;ve learned a great deal working with teammates, as well as reading the works of Masters and Grand Masters in the field.  (Hm, reading books: an indirect form of guild participation not available in medieval times.  Does it still count?)  All of this causes the Guild concept to resonate for me.</p>
<p>Bret Pettichord created an interesting framework with which to evaluate different schools of software testing (www.io.com/~wazmo/papers/four_schools.pdf).  In it, he describes the:</p>
<p> &#8211; Analytic School<br />
 &#8211; Standard School<br />
 &#8211; Quality School<br />
 &#8211; Context-Driven School<br />
 &#8211; Agile Schools</p>
<p>There&#8217;s definitely some overlap here with the guilds you list above, but I would nominate these as a starting point for testing-specific guilds.</p>
<p>Rick<br />
Acolyte of the Context Driven Guild</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Christiansen</title>
		<link>http://www.techdarkside.com/software-development-art-craft-or-science/comment-page-1#comment-15677</link>
		<dc:creator>David Christiansen</dc:creator>
		<pubDate>Fri, 22 Aug 2008 17:58:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.techdarkside.com/?p=265#comment-15677</guid>
		<description>Brian - trade is definitely a loosely defined term and may not be all that useful after all. If you think about it long enough, you realize a large portion of all &quot;work&quot; is based on practices.

You make good points about medieval guilds. I think the guilds of the software development world are intellectual institutions rather than real ones, but they may still have some of the same problems.</description>
		<content:encoded><![CDATA[<p>Brian &#8211; trade is definitely a loosely defined term and may not be all that useful after all. If you think about it long enough, you realize a large portion of all &#8220;work&#8221; is based on practices.</p>
<p>You make good points about medieval guilds. I think the guilds of the software development world are intellectual institutions rather than real ones, but they may still have some of the same problems.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Christiansen</title>
		<link>http://www.techdarkside.com/software-development-art-craft-or-science/comment-page-1#comment-15676</link>
		<dc:creator>David Christiansen</dc:creator>
		<pubDate>Fri, 22 Aug 2008 17:52:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.techdarkside.com/?p=265#comment-15676</guid>
		<description>Yes, well your definition of science (i.e. no crayons or paints) would call unclogging drains a science. I suppose it might be semantically true, but it doesn&#039;t strike me as being useful.

Also, the wikipedia definition of science doesn&#039;t correlate to what I know of software development. Software development isn&#039;t about collecting data about reality and modeling in a way that helps us understand it. It&#039;s about solving problems with abstract software constructs that may or may not have any correlation to objects in the physical world.</description>
		<content:encoded><![CDATA[<p>Yes, well your definition of science (i.e. no crayons or paints) would call unclogging drains a science. I suppose it might be semantically true, but it doesn&#8217;t strike me as being useful.</p>
<p>Also, the wikipedia definition of science doesn&#8217;t correlate to what I know of software development. Software development isn&#8217;t about collecting data about reality and modeling in a way that helps us understand it. It&#8217;s about solving problems with abstract software constructs that may or may not have any correlation to objects in the physical world.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stewart Rogers</title>
		<link>http://www.techdarkside.com/software-development-art-craft-or-science/comment-page-1#comment-15675</link>
		<dc:creator>Stewart Rogers</dc:creator>
		<pubDate>Fri, 22 Aug 2008 17:08:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.techdarkside.com/?p=265#comment-15675</guid>
		<description>I did a post that was relatively similar to this awhile back.  http://tinyurl.com/6lrj5x  There are certainly creative aspects to software development I believe that it a science.</description>
		<content:encoded><![CDATA[<p>I did a post that was relatively similar to this awhile back.  <a href="http://tinyurl.com/6lrj5x" rel="nofollow">http://tinyurl.com/6lrj5x</a>  There are certainly creative aspects to software development I believe that it a science.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Marick</title>
		<link>http://www.techdarkside.com/software-development-art-craft-or-science/comment-page-1#comment-15674</link>
		<dc:creator>Brian Marick</dc:creator>
		<pubDate>Fri, 22 Aug 2008 15:36:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.techdarkside.com/?p=265#comment-15674</guid>
		<description>I think medicine is a trade and in fact is actually closer to medieval guilds than many modern trades. Certainly it&#039;s taught via apprenticeship and hands-on mentoring. 

&quot;Being a professor&quot; is also a trade, one that&#039;s taught (if you&#039;re lucky) through a master-apprentice relationship with your graduate advisor.

Generally, I think a profession is just a trade with legal muscle behind it. Does that mean hairdressers are professionals since (in Illinois, at least) they have to be licensed? I&#039;d say yes. If you say no, I&#039;ll amend my rule of thumb: a profession is a trade with legal muscle behind it and enough widely-shared cultural respect. Or, maybe: a legally-backed trade that deals with high-risk matters that make people feel helpless (sickness, legal jeopardy, etc.)

One thing to remember about guilds: a big part of their purpose was to restrict competition from people not in the guild. Also, I think I remember, competition from people within the guild by establishing a &quot;just price&quot; for guildsmen&#039;s work. I also think I remember that they were not exactly boosters of innovation.</description>
		<content:encoded><![CDATA[<p>I think medicine is a trade and in fact is actually closer to medieval guilds than many modern trades. Certainly it&#8217;s taught via apprenticeship and hands-on mentoring. </p>
<p>&#8220;Being a professor&#8221; is also a trade, one that&#8217;s taught (if you&#8217;re lucky) through a master-apprentice relationship with your graduate advisor.</p>
<p>Generally, I think a profession is just a trade with legal muscle behind it. Does that mean hairdressers are professionals since (in Illinois, at least) they have to be licensed? I&#8217;d say yes. If you say no, I&#8217;ll amend my rule of thumb: a profession is a trade with legal muscle behind it and enough widely-shared cultural respect. Or, maybe: a legally-backed trade that deals with high-risk matters that make people feel helpless (sickness, legal jeopardy, etc.)</p>
<p>One thing to remember about guilds: a big part of their purpose was to restrict competition from people not in the guild. Also, I think I remember, competition from people within the guild by establishing a &#8220;just price&#8221; for guildsmen&#8217;s work. I also think I remember that they were not exactly boosters of innovation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Christiansen</title>
		<link>http://www.techdarkside.com/software-development-art-craft-or-science/comment-page-1#comment-15673</link>
		<dc:creator>David Christiansen</dc:creator>
		<pubDate>Fri, 22 Aug 2008 11:43:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.techdarkside.com/?p=265#comment-15673</guid>
		<description>I don’t think software development is a craft. Not in the witchcraft sense or the woodcraft sense. I guess you could call it a craft the same way any profession can be called a craft, like a lawyer who is &quot;practicing his craft&quot; or &quot;plying his trade.&quot;

Maybe it&#039;s silly to get petty about semantics, so I don&#039;t want to labor this point to much, but I think software development is a trade, just like masonry is a trade. There may or may not be physical laws that govern “good” software, but you don’t necessarily need to understand those laws in order to be reasonably competent. Instead, you need to be skilled at the practices of your trade, regardless of your grasp for its theory.

People built cathedrals without the law of gravity or an understanding of the chemistry of cement. Developers routinely write decent software without understanding transistors, binary, bytecode, etc. A firm foundation in the basic laws of software development is not necessary to build software.

That’s what I think makes it a trade. If you are lucky enough to be mentored by an expert tradesman so that his or her practices can be imprinted upon you and creative/intelligent enough to add to them, you can do well even if you never crack a patterns book.

Some people may be offended by my view that software development is a trade. So is working on cars, building houses, etc. Lawyering, doctoring, and managing are not trades, and some readers may resent not being lumped in with professionals.

I’m not bothered by it. I think understanding our business as a trade makes it a lot easier to understand how to get better. Practice. Practice. Learning. Practice. Example. Practice.</description>
		<content:encoded><![CDATA[<p>I don’t think software development is a craft. Not in the witchcraft sense or the woodcraft sense. I guess you could call it a craft the same way any profession can be called a craft, like a lawyer who is &#8220;practicing his craft&#8221; or &#8220;plying his trade.&#8221;</p>
<p>Maybe it&#8217;s silly to get petty about semantics, so I don&#8217;t want to labor this point to much, but I think software development is a trade, just like masonry is a trade. There may or may not be physical laws that govern “good” software, but you don’t necessarily need to understand those laws in order to be reasonably competent. Instead, you need to be skilled at the practices of your trade, regardless of your grasp for its theory.</p>
<p>People built cathedrals without the law of gravity or an understanding of the chemistry of cement. Developers routinely write decent software without understanding transistors, binary, bytecode, etc. A firm foundation in the basic laws of software development is not necessary to build software.</p>
<p>That’s what I think makes it a trade. If you are lucky enough to be mentored by an expert tradesman so that his or her practices can be imprinted upon you and creative/intelligent enough to add to them, you can do well even if you never crack a patterns book.</p>
<p>Some people may be offended by my view that software development is a trade. So is working on cars, building houses, etc. Lawyering, doctoring, and managing are not trades, and some readers may resent not being lumped in with professionals.</p>
<p>I’m not bothered by it. I think understanding our business as a trade makes it a lot easier to understand how to get better. Practice. Practice. Learning. Practice. Example. Practice.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Gumbley</title>
		<link>http://www.techdarkside.com/software-development-art-craft-or-science/comment-page-1#comment-15672</link>
		<dc:creator>Matt Gumbley</dc:creator>
		<pubDate>Fri, 22 Aug 2008 07:54:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.techdarkside.com/?p=265#comment-15672</guid>
		<description>Nice post, thanks.

For a book that has a simliar theme, try Pete McBreen&#039;s Software Craftmanship: The New Imparative.

http://www.amazon.co.uk/Software-Craftsmanship-Imperative-Pete-McBreen/dp/0201733862</description>
		<content:encoded><![CDATA[<p>Nice post, thanks.</p>
<p>For a book that has a simliar theme, try Pete McBreen&#8217;s Software Craftmanship: The New Imparative.</p>
<p><a href="http://www.amazon.co.uk/Software-Craftsmanship-Imperative-Pete-McBreen/dp/0201733862" rel="nofollow">http://www.amazon.co.uk/Software-Craftsmanship-Imperative-Pete-McBreen/dp/0201733862</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Heusser</title>
		<link>http://www.techdarkside.com/software-development-art-craft-or-science/comment-page-1#comment-15670</link>
		<dc:creator>Matt Heusser</dc:creator>
		<pubDate>Thu, 21 Aug 2008 14:11:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.techdarkside.com/?p=265#comment-15670</guid>
		<description>Part of what makes it craft is that a defined process doesn&#039;t close to cover it.  You have to -experience- it and consciously learn from that experience to get better.

Sure, a book could help - Bob Martin&#039;s Clean Code or Kent Beck&#039;s Implementation Patterns are both attempts at this - but you could still give the same requirement to five different devs and get five completely different, yet correct-enough, answers.

Corporate America likes defined process.  But try selling your defined process to a golfer; he&#039;s say you&#039;re on crack, get your clubs and let&#039;s play and learned from that playing. :-)</description>
		<content:encoded><![CDATA[<p>Part of what makes it craft is that a defined process doesn&#8217;t close to cover it.  You have to -experience- it and consciously learn from that experience to get better.</p>
<p>Sure, a book could help &#8211; Bob Martin&#8217;s Clean Code or Kent Beck&#8217;s Implementation Patterns are both attempts at this &#8211; but you could still give the same requirement to five different devs and get five completely different, yet correct-enough, answers.</p>
<p>Corporate America likes defined process.  But try selling your defined process to a golfer; he&#8217;s say you&#8217;re on crack, get your clubs and let&#8217;s play and learned from that playing. <img src='http://www.techdarkside.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>
