<?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>Gojko Adzic &#187; agile</title>
	<atom:link href="http://gojko.net/tag/agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://gojko.net</link>
	<description>Building software that matters</description>
	<lastBuildDate>Fri, 12 Mar 2010 07:59:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Are tools necessary for acceptance testing, or are they just evil?</title>
		<link>http://gojko.net/2010/03/01/are-tools-necessary-for-acceptance-testing-or-are-they-just-evil/</link>
		<comments>http://gojko.net/2010/03/01/are-tools-necessary-for-acceptance-testing-or-are-they-just-evil/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 08:05:47 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[acceptance testing]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[agile acceptance testing]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[fit]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=1633</guid>
		<description><![CDATA[While doing research for my new book, I was very surprised to find out that Jim Shore gave up on acceptance testing. I use his &#8220;describe-demonstrate-develop&#8221; process description all the time in my workshops, so I guess I better stop doing that. Jim Shore wrote:
My experience with Fit and other agile acceptance testing tools is [...]]]></description>
			<content:encoded><![CDATA[<p>While doing research for my new book, I was very surprised to find out that <a href="http://jamesshore.com">Jim Shore gave up on acceptance testing</a>. I use his <a href="http://jamesshore.com/Blog/How-I-Use-Fit.html">&#8220;describe-demonstrate-develop&#8221; process description</a> all the time in <a href="http://neuri.co.uk/training">my workshops</a>, so I guess I better stop doing that. Jim Shore <a href="http://jamesshore.com/Blog/The-Problems-With-Acceptance-Testing.html">wrote</a>:</p>
<blockquote><p>My experience with Fit and other agile acceptance testing tools is that they cost more than they&#8217;re worth. There&#8217;s a lot of value in getting concrete examples from real customers and business experts; not so much value in using &#8220;natural language&#8221; tools like Fit and similar.</p></blockquote>
<p>The two failure patterns that Shore describes in <a href="http://jamesshore.com/Blog/The-Problems-With-Acceptance-Testing.html">his post</a> are falling back on testers to write everything and merging acceptance and integration tests. I&#8217;ve experienced both of these myself, and it seems that they are common in general. We discussed both during the <a href="http://gojko.net/2009/09/24/top-10-reasons-why-teams-fail-with-acceptance-testing/">top 10 ways to fail with acceptance testing</a> openspace session at <a href="/tag/citcon">CITCON</a>  Europe last year. However, there are good ways to solve both problems. <span id="more-1633"></span></p>
<p>I never really expected customers to write anything themselves, but I was relatively successful in persuading them to participate in <a href="http://www.acceptancetesting.info/key-ideas/specification-workshop">specification workshops</a> that led to examples which were then converted to acceptance tests later. Another idea I discovered while doing the research for my new book is discussing the key examples with customers and then going off to write detailed test pages, which then get verified by the customers. The third good idea is doing ad-hoc specification writing sessions when a developer needs information, by involving a tester and a business analyst. This is a lot less formal than a specification workshop and gives you similar benefits if you have all the knowledge in the room (or readily available) most of the time. </p>
<p>Not preserving acceptance tests as a separate group and mixing quick and slow tests is something that most people, at least according to my ongoing research, get burned with at some point but again teams learn from that and improve.</p>
<p>One of the biggest benefits from acceptance testing for me was that the teams finally get a source of information on what goes on in the system as reliable as the code itself. Without acceptance tests, code is the only thing you can really trust and any other documentation gets outdated very quickly. And such tests are much easier to read and understand than the code because they are on a higher level and in a natural language. Having a <a href="http://www.acceptancetesting.info/key-ideas/live-documentation">live specification</a> helps me quite a lot when change requests come in later. It also helps with handing over and taking over code. Acceptance tests stay relevant throughout the project because they are automated, and automated tests are kept up to date in order for them to pass. Automation, and consequently a tool, are necessary to get this benefit. With informal agreements and on-site reviews that Jim Shore describes, I guess something else needs to be in place to facilitate this. </p>
<p>I agree with Shore that it takes a while for the problems with tools such as FIT to surface, but I&#8217;m not sure whether that is tool related or not. Most people I spoke to so far said that it took them between six months and a year to discover that acceptance testing isn&#8217;t about the tools but about communication, and that the biggest benefit is in the examples as Shore wrote. A notable exception to six months to a year rule was <a href="http://lisacrispin.com/wordpress/">Lisa Crispin</a>&#8217;s team who generally started out knowing what they need (but that&#8217;s because she had done it before). Clear examples and improved communication are the biggest benefits of the process, but using a tool brings some additional nice benefits as well. A tool gives us an impartial measure of progress. <a href="http://codebetter.com/blogs/ian_cooper/">Ian Cooper</a> said during the interview for my new book that &#8220;the tool keeps developers honest&#8221;, and I can certainly relate to that. With tests that are evaluated by an impartial tool, &#8220;done&#8221; is really &#8220;what everyone agreed on&#8221;, not &#8220;almost done with just a few things to fill in tomorrow&#8221;. I&#8217;m not sure whether an on-site review is enough to guard against this completely.</p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2010/03/01/are-tools-necessary-for-acceptance-testing-or-are-they-just-evil/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Next agile testing UG in London: Cucumber on February 4th</title>
		<link>http://gojko.net/2010/01/08/next-agile-testing-ug-in-london-cucumber-on-february-4th/</link>
		<comments>http://gojko.net/2010/01/08/next-agile-testing-ug-in-london-cucumber-on-february-4th/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 20:18:29 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[agile testing]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[skillsmatter]]></category>

		<guid isPermaLink="false">http://gojko.net/2010/01/08/next-agile-testing-ug-in-london-cucumber-on-february-4th/</guid>
		<description><![CDATA[Next agile testing user group evening in London will be on the 4th February, at the new Skills Matter offices. 
I&#8217;ll be presenting  Cucumber a tool for behaviour-driven development and agile acceptance testing. I will demonstrate how to use Cucumber for Java, .NET and Ruby applications, talk about new Cucumber features and best practices [...]]]></description>
			<content:encoded><![CDATA[<p>Next agile testing user group evening in London will be on the 4th February, at the new Skills Matter offices. </p>
<p>I&#8217;ll be presenting  <a href="http://cukes.info">Cucumber</a> a tool for behaviour-driven development and agile acceptance testing. I will demonstrate how to use Cucumber for Java, .NET and Ruby applications, talk about new Cucumber features and best practices for writing and maintaining Cucumber scenarios.</p>
<p>The event is free, but up-front registration is required for capacity planning. For more information and to register <a href="http://skillsmatter.com/event/agile-testing/using-cucumber-for-bdd-and-agile-acceptance-testing">click here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2010/01/08/next-agile-testing-ug-in-london-cucumber-on-february-4th/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to effectively define a sufficient set of BDD scenarios/Acceptance tests?</title>
		<link>http://gojko.net/2010/01/06/how-to-effectively-define-a-sufficient-set-of-bdd-scenariosacceptance-tests/</link>
		<comments>http://gojko.net/2010/01/06/how-to-effectively-define-a-sufficient-set-of-bdd-scenariosacceptance-tests/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 07:31:49 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[acceptance testing]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[atdd]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[fitnesse]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=1557</guid>
		<description><![CDATA[I got this question from a reader today:

How would you effectively define a sufficient set of If-When-Then scenarios to test for correctness what is potentially an extremely large set of transformations?


BDD scenarios (and agile acceptance tests in general) are not about full regression testing &#8211; they work best as a set of examples that demonstrate [...]]]></description>
			<content:encoded><![CDATA[<p>I got this question from a reader today:</p>
<blockquote><p>
How would you effectively define a sufficient set of If-When-Then scenarios to test for correctness what is potentially an extremely large set of transformations?
</p></blockquote>
<p><span id="more-1557"></span></p>
<p>BDD scenarios (and agile acceptance tests in general) are not about full regression testing &#8211; they work best as a set of <a href="http://www.acceptancetesting.info/key-ideas/executable-specifications">examples that demonstrate business rules which need to be developed</a>, and as the software matures become <a href="http://www.acceptancetesting.info/key-ideas/live-documentation">live documentation</a> of what the system does. So they typically should contain:</p>
<ul>
<li>A representative example demonstrating each important aspect of a business rule. Business users, analysts or customers will typically lead defining these.</li>
<li>An example demonstrating each important technical edge case (technical boundary conditions) developers will typically suggest cases here. Business users, analysts or customers will define the correct expected behaviour.</li>
<li>An example demonstrating each particularly troublesome area of the expected implementation (such as cases that caused bugs in the past, boundary conditions that might not be explicitly demonstrated by previous examples etc). Testers will typically suggest these and business users, analysts or customers will define the correct behaviour.</li>
</ul>
<p>I would start by asking business users to define important examples, then developers and testers to comment on these examples and suggest important conditions and cases not covered by existing examples. I would do this in a <a href="http://www.acceptancetesting.info/key-ideas/specification-workshop">specification workshop</a> to allow everyone to benefit from a discussion and build a shared understanding of the problem. At the point where everyone is happy that they have enough information to work, we have enough examples. Then I would capture the examples discussed during the workshop, identify potential duplicates, remove information not directly related to the business rules for the cases and formalise them as acceptance tests/BDD scenarios.</p>
<p>This is not to say that additional examples cannot be added later to provide a more complete functional regression check. This can even be automated using the same scenario step format and automation tools and helpers as the other examples. But I like to keep the two separate so that there is a small and focused specification that can be easily read and understood later, when things change. When using tools such as FitNesse, you can link the two sets of examples with an &#8220;For Additional  Examples, See &#8230;&#8221; link to point people to a full regression set later. Having them separate also allows you to quickly run the entire specification and get faster feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2010/01/06/how-to-effectively-define-a-sufficient-set-of-bdd-scenariosacceptance-tests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All stories are created equal</title>
		<link>http://gojko.net/2009/12/18/all-stories-are-created-equal/</link>
		<comments>http://gojko.net/2009/12/18/all-stories-are-created-equal/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 10:24:37 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[agiletestingx]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[dan north]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=1502</guid>
		<description><![CDATA[At the Agile Specification, BDD and Testing Exchange last month in London, Dan North spoke about selling behaviour driven development to the business. He put forward a relatively controversial idea on estimation: treat all stories as equal. Estimate each story as size 1 and just be done with it. Although this idea might seem overly [...]]]></description>
			<content:encoded><![CDATA[<p>At the <a href='http://skillsmatter.com/podcast/agile-testing/how-to-sell-bdd-to-the-business'>Agile Specification, BDD and Testing Exchange</a> last month in London, <a href='http://dannorth.net/'>Dan North</a> spoke about selling behaviour driven development to the business. He put forward a relatively controversial idea on estimation: treat all stories as equal. Estimate each story as size 1 and just be done with it. Although this idea might seem overly simplistic, I find it really appealing. <span id="more-1502"></span></p>
<p>Story estimation is one of those things where the process of doing it is more important than the output. Planning poker is a very effective technique to discover differences in understanding. However, BDD achieves the same by getting an agreement on scenarios. Specification workshops go much further than planning poker in building a shared understanding of the tasks at hand and definition of done. Teams that practice BDD or agile acceptance testing could skip planning poker if only there was some other effective way to get a sensible feel of how long a project phase will take. That&#8217;s why I find Dan&#8217;s idea so appealing.</p>
<p>On a decent-size project, the estimates will average out anyway. Treating all stories as medium size and figuring out how long a medium story will take will not be any less accurate than doing more detailed estimates and adding them up. It will, however, save quite a lot of time. </p>
<p>As a nice side effect, this should also produce a better breakdown of stories. Any story that obviously stands out by complexity will have to be broken down into smaller pieces, as we are not allowed to give it a higher valuation. Evenly-sized stories make it easier to establish a constant pace of delivery.</p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2009/12/18/all-stories-are-created-equal/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Is Concordion good for testers?</title>
		<link>http://gojko.net/2009/12/16/is-concordion-good-for-testers/</link>
		<comments>http://gojko.net/2009/12/16/is-concordion-good-for-testers/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 19:16:20 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[acceptance testing]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[concordion]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=1499</guid>
		<description><![CDATA[I got this question today from a blog reader:

They are thinking about using Concordion here. I remember you made some comments about using it. Can it be used sensibly by a tester without lots of dev experience?

Concordion is a great tool for acceptance testing as support for development. Whether it can be used sensibly by [...]]]></description>
			<content:encoded><![CDATA[<p>I got this question today from a blog reader:</p>
<blockquote><p>
They are thinking about using Concordion here. I remember you made some comments about using it. Can it be used sensibly by a tester without lots of dev experience?
</p></blockquote>
<p>Concordion is a great tool for acceptance testing as support for development. Whether it can be used sensibly by a tester without lots of development experience, that depends on what the intended use is. Concordion tests/results are HTML files, so anyone can read them using a browser. I&#8217;ve never tried to write Concordion tests using Word or anything similar, only by hand-coding HTML, so I don&#8217;t know whether tests can be maintained with a visual tool. However, anyone with basic HTML knowledge should be able to write tests as well. In terms of running the tests, Concordion runs within JUnit/NUnit, so this should be fairly simple as well.</p>
<p>Concordion does not have a test management tool and intentionally doesn&#8217;t allow you to reuse or share automation components, so it requires a fair bit of cooperation between developers and testers. I think this is very good for tests that support development, but it might be a problem for retro-fitting regression test packs into an existing product if testers are expected to do the bulk of work.</p>
<p>I wrote a <a href="http://gojko.net/2008/08/25/concordion-agile-acceptance-testing-with-free-form-text/">review of concordion last year</a>, which will give you a bit more detail on how it works. I also have a <a href="http://gojko.net/2009/09/01/acceptance-testing-in-plain-english-with-concordion-net/<br />
">short video about it</a> (.NET oriented but still a good introduction to capabilities):</p>
<p>David Peterson, the author of Concordion, spoke about it at the agile acceptance testing tools round-up event, and that <a href="http://gojko.net/2009/06/04/agile-acceptance-testing-tools-roundup-videos/<br />
">video is also online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2009/12/16/is-concordion-good-for-testers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
