<?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>f3yourmind &#187; feedback</title>
	<atom:link href="http://aslamkhan.net/tag/feedback/feed/" rel="self" type="application/rss+xml" />
	<link>http://aslamkhan.net</link>
	<description>"There are no limits. There are only plateaus, and you must not stay there, you must go beyond them." - Bruce Lee</description>
	<lastBuildDate>Wed, 01 Sep 2010 22:25:14 +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>Testing is just a laborious pain in the rear</title>
		<link>http://aslamkhan.net/software-development/testing-is-just-a-laborious-pain-in-the-rear/</link>
		<comments>http://aslamkhan.net/software-development/testing-is-just-a-laborious-pain-in-the-rear/#comments</comments>
		<pubDate>Mon, 10 May 2010 12:33:57 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Architecture and Development]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/?p=334</guid>
		<description><![CDATA[I thoroughly enjoyed Karen Greave&#8217;s talk on Agile Testing.  She had just about 100% coverage (pun intended, groan).  Yet, testing is really a pain in the rear.  Testing is execution, and Karen was dead-on right, that automation is the path to follow.  Computers are very good at testing.  A computer does what it is programmed [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_337" class="wp-caption aligncenter" style="width: 510px"><a href="http://aslamkhan.net/wp-content/uploads/2010/05/testing.jpg"><img class="size-full wp-image-337" title="Testing" src="http://aslamkhan.net/wp-content/uploads/2010/05/testing.jpg" alt="" width="500" height="321" /></a><p class="wp-caption-text">No collaboration, no heroes!</p></div>
<p>I thoroughly enjoyed <a href="http://scrumcoaching.wordpress.com/">Karen Greave&#8217;s</a> talk on Agile Testing.  She had just about 100% coverage (pun intended, groan).  Yet, testing is really a pain in the rear.  Testing is execution, and Karen was dead-on right, that automation is the path to follow.  Computers are very good at testing.  A computer does what it is programmed to do, and it can test the way it was programmed to test.  It&#8217;s simple: if testing is your constraint, move that constraint away from testing by automating.</p>
<p>Now, you have to deal with the constraint that shifted to the next point: test authoring.  While testing (i.e. execution) is just a passive, laborious effort, test authoring is a very creative, active exercise.  It is actually an exercise in confirming a shared, common understanding.  <a href="http://en.wikipedia.org/wiki/Kristen_Nygaard">Kristin Nygard</a> said &#8220;To program is to understand&#8221; and test authoring is a programming exercise.  That&#8217;s why outside-in, behavior driven development style scenarios are actually tests, coded in a human language.  The act of authoring a scenario proves your understanding and the expected working of the software.</p>
<p>This is why I separate test execution (passive) from test authoring (active).  And Karen said that early feedback is good (right again), which is why I author my tests very early.  I&#8217;m extreme about this.  I test first.</p>
<div id="attachment_339" class="wp-caption aligncenter" style="width: 510px"><a href="http://aslamkhan.net/wp-content/uploads/2010/05/testing2.jpg"><img class="size-full wp-image-339" title="testing with automation" src="http://aslamkhan.net/wp-content/uploads/2010/05/testing2.jpg" alt="Automation leaves time for collaboration" width="500" height="379" /></a><p class="wp-caption-text">Automation creates time for collaboration</p></div>
<p style="text-align: center;">
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Faslamkhan.net%2Fsoftware-development%2Ftesting-is-just-a-laborious-pain-in-the-rear%2F&amp;linkname=Testing%20is%20just%20a%20laborious%20pain%20in%20the%20rear"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/software-development/testing-is-just-a-laborious-pain-in-the-rear/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Writing Specs is Writing Code is Designing</title>
		<link>http://aslamkhan.net/software-development/writing-specs-is-writing-code-is-designing/</link>
		<comments>http://aslamkhan.net/software-development/writing-specs-is-writing-code-is-designing/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 11:45:35 +0000</pubDate>
		<dc:creator>Aslam</dc:creator>
				<category><![CDATA[Architecture and Development]]></category>
		<category><![CDATA[adapt]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[balance]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://aslamkhan.net/?p=188</guid>
		<description><![CDATA[A team that I am coaching has settled on using BDD stories and scenarios for describing their requirements and specifications.  They&#8217;ve also chosen cucumber as their acceptance testing tool.  All well and good, but they are making very slow progress and seem to be really struggling with the change in workstyle.  I think I&#8217;ve spotted [...]]]></description>
			<content:encoded><![CDATA[<p>A team that I am coaching has settled on using <a href="http://dannorth.net/whats-in-a-story">BDD</a> stories and scenarios for describing their requirements and specifications.  They&#8217;ve also chosen <a href="http://wiki.github.com/aslakhellesoy/cucumber">cucumber</a> as their acceptance testing tool.  All well and good, but they are making very slow progress and seem to be really struggling with the change in workstyle.  I think I&#8217;ve spotted the reason for this.</p>
<p>The feedback loop is missing.  They view the stories as a spec that has been handed down.  And they have not made the connection that spec writing is design work that is intended to clearly illustrates concepts in a domain.  It is a form of writing code.  But it&#8217;s just that this code is, maybe, non-executable.</p>
<p>Here&#8217;s my workflow and how I close the loop.</p>
<ul>
<li>write story and scenario</li>
<li>Sketch a design if needed &#8211; helps when pairing to be on the same page.</li>
<li>Start writing test for scenario</li>
<li>ooops &#8230; test is getting complicated? stuck?</li>
<li>maybe the domain is not understood enough? Dig deeper, improve scenario, design (as needed) and continue writing test</li>
<li>or maybe the scenario was badly written? Ignore scenario structure, continue writing test.  Refactor scenario later.  We&#8217;re in deep discovery mode here.</li>
<li>get test to pass</li>
<li>refactor code</li>
<li>refactor scenario</li>
<li>&#8230; cycle the red-green-refactor until happy.</li>
</ul>
<p>Acknowledging when you&#8217;re in discovery mode and knowing that you are allowed to refactor requirements is the trick.  Nothing is cast in concrete.  That&#8217;s why I like frequent feedback loops with tight turning circles.</p>
<p>No feedback loop, no progress.</p>
<p>BTW, I really don&#8217;t like explaining such things as flow-charts and sequences.  You got to find your own style.  It&#8217;s not a recipe or rules thing.  The above is something that is about as close to what I do but it changes when the need arises.  That&#8217;s also another key feature of being agile &#8211; adapt or die in the waterfall.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Faslamkhan.net%2Fsoftware-development%2Fwriting-specs-is-writing-code-is-designing%2F&amp;linkname=Writing%20Specs%20is%20Writing%20Code%20is%20Designing"><img src="http://aslamkhan.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://aslamkhan.net/software-development/writing-specs-is-writing-code-is-designing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
