<?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: Imperative vs Declarative Scenarios in User Stories</title>
	<atom:link href="http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/</link>
	<description></description>
	<lastBuildDate>Tue, 09 Mar 2010 03:47:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: How we roll at Intent Media &#171; One of the Wolves</title>
		<link>http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/comment-page-1/#comment-3365</link>
		<dc:creator>How we roll at Intent Media &#171; One of the Wolves</dc:creator>
		<pubDate>Sat, 09 Jan 2010 03:03:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.benmabey.com/?p=19#comment-3365</guid>
		<description>[...] decision of where to put the imlpicit state (no link, unfortunately), as well as whether to write declarative or imperitive step definitions. But it&#039;s all up to you. So far we&#039;ve had success, and I&#039;d recommend following Kurt&#039;s blog for more [...]</description>
		<content:encoded><![CDATA[<p>[...] decision of where to put the imlpicit state (no link, unfortunately), as well as whether to write declarative or imperitive step definitions. But it&#39;s all up to you. So far we&#39;ve had success, and I&#39;d recommend following Kurt&#39;s blog for more [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joseph Wilk &#187; Metrics for Plain Text Acceptance Tests</title>
		<link>http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/comment-page-1/#comment-3311</link>
		<dc:creator>Joseph Wilk &#187; Metrics for Plain Text Acceptance Tests</dc:creator>
		<pubDate>Fri, 20 Nov 2009 09:33:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.benmabey.com/?p=19#comment-3311</guid>
		<description>[...] Very long scenarios may reflect more abstraction should be used to help make the scenarios easier to read (See declarative vs imperative scenarios: http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/) [...]</description>
		<content:encoded><![CDATA[<p>[...] Very long scenarios may reflect more abstraction should be used to help make the scenarios easier to read (See declarative vs imperative scenarios: <a href="http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/)" rel="nofollow">http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/)</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Mabey</title>
		<link>http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/comment-page-1/#comment-2834</link>
		<dc:creator>Ben Mabey</dc:creator>
		<pubDate>Thu, 13 Aug 2009 15:48:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.benmabey.com/?p=19#comment-2834</guid>
		<description>Hey Jørgen,
That is a good idea.  I&#039;ve actually thought of doing something like that with Cucumber.  Basically, you could have a formatter that would take into account any nested steps and output them (indented) under the more declarative parent step.  I think this could be helpful for some teams.</description>
		<content:encoded><![CDATA[<p>Hey Jørgen,<br />
That is a good idea.  I&#8217;ve actually thought of doing something like that with Cucumber.  Basically, you could have a formatter that would take into account any nested steps and output them (indented) under the more declarative parent step.  I think this could be helpful for some teams.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jørgen Braseth</title>
		<link>http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/comment-page-1/#comment-2830</link>
		<dc:creator>Jørgen Braseth</dc:creator>
		<pubDate>Thu, 13 Aug 2009 10:41:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.benmabey.com/?p=19#comment-2830</guid>
		<description>In my opinion, the difference between steps and scenarios is really an artificial one.
What I would have liked to see is a UI that let me read a scenario written &quot;declaratively&quot; and expand on certain parts of the text if i wanted to read it more &quot;imperatively&quot;.
e.g. if i wanted to read the following:
&lt;code&gt;
When I add a new animal
&lt;/code&gt;
On a finer detail-level, i should be able to drill down on this part of the scenario and be able to read:
&lt;code&gt;
 When I fill in Name with &#039;Alligator&#039;  
   And select Phylum as &#039;Chordata&#039;  
   And fill in Animal Class with &#039;Sauropsida&#039;  
   And fill in Order with &#039;Crocodilia&#039;  
   And fill in Family with &#039;Alligatoridae&#039;  
   And fill in Genus with &#039;Alligator&#039;  
   And check Lay Eggs  
   And click the Create button  
&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>In my opinion, the difference between steps and scenarios is really an artificial one.<br />
What I would have liked to see is a UI that let me read a scenario written &#8220;declaratively&#8221; and expand on certain parts of the text if i wanted to read it more &#8220;imperatively&#8221;.<br />
e.g. if i wanted to read the following:<br />
<code><br />
When I add a new animal<br />
</code><br />
On a finer detail-level, i should be able to drill down on this part of the scenario and be able to read:<br />
<code><br />
 When I fill in Name with 'Alligator'<br />
   And select Phylum as 'Chordata'<br />
   And fill in Animal Class with 'Sauropsida'<br />
   And fill in Order with 'Crocodilia'<br />
   And fill in Family with 'Alligatoridae'<br />
   And fill in Genus with 'Alligator'<br />
   And check Lay Eggs<br />
   And click the Create button<br />
</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Dodwell</title>
		<link>http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/comment-page-1/#comment-2547</link>
		<dc:creator>Mark Dodwell</dc:creator>
		<pubDate>Thu, 07 May 2009 06:10:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.benmabey.com/?p=19#comment-2547</guid>
		<description>I use cucumber for acceptance testing on projects for which &lt;b&gt;I am&lt;/b&gt; the client, and I tend to use the &quot;Imperative&quot; style for writing features.

The reason is that although it makes the scenarios more brittle, using the &quot;Declarative&quot; approach just moves the brittleness to the step definitions. So the brittleness overall is really the same, just in a different place. Therefore the declarative approach just adds extra work for no gain.

When I have an external, non-technical party as the client, then this extra work is justified -- moving the brittleness down one layer away from the user, from the scenarios into the steps.</description>
		<content:encoded><![CDATA[<p>I use cucumber for acceptance testing on projects for which <b>I am</b> the client, and I tend to use the &#8220;Imperative&#8221; style for writing features.</p>
<p>The reason is that although it makes the scenarios more brittle, using the &#8220;Declarative&#8221; approach just moves the brittleness to the step definitions. So the brittleness overall is really the same, just in a different place. Therefore the declarative approach just adds extra work for no gain.</p>
<p>When I have an external, non-technical party as the client, then this extra work is justified &#8212; moving the brittleness down one layer away from the user, from the scenarios into the steps.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leveraging Test Data Builders in Cucumber Steps &#8226; Blog Archive &#8226; ben.send :blog</title>
		<link>http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/comment-page-1/#comment-1712</link>
		<dc:creator>Leveraging Test Data Builders in Cucumber Steps &#8226; Blog Archive &#8226; ben.send :blog</dc:creator>
		<pubDate>Thu, 05 Feb 2009 22:34:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.benmabey.com/?p=19#comment-1712</guid>
		<description>[...] the balance between writing declarative scenarios and step reuse in Cucumber can be tricky at times. I have found leveraging a Test Data [...]</description>
		<content:encoded><![CDATA[<p>[...] the balance between writing declarative scenarios and step reuse in Cucumber can be tricky at times. I have found leveraging a Test Data [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Testing with the help of machinist, forgery, cucumber, webrat and rspec &#124; IT.Signals</title>
		<link>http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/comment-page-1/#comment-1298</link>
		<dc:creator>Testing with the help of machinist, forgery, cucumber, webrat and rspec &#124; IT.Signals</dc:creator>
		<pubDate>Wed, 07 Jan 2009 08:27:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.benmabey.com/?p=19#comment-1298</guid>
		<description>[...] &quot;Imperative&quot; and &quot;Declarative&quot; which is described in detail in the article Imperative vs Declarative Scenarios in User Stories written by Ben Mabey. As an example if I was to rewrite the previous step using the Imperative [...]</description>
		<content:encoded><![CDATA[<p>[...] &quot;Imperative&quot; and &quot;Declarative&quot; which is described in detail in the article Imperative vs Declarative Scenarios in User Stories written by Ben Mabey. As an example if I was to rewrite the previous step using the Imperative [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Mabey</title>
		<link>http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/comment-page-1/#comment-1284</link>
		<dc:creator>Ben Mabey</dc:creator>
		<pubDate>Mon, 01 Dec 2008 17:17:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.benmabey.com/?p=19#comment-1284</guid>
		<description>Adam, you&#039;re right on.  A lot of my stories (cucumber features) now have both styles mixed.  I think the &quot;right&quot; mix of the two is different per project and even per problem.</description>
		<content:encoded><![CDATA[<p>Adam, you&#8217;re right on.  A lot of my stories (cucumber features) now have both styles mixed.  I think the &#8220;right&#8221; mix of the two is different per project and even per problem.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam</title>
		<link>http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/comment-page-1/#comment-1283</link>
		<dc:creator>Adam</dc:creator>
		<pubDate>Mon, 01 Dec 2008 05:23:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.benmabey.com/?p=19#comment-1283</guid>
		<description>I know that you mentioned both declarative and imperative are useful in their own contexts, but I just want to add that the best products tend to focus on both types of use-cases. In other words, it is always the little things that make a product great and set it apart from all the other functionally comparable products. Of course, this is usually the client&#039;s prerogative, not the developers. Thanks for the great post!</description>
		<content:encoded><![CDATA[<p>I know that you mentioned both declarative and imperative are useful in their own contexts, but I just want to add that the best products tend to focus on both types of use-cases. In other words, it is always the little things that make a product great and set it apart from all the other functionally comparable products. Of course, this is usually the client&#8217;s prerogative, not the developers. Thanks for the great post!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Mabey</title>
		<link>http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/comment-page-1/#comment-265</link>
		<dc:creator>Ben Mabey</dc:creator>
		<pubDate>Thu, 22 May 2008 03:34:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.benmabey.com/?p=19#comment-265</guid>
		<description>Very true.  In the end the declarative approach gives you a lot more flexibility because you can swap out your matchers... So you could have a set that uses webrat or a set that uses selenium, or one that uses the objects directly, etc...</description>
		<content:encoded><![CDATA[<p>Very true.  In the end the declarative approach gives you a lot more flexibility because you can swap out your matchers&#8230; So you could have a set that uses webrat or a set that uses selenium, or one that uses the objects directly, etc&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
