<?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: What is Behaviour Driven Development?</title>
	<atom:link href="http://adams.id.au/blog/2007/10/what-is-behaviour-driven-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://adams.id.au/blog/2007/10/what-is-behaviour-driven-development/</link>
	<description>Technology, mountain biking, politics &#38; music.</description>
	<pubDate>Fri, 30 Jul 2010 06:31:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Inter-Sections &#187; Blog Archive &#187; Sapir-Whorf, books, and your personal freedom</title>
		<link>http://adams.id.au/blog/2007/10/what-is-behaviour-driven-development/comment-page-1/#comment-93</link>
		<dc:creator>Inter-Sections &#187; Blog Archive &#187; Sapir-Whorf, books, and your personal freedom</dc:creator>
		<pubDate>Thu, 13 Dec 2007 18:21:23 +0000</pubDate>
		<guid isPermaLink="false">http://adams.id.au/blog/2007/10/what-is-behaviour-driven-development/#comment-93</guid>
		<description>[...] The weaker Sapir-Whorf hypothesis, also known as &#8220;Linguistic Relativism&#8221;, proposes that the &#8220;facilities&#8221; of your language influence the kinds of thoughts that you will have, that your thoughts are effectively guided in a certain direction based on the language you are using. This is well-known to Rubyists, particularly in the RSpec/BDD world, so I won&#8217;t talk too much about that in this article. There are many other articles covering the interactions between RSpec and Sapir-Whorf and BDD. [...]</description>
		<content:encoded><![CDATA[<p>[...] The weaker Sapir-Whorf hypothesis, also known as &#8220;Linguistic Relativism&#8221;, proposes that the &#8220;facilities&#8221; of your language influence the kinds of thoughts that you will have, that your thoughts are effectively guided in a certain direction based on the language you are using. This is well-known to Rubyists, particularly in the RSpec/BDD world, so I won&#8217;t talk too much about that in this article. There are many other articles covering the interactions between RSpec and Sapir-Whorf and BDD. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom Adams</title>
		<link>http://adams.id.au/blog/2007/10/what-is-behaviour-driven-development/comment-page-1/#comment-92</link>
		<dc:creator>Tom Adams</dc:creator>
		<pubDate>Tue, 16 Oct 2007 03:07:35 +0000</pubDate>
		<guid isPermaLink="false">http://adams.id.au/blog/2007/10/what-is-behaviour-driven-development/#comment-92</guid>
		<description>Thanks Tim.</description>
		<content:encoded><![CDATA[<p>Thanks Tim.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim Haughton</title>
		<link>http://adams.id.au/blog/2007/10/what-is-behaviour-driven-development/comment-page-1/#comment-91</link>
		<dc:creator>Tim Haughton</dc:creator>
		<pubDate>Mon, 15 Oct 2007 12:08:03 +0000</pubDate>
		<guid isPermaLink="false">http://adams.id.au/blog/2007/10/what-is-behaviour-driven-development/#comment-91</guid>
		<description>+1 for Joe's comment. Great post Tom.</description>
		<content:encoded><![CDATA[<p>+1 for Joe&#8217;s comment. Great post Tom.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom Adams</title>
		<link>http://adams.id.au/blog/2007/10/what-is-behaviour-driven-development/comment-page-1/#comment-90</link>
		<dc:creator>Tom Adams</dc:creator>
		<pubDate>Mon, 15 Oct 2007 11:03:48 +0000</pubDate>
		<guid isPermaLink="false">http://adams.id.au/blog/2007/10/what-is-behaviour-driven-development/#comment-90</guid>
		<description>@Joe. Thanks. The matrix was much larger, it represented all the problems I've encountered using TDD on projects over the last 3 so years. Unfortunately not all of these are addressed by BDD so I was unable to include them in the matrix. I'm still searching for solutions for these issues.

@Scott. Thanks for the positive comments, it was yours and Joe's blogs that I've been reading for the last little while. The .Net (and Ruby) community seems to be more active in this area than Java's.

I make the distinction between "code" and "story" levels as I find that current "BDD" frameworks are focused at one or the other (unfortunately not usually both). Hopefully this distinction will go away after a while (we're already seeing RSpec/RBehave), and we'll see frameworks support both (all) levels.

I personally came to BDD after seeing RSpec, and seeing how it overcame a lot of the problems I'd had test driving. From that point of view I created Instinct to help in driving behaviour from a developer's POV. It's only been in more recent times that I've seen the emphasis (on blogs at least) shift back to story level specification. I think this is a *good thing*, however at some point developers need to be able to specify behaviour at their level.

We are all customers of our own code and we all need an API that provides the right language. Code level frameworks provide this for the developer, story level frameworks for a discussion between developers and customers.

Is it the example I've given or the categorisation that you're not comfortable with. Upon re-reading, perhaps it's the lack of context?

I've no problem with BDD examples being presented in context with the stories that drive them, however I felt the examples (possibly presented out of context) were appropriate for the audience of OSDC. Also, there is every possibility that these high level stories will drive a large number of lower level artefacts (classes, etc.) that may be technical in their nature, and not something of interest to a customer. Unfortunately, I don't believe that the current story level APIs provide the flexibility nor readability required by developers when specifying the behaviour of this code.

I'm not particularly enamoured of the example, I think a stack is a pretty poor example for BDD, so I'd be happy for a better one!</description>
		<content:encoded><![CDATA[<p>@Joe. Thanks. The matrix was much larger, it represented all the problems I&#8217;ve encountered using TDD on projects over the last 3 so years. Unfortunately not all of these are addressed by BDD so I was unable to include them in the matrix. I&#8217;m still searching for solutions for these issues.</p>
<p>@Scott. Thanks for the positive comments, it was yours and Joe&#8217;s blogs that I&#8217;ve been reading for the last little while. The .Net (and Ruby) community seems to be more active in this area than Java&#8217;s.</p>
<p>I make the distinction between &#8220;code&#8221; and &#8220;story&#8221; levels as I find that current &#8220;BDD&#8221; frameworks are focused at one or the other (unfortunately not usually both). Hopefully this distinction will go away after a while (we&#8217;re already seeing RSpec/RBehave), and we&#8217;ll see frameworks support both (all) levels.</p>
<p>I personally came to BDD after seeing RSpec, and seeing how it overcame a lot of the problems I&#8217;d had test driving. From that point of view I created Instinct to help in driving behaviour from a developer&#8217;s POV. It&#8217;s only been in more recent times that I&#8217;ve seen the emphasis (on blogs at least) shift back to story level specification. I think this is a *good thing*, however at some point developers need to be able to specify behaviour at their level.</p>
<p>We are all customers of our own code and we all need an API that provides the right language. Code level frameworks provide this for the developer, story level frameworks for a discussion between developers and customers.</p>
<p>Is it the example I&#8217;ve given or the categorisation that you&#8217;re not comfortable with. Upon re-reading, perhaps it&#8217;s the lack of context?</p>
<p>I&#8217;ve no problem with BDD examples being presented in context with the stories that drive them, however I felt the examples (possibly presented out of context) were appropriate for the audience of OSDC. Also, there is every possibility that these high level stories will drive a large number of lower level artefacts (classes, etc.) that may be technical in their nature, and not something of interest to a customer. Unfortunately, I don&#8217;t believe that the current story level APIs provide the flexibility nor readability required by developers when specifying the behaviour of this code.</p>
<p>I&#8217;m not particularly enamoured of the example, I think a stack is a pretty poor example for BDD, so I&#8217;d be happy for a better one!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Ocampo</title>
		<link>http://adams.id.au/blog/2007/10/what-is-behaviour-driven-development/comment-page-1/#comment-89</link>
		<dc:creator>Joe Ocampo</dc:creator>
		<pubDate>Mon, 15 Oct 2007 03:40:04 +0000</pubDate>
		<guid isPermaLink="false">http://adams.id.au/blog/2007/10/what-is-behaviour-driven-development/#comment-89</guid>
		<description>Excellent writeup!  I love your matrix.</description>
		<content:encoded><![CDATA[<p>Excellent writeup!  I love your matrix.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Bellware</title>
		<link>http://adams.id.au/blog/2007/10/what-is-behaviour-driven-development/comment-page-1/#comment-88</link>
		<dc:creator>Scott Bellware</dc:creator>
		<pubDate>Sun, 14 Oct 2007 20:21:30 +0000</pubDate>
		<guid isPermaLink="false">http://adams.id.au/blog/2007/10/what-is-behaviour-driven-development/#comment-88</guid>
		<description>Great write up!  Thanks!

That said...

You're categorization of the "unit level" specifications is misleading.

There's no value in talking about these "unit level" specifications in absentia of the stories that caused them to come into existence.

The spec on the stack object is typical of unit testing and TDD tutorials and does negative service to BDD practices since unit testing and TDD examples are often presented out of context with their stories.

I think you've just fallen into the same old TDD trap except that here you're doing it with a BDD-oriented tool.</description>
		<content:encoded><![CDATA[<p>Great write up!  Thanks!</p>
<p>That said&#8230;</p>
<p>You&#8217;re categorization of the &#8220;unit level&#8221; specifications is misleading.</p>
<p>There&#8217;s no value in talking about these &#8220;unit level&#8221; specifications in absentia of the stories that caused them to come into existence.</p>
<p>The spec on the stack object is typical of unit testing and TDD tutorials and does negative service to BDD practices since unit testing and TDD examples are often presented out of context with their stories.</p>
<p>I think you&#8217;ve just fallen into the same old TDD trap except that here you&#8217;re doing it with a BDD-oriented tool.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
