<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DanNorth.net &#187; BDD</title>
	<atom:link href="http://dannorth.net/tags/agile/bdd/feed" rel="self" type="application/rss+xml" />
	<link>http://dannorth.net</link>
	<description>It&#039;s all behaviour</description>
	<lastBuildDate>Sat, 06 Feb 2010 18:17:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Welcome to my brain</title>
		<link>http://dannorth.net/2009/08/welcome-to-my-brain</link>
		<comments>http://dannorth.net/2009/08/welcome-to-my-brain#comments</comments>
		<pubDate>Thu, 13 Aug 2009 20:25:28 +0000</pubDate>
		<dc:creator>Dan North</dc:creator>
				<category><![CDATA[BDD]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[events]]></category>

		<guid isPermaLink="false">http://dannorth.net/?p=136</guid>
		<description><![CDATA[[ August 17, 2009; 6:30 pm to 8:00 pm. 6:30 pm to 8:00 pm. ] I'm delighted to be taking part in a "In the brain of...":http://skillsmatter.com/event/agile-testing/introduction-to-bdd session organised by the folks at "SkillsMatter":http://skillsmatter.com/.

When the SkillsMatter folks actually _checked_ inside my brain and heard the rattling noise, they realised I would need some help, so "Liz Keogh":http://lizkeogh.com/ - BDD pioneer and project lead for "JBehave":http://jbehave.org - will be co-presenting with [...]]]></description>
			<content:encoded><![CDATA[	<p>I&#8217;m delighted to be taking part in a <a href="http://skillsmatter.com/event/agile-testing/introduction-to-bdd">In the brain of&#8230;</a> session organised by the folks at <a href="http://skillsmatter.com/">SkillsMatter</a>.</p>
	<p>When the SkillsMatter folks actually <em>checked</em> inside my brain and heard the rattling noise, they realised I would need some help, so <a href="http://lizkeogh.com/">Liz Keogh</a> &#8211; BDD pioneer and project lead for <a href="http://jbehave.org">JBehave</a> &#8211; will be co-presenting with me. (If you hold Liz up to your ear you can hear The Cure.)</p>
	<p>SkillsMatter is a fantastic training organisation that believes in creating and nurturing communities. This event kicks off a London BDD community, which is very exciting for me because it means there is a genuine momentum behind BDD as a movement. This is the first of a series of (mostly free) talks around BDD and automated testing taking place throughout the rest of the year.</p>
	<p>The event is free to attend and it takes place at <a href="http://skillsmatter.com/location-details/agile-testing/469/1">SkillsMatter&#8217;s London office</a> on Monday 17 August from 6:30 pm. I expect we&#8217;ll go for beer afterwards.</p>
	<p>Please <a href="http://skillsmatter.com/event/agile-testing/introduction-to-bdd">register online</a> so we know how many chairs to put out, and I look forward to seeing you there.</p>

 ]]></content:encoded>
			<wfw:commentRss>http://dannorth.net/2009/08/welcome-to-my-brain/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>RSpec book in beta</title>
		<link>http://dannorth.net/2009/04/rspec-book-in-beta</link>
		<comments>http://dannorth.net/2009/04/rspec-book-in-beta#comments</comments>
		<pubDate>Fri, 24 Apr 2009 09:36:15 +0000</pubDate>
		<dc:creator>Dan North</dc:creator>
				<category><![CDATA[BDD]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://dannorth.net/?p=101</guid>
		<description><![CDATA[	It&#8217;s finally happening &#8211; I&#8217;m writing a book! Well ok, the remarkable David Chelimsky is writing a book. It&#8217;s called Behaviour Driven Development with RSpec, Cucumber and Friends and myself and a few other folks are contributing in varying degrees. The book is already in beta, which means you can buy the PDF now from [...]]]></description>
			<content:encoded><![CDATA[	<p>It&#8217;s finally happening &#8211; I&#8217;m writing a book! Well ok, the remarkable <a href="http://blog.davidchelimsky.net/">David Chelimsky</a> is writing a book. It&#8217;s called <a href="http://www.pragprog.com/titles/achbd/the-rspec-book">Behaviour Driven Development with RSpec, Cucumber and Friends</a> and myself and a few other folks are contributing in varying degrees. The book is already in beta, which means you can buy the PDF now from the Pragmatic Press and you&#8217;ll get the print version as soon as it&#8217;s ready &#8211; and still get change out of $50, which can&#8217;t be bad.</p>
	<p>The folks at the Pragmatic Press have been brilliant &#8211; especially the ever-patient Jackie Carter &#8211; and my second chapter will hopefully be in the next beta (or if not, definitely the one after that). It&#8217;s also surprisingly satisfying to be writing in vim rather than Microsoft Word!</p>
	<p>Well, that&#8217;s enough for now. With any luck I&#8217;ll be back blogging a bit more frequently. Next up, learning about learning, thinking about thinking and why we are so crap at estimating.</p>

 ]]></content:encoded>
			<wfw:commentRss>http://dannorth.net/2009/04/rspec-book-in-beta/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Empty rooms</title>
		<link>http://dannorth.net/2007/10/empty-rooms</link>
		<comments>http://dannorth.net/2007/10/empty-rooms#comments</comments>
		<pubDate>Tue, 09 Oct 2007 21:10:21 +0000</pubDate>
		<dc:creator>Dan North</dc:creator>
				<category><![CDATA[BDD]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[events]]></category>

		<guid isPermaLink="false">http://dannorth.net/2007/10/empty-rooms</guid>
		<description><![CDATA[	It&#8217;s now about two weeks to OOPSLA, where Liz Keogh and I will be presenting a workshop on behaviour-driven development using JBehave. This will be along similar lines to the workshop I co-presented at RailsConf Europe last month.
	At RailsConf we presented to nearly 200 people, which was about a quarter of the conference attendees. At [...]]]></description>
			<content:encoded><![CDATA[	<p>It&#8217;s now about two weeks to <a href="http://www.oopsla.org/oopsla2007/">OOPSLA</a>, where <a href="http://sirenian.livejournal.com">Liz Keogh</a> and I will be presenting a workshop on behaviour-driven development using <a href="http://jbehave.org">JBehave</a>. This will be along similar lines to the workshop I co-presented at RailsConf Europe last month.</p>
	<p>At RailsConf we presented to nearly 200 people, which was about a quarter of the conference attendees. At JAOO last year <a href="http://niclasnilsson.se/">Niclas Nilsson</a> and I presented BDD to well over 100 people. So far at OOPSLA only a handful of people have signed up for the workshop. I&#8217;m curious. Is it that the people attending OOPSLA aren&#8217;t interested in behaviour-driven development? Is it JBehave? Is it that we haven&#8217;t marketed it very well? Is it simply the cost?</p>
	<p>RSpec, the ruby equivalent of JBehave, is comparatively much more popular. It has been embraced by the Rails crowd and by rubyists in general in a way that JBehave doesn&#8217;t seem to have been in java. Perhaps JUnit and JMock were already so pervasive in the agile java community that there wasn&#8217;t room for JBehave, or perhaps it wasn&#8217;t seen as different enough to be worth trying &#8211; its early incarnations were as just another TDD and mocking tool.</p>
	<p>Since I started writing JBehave back in 2003, BDD &#8211; and JBehave itself &#8211; has broadened in scope, covering user stories right the way through to tested, deployed code, and the OOPSLA workshop will explore this bigger picture. It will be of interest to anyone looking to understand behaviour-driven development, regardless of the technology stack or toolset you use.</p>
	<p>On a related theme, java is trailing behind <a href="http://rspec.rubyforge.org">ruby</a> and even <a href="http://www.codeplex.com/NBehave">C#</a> in terms of customer-friendly executable documentation. JBehave might just be the tool to follow through on the promise of <a href="http://fit.c2.com/">FIT</a>, to define executable acceptance criteria that can be authored by testers or analysts.</p>
	<p>So to anyone going to OOPSLA, if you aren&#8217;t coming to the BDD session I would be very keen to hear why so I can pitch it better next time. Is it that you aren&#8217;t using JBehave so you don&#8217;t think the session is relevant? Are you simply not interested in BDD? Is there too much other good stuff on at the same time? Or did you just not notice but now you have you&#8217;ll be signing up? I hope to see you in Canada!</p>

 ]]></content:encoded>
			<wfw:commentRss>http://dannorth.net/2007/10/empty-rooms/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Upcoming events</title>
		<link>http://dannorth.net/2007/09/upcoming-events</link>
		<comments>http://dannorth.net/2007/09/upcoming-events#comments</comments>
		<pubDate>Mon, 10 Sep 2007 21:48:54 +0000</pubDate>
		<dc:creator>Dan North</dc:creator>
				<category><![CDATA[BDD]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[coaching]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://dannorth.net/2007/09/upcoming-events</guid>
		<description><![CDATA[	So it&#8217;s that time of year again. I&#8217;ve got a number of conferences and workshops coming up, ranging over all sorts of topics. I just popped over to Martin Fowler&#8217;s site (I&#8217;m doing a talk with him this week) and noticed that he has a much more organised setup than me. All his events are [...]]]></description>
			<content:encoded><![CDATA[	<p>So it&#8217;s that time of year again. I&#8217;ve got a number of conferences and workshops coming up, ranging over all sorts of topics. I just popped over to <a href="http://martinfowler.com">Martin Fowler&#8217;s site</a> (I&#8217;m doing a talk with him this week) and noticed that he has a much more organised setup than me. All his events are in a sidebar and there is a handy link if you want more details. Another idea to go on my to-do pile.</p>
	<h3>ThoughtWorks Quarterly Technology Briefing</h3>
	<ul>
		<li><strong>Manchester &#8211; 12 September 2007</strong></li>
	</ul>
	<ul>
		<li><strong>London &#8211; 20 September 2007</strong>
	<p>This is the second instalment in ThoughtWorks series of informal sessions aimed at technologists across the spectrum. Although calling it a technology briefing is a bit inaccurate because the title for this one is &#8220;How to Sell Agile to your Organisation&#8221;, which has far more to do with the themes of people, risk and change than with anything technological.</p>
	<p>This is the talk I&#8217;ll be presenting with <a href="http://martinfowler.com/bliki/UpcomingTalks.html">Martin</a> so I can guarantee a lively session. In his own words: &#8220;As I detest selling anything to anyone it will be interesting to see how this talk works out.&#8221;</p>
	<p>Details and registration info are on the <a href="http://www.thoughtworks.co.uk/tech-briefing.html">ThoughtWorks website</a>.</p>
	<h3>RailsConf Europe</h3>
		<li><strong>Berlin &#8211; 17-19 September 2007</strong>
	<p>A lot of Ruby folk seem to have taken to <a href="http://behaviour-driven.org">behaviour-driven development</a>. This is almost entirely due to the success of the <a href="http://rspec.rubyforge.org">rspec</a> project, which is in turn due to the enthusiasm and dedication of its developers and the community they have established.</p>
	<p>A while back I wrote a story-level BDD framework for Ruby called <a href="/2007/06/introducing-rbehave">rbehave</a> which has since been integrated into the rspec project.</p>
	<p>I&#8217;ll be helping rspec project leads <a href="http://blog.davidchelimsky.net/">David Chelimsky</a> and <a href="http://blog.aslakhellesoy.com/">Aslak Hellesoy</a> present a workshop entitled <a href="http://tinyurl.com/3276ee">A half-day of behaviour-driven development on Rails</a>, where we&#8217;ll be demonstrating how rspec helps you write software that is focused on achieving an outcome. It&#8217;s at 8:30am on the Monday morning, so make sure you&#8217;re there first thing.</p>
	<h3>Expo-C Roadshow</h3>
		<li><strong>Växjö &#8211; 15-16 October 2007</strong></li>
	</ul>
	<ul>
		<li><strong>Karlskrona &#8211; 17-18 October 2007</strong>
	<p><a href="http://expo-c.se">Expo-C</a> is one of my favourite events. It&#8217;s a small conference in south-east Sweden and it seems to attract an audience that really cares about what they are doing. I&#8217;ve done two of them now, on very different topics, and on both occasions I was very impressed with the quality of the attendees and the calibre of the other speakers. (I&#8217;m usually the only one there who hasn&#8217;t written a book.)</p>
	<p>This time they are doing two mini-conferences back to back, in Växjö and then Karlskrona, with a tutorial day and a seminar day (six sessions) in each location. I&#8217;ll be running full-day tutorials on <a href="http://tinyurl.com/3bkmac#dan">BDD</a> in Växjö, and <a href="http://tinyurl.com/3xq8y8#dan">Coaching, Communication and Change</a> in Karlskrona. For the seminar I&#8217;ll be talking about bridging the communication gap, based on a keynote I gave with Martin Fowler at <a href="http://qcon.infoq.com/london-2007/keynotes/">QCon</a> earlier this year.</p>
	<p>I will also be learning how to pronounce &#8220;Växjö&#8221;.</p>
	<h3>OOPSLA</h3>
		<li><strong>Montreal &#8211; 21-25 October 2007</strong>
	<p>This will be my first <a href="http://www.oopsla.org/oopsla2007/">OOPSLA</a>. I&#8217;ve heard a lot about it and I&#8217;m a bit intimidated. By reputation it seems a bit more &#8220;cerebral&#8221; than most conferences. It will also be the first time I&#8217;ve ever presented <a href="http://jbehave.org">JBehave</a> at a conference. No mean feat considering I started writing it at the end of 2003! There&#8217;s perpetual beta for you.</p>
	<p>My co-presenter is my ThoughtWorks colleague, friend and cybergoth <a href="http://sirenian.livejournal.com/">Liz Keogh</a>, the person responsible for getting JBehave to 1.0. I have huge respect for Liz; she manages to combine software with poetry. This isn&#8217;t a pretentious metaphor &#8211; she actually does combine software with poetry. She ran a haiku workshop at a previous ThoughtWorks away day that many of the attendees nominated as the highlight of their day. She also writes <a href="http://sirenian.livejournal.com/39976.html">inspiring</a> and <a href="http://sirenian.livejournal.com/38028.html">inspired</a> blog articles.</p>
	<p>I&#8217;m only going because I want to see what Liz does when she&#8217;s let loose on a roomful of developers. I reckon we&#8217;ll end up writing haiku acceptance criteria.</p>
	<h3>And some others&#8230;</h3>
	<p>There are another couple of events in the pipeline that I will blog about nearer the time (January and February next year). After that I&#8217;m going to have a bit of a lie down.</p>
	<p><em>Correction: I got the dates wrong for OOPSLA. Thanks Joshua Graham for putting me straight.</em><br />
<em>Another correction: My Swedish geography is appalling. Thanks Morgan Persson.</em></p>


 ]]></content:encoded>
			<wfw:commentRss>http://dannorth.net/2007/09/upcoming-events/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Two flavours of BDD &#8211; or .net gets behaviour-driven</title>
		<link>http://dannorth.net/2007/06/two-flavours-of-bdd-or-net-gets-behaviour-driven</link>
		<comments>http://dannorth.net/2007/06/two-flavours-of-bdd-or-net-gets-behaviour-driven#comments</comments>
		<pubDate>Wed, 27 Jun 2007 18:16:11 +0000</pubDate>
		<dc:creator>Dan North</dc:creator>
				<category><![CDATA[BDD]]></category>

		<guid isPermaLink="false">http://dannorth.net/2007/06/two-flavours-of-bdd-or-net-gets-behaviour-driven</guid>
		<description><![CDATA[	How about that? You wait ages for a BDD framework in .net and then two come along at once! Ok, to be fair NSpec has been around for a while. However I&#8217;m talking about describing application behaviour in terms of stories and scenarios, to complement NSpec&#8217;s description of interactions between objects. (As a side note, [...]]]></description>
			<content:encoded><![CDATA[	<p>How about that? You wait ages for a BDD framework in .net and then two come along at once! Ok, to be fair <a href="http://nspec.tigris.org/">NSpec</a> has been around for a while. However I&#8217;m talking about describing application behaviour in terms of stories and scenarios, to complement NSpec&#8217;s description of interactions between objects. (As a side note, I would love to see NSpec adopt rspec&#8217;s <a href="http://blog.davidchelimsky.net/articles/2007/03/11/describe-it-with-rspec">describe/it vocabulary</a> rather than  using <em>contexts</em> and <em>specifications</em>.)</p>
	<h3>Introducing NBehave and, well, NBehave!</h3>
	<p><a href="http://www.morganpersson.net/">Morgan Persson</a> first spoke to me about writing a .net version of <a href="http://jbehave.org">JBehave</a> at the beginning of 2007<sup><a href="#fn19878343044ba276214e389">1</a></sup>, so I am delighted that he has just announced his first public release of <a href="http://nbehave.org">NBehave</a>. It mixes C# and VB.net in a lovely it&#8217;s-all-about-the-CLR way. So the examples are in C#, extending VB.net framework classes.</p>
	<p>In the meantime, <a href="http://www.agilejoe.com/">Joe Ocampo</a> has used some C#3 voodoo to create <a href="http://www.agilejoe.com/archive/2007/06/18/rbehave-with-nunit.aspx">something scarily similar to rbehave</a> for .net. He seemed to produce this in slightly less time than it took me to press &#8220;publish&#8221; in WordPress, and I have to say it looks great.</p>
	<h3>Two use cases for expressing intent</h3>
	<p>The original idea behind the JBehave story framework was that developers would write &#8220;pluggable&#8221; givens, events and outcomes to define the various scenarios that make up each story. Non-technical people would then manipulate these using desktop tools (say a graphical story builder where you drag the various components around to define your stories and scenarios).</p>
	<p>rbehave has a different motivation, namely moving from the textual representation of a story to an executable definition in as few steps as possible. This is to allow human beings &#8211; mainly testers and business analysts &#8211; to read, write and edit executable acceptance criteria.</p>
	<p><a href="http://sirenian.livejournal.com/">Liz Keogh</a> and I are currently preparing a JBehave tutorial for OOPSLA 2007. Since JBehave was based very much on the first use case, we&#8217;ve noticed it is pretty painful to pull together a story from a standing start, without a proliferation of tiny classes emerging. I&#8217;m working on a <a href="http://www.martinfowler.com/bliki/FluentInterface.html">fluent interface</a> that is currently looking a little like this:</p>
<code lang="java">
public Story story() {
    return newStory(&#8220;I can create a cell&#8221;)
        .asA(&#8220;game producer&#8221;)
        .iWant(&#8220;to create a cell&#8221;)
        .soThat(&#8220;I can show the grid to people&#8221;)
    .withScenarios(
        scenario(&#8220;Nothing to see here&#8221;,
            given(&#8220;a game with dimensions&#8221;, 3, 3),
            then(&#8220;the grid should look like&#8221;,
                    &#8221;...&#8221;,
                    &#8221;...&#8221;,
                    &#8221;...&#8221;)
        )
    );
}
</code>
	<p>It&#8217;s backed by the regular JBehave classes and runs in the standard JBehave story runner.</p>
	<p>I would love to see Morgan and Joe bring their two interpretations of acceptance-level BDD together into a single framework. It is after all just a bunch of scenario fragments playing nice together, and having the two approaches to expressing intent in the same framework means that NBehave could be both a directly-editable representation of behaviour, and at the same time the basis of a (graphical?) toolset for defining acceptance criteria in .net. Maybe even as a Visual Studio plugin.</p>
	<p id="fn19878343044ba276214e389"><sup>1</sup> Oops &#8211; I thought it was as long ago as 2006 but Morgan put me straight.</p>

 ]]></content:encoded>
			<wfw:commentRss>http://dannorth.net/2007/06/two-flavours-of-bdd-or-net-gets-behaviour-driven/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
