<?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>Transient Technology &#187; scrum</title>
	<atom:link href="http://martinaharris.com/tag/scrum/feed/" rel="self" type="application/rss+xml" />
	<link>http://martinaharris.com</link>
	<description>Next time you look it might be gone</description>
	<lastBuildDate>Wed, 25 Apr 2012 09:52:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Culture and Agile Adoption</title>
		<link>http://martinaharris.com/2012/01/culture-and-agile-adoption/</link>
		<comments>http://martinaharris.com/2012/01/culture-and-agile-adoption/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 21:04:15 +0000</pubDate>
		<dc:creator>Martin Harris</dc:creator>
				<category><![CDATA[scrum and agile]]></category>
		<category><![CDATA[adoption]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[culture]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://martinaharris.com/?p=1097</guid>
		<description><![CDATA[More and more I have been thinking about the effect of culture on Agile adoption. Then a friend tweeted this article on Agile Culture by Michael Sahota. Its a real eye opener and one key message is that it might &#8230; <a href="http://martinaharris.com/2012/01/culture-and-agile-adoption/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_1098" class="wp-caption alignleft" style="width: 160px"><img class="size-thumbnail wp-image-1098" title="punchnjudy-beachhut" src="http://martinaharris.com/wp-content/uploads/2012/01/punchnjudy-beachhut-150x150.jpg" alt="Its a Punch and Judy Show" width="150" height="150" /><p class="wp-caption-text">Beach Hut - By Martin Harris</p></div>
<p>More and more I have been thinking about the effect of culture on Agile adoption. Then a friend tweeted this article on <a title="Agile Culture" href="http://www.methodsandtools.com/archive/agileculture.php">Agile Culture</a> by Michael Sahota. Its a real eye opener and one key message is that it might be quicker to fit your process to the culture rather than the other way around.</p>
<p>There is some evidence to suggest that trying to introduce and Agile Development system into a culture that won&#8217;t naturally accept it is a recipe for failure.</p>
<p>For me its more complex that this. I am not 100% sure I am anywhere near a solution but these thoughts arise.</p>
<p><strong>Evolution v Revolution and mandate</strong><br />
Without going into the detail which can be <a href="http://www.itworldcanada.com/news/winds-of-change-evolution-vs-revolution-/121466">found on other posts</a> the cultural fit is probably more important if you can&#8217;t change the culture. Most of the time we are somewhat restricted by our mandate. Its rare that someone senior wants this bad enough that they are prepared for the risk of revolutionary change.</p>
<p>If you were about to move in that direction, perhaps you can change the culture to fit. This path is also easier if your scope is small. i.e. if your dealing with a small group of people and not a multinational.</p>
<p>Otherwise perhaps initially selection of technique and Agile process should be culture driven.</p>
<p><strong>The Kanban / Control argument</strong><br />
Its interesting to see Michael point out that Kanban is not Agile. At least by cultural definition. It occurred to me also that successful open source cultures might not be Agile either, they seem to fall into the &#8220;Craftsmanship&#8221; section.</p>
<p>Yet, were you to take a controlling culture and conduct Kanban with XP practices might it not over a long period of time begin to change. Perhaps towards craftsmanship as an appreciation of quality evolves?</p>
<p><strong>So what now then Agile Coaches and CTO&#8217;s?</strong><br />
Well I for one have found the diagrams very useful. Just an awareness of this idea helps bring people to a higher view of what might be going on in their Agile Adoption process and that is no bad thing. Its too easy to get wrapped up in the daily Punch and Judy show forgetting about the bigger picture.</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2012%2F01%2Fculture-and-agile-adoption%2F&amp;title=Culture+and+Agile+Adoption" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2012%2F01%2Fculture-and-agile-adoption%2F&amp;title=Culture+and+Agile+Adoption" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2012%2F01%2Fculture-and-agile-adoption%2F&amp;title=Culture+and+Agile+Adoption" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fmartinaharris.com%2F2012%2F01%2Fculture-and-agile-adoption%2F&amp;headline=Culture+and+Agile+Adoption" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Culture+and+Agile+Adoption&amp;url=http%3A%2F%2Fmartinaharris.com%2F2012%2F01%2Fculture-and-agile-adoption%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Culture+and+Agile+Adoption&amp;u=http%3A%2F%2Fmartinaharris.com%2F2012%2F01%2Fculture-and-agile-adoption%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Culture+and+Agile+Adoption&amp;url=http%3A%2F%2Fmartinaharris.com%2F2012%2F01%2Fculture-and-agile-adoption%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Culture+and+Agile+Adoption&amp;url=http%3A%2F%2Fmartinaharris.com%2F2012%2F01%2Fculture-and-agile-adoption%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Culture+and+Agile+Adoption&amp;url=http%3A%2F%2Fmartinaharris.com%2F2012%2F01%2Fculture-and-agile-adoption%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmartinaharris.com%2F2012%2F01%2Fculture-and-agile-adoption%2F&amp;title=Culture+and+Agile+Adoption&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fmartinaharris.com%2F2012%2F01%2Fculture-and-agile-adoption%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fmartinaharris.com%2F2012%2F01%2Fculture-and-agile-adoption%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fmartinaharris.com%2F2012%2F01%2Fculture-and-agile-adoption%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="dzone_button" style="float: right; margin-left: 5px;">
<script type="text/javascript">
var dzone_url = 'http://martinaharris.com/2012/01/culture-and-agile-adoption/';
var dzone_title = 'Culture and Agile Adoption';
var dzone_blurb = '';
var dzone_style = '2';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>]]></content:encoded>
			<wfw:commentRss>http://martinaharris.com/2012/01/culture-and-agile-adoption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>InfoQ: Chet Hendrickson on the Need for Good Technical Practices</title>
		<link>http://martinaharris.com/2011/11/infoq-chet-hendrickson-on-the-need-for-good-technical-practices/</link>
		<comments>http://martinaharris.com/2011/11/infoq-chet-hendrickson-on-the-need-for-good-technical-practices/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 23:12:44 +0000</pubDate>
		<dc:creator>Martin Harris</dc:creator>
				<category><![CDATA[scrum and agile]]></category>
		<category><![CDATA[change]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://martinaharris.com/?p=1093</guid>
		<description><![CDATA[Excellent interview that parallels some of my experiences. InfoQ: Chet Hendrickson on the Need for Good Technical Practices.]]></description>
			<content:encoded><![CDATA[<p>Excellent interview that parallels some of my experiences. </p>
<p><a href="http://www.infoq.com/interviews/chet-hendrickson-good-technical-practices#.Tta2Gkizdk0.wordpress">InfoQ: Chet Hendrickson on the Need for Good Technical Practices</a>.</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2011%2F11%2Finfoq-chet-hendrickson-on-the-need-for-good-technical-practices%2F&amp;title=InfoQ%3A+Chet+Hendrickson+on+the+Need+for+Good+Technical+Practices" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2011%2F11%2Finfoq-chet-hendrickson-on-the-need-for-good-technical-practices%2F&amp;title=InfoQ%3A+Chet+Hendrickson+on+the+Need+for+Good+Technical+Practices" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2011%2F11%2Finfoq-chet-hendrickson-on-the-need-for-good-technical-practices%2F&amp;title=InfoQ%3A+Chet+Hendrickson+on+the+Need+for+Good+Technical+Practices" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fmartinaharris.com%2F2011%2F11%2Finfoq-chet-hendrickson-on-the-need-for-good-technical-practices%2F&amp;headline=InfoQ%3A+Chet+Hendrickson+on+the+Need+for+Good+Technical+Practices" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=InfoQ%3A+Chet+Hendrickson+on+the+Need+for+Good+Technical+Practices&amp;url=http%3A%2F%2Fmartinaharris.com%2F2011%2F11%2Finfoq-chet-hendrickson-on-the-need-for-good-technical-practices%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=InfoQ%3A+Chet+Hendrickson+on+the+Need+for+Good+Technical+Practices&amp;u=http%3A%2F%2Fmartinaharris.com%2F2011%2F11%2Finfoq-chet-hendrickson-on-the-need-for-good-technical-practices%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=InfoQ%3A+Chet+Hendrickson+on+the+Need+for+Good+Technical+Practices&amp;url=http%3A%2F%2Fmartinaharris.com%2F2011%2F11%2Finfoq-chet-hendrickson-on-the-need-for-good-technical-practices%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=InfoQ%3A+Chet+Hendrickson+on+the+Need+for+Good+Technical+Practices&amp;url=http%3A%2F%2Fmartinaharris.com%2F2011%2F11%2Finfoq-chet-hendrickson-on-the-need-for-good-technical-practices%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=InfoQ%3A+Chet+Hendrickson+on+the+Need+for+Good+Technical+Practices&amp;url=http%3A%2F%2Fmartinaharris.com%2F2011%2F11%2Finfoq-chet-hendrickson-on-the-need-for-good-technical-practices%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmartinaharris.com%2F2011%2F11%2Finfoq-chet-hendrickson-on-the-need-for-good-technical-practices%2F&amp;title=InfoQ%3A+Chet+Hendrickson+on+the+Need+for+Good+Technical+Practices&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fmartinaharris.com%2F2011%2F11%2Finfoq-chet-hendrickson-on-the-need-for-good-technical-practices%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fmartinaharris.com%2F2011%2F11%2Finfoq-chet-hendrickson-on-the-need-for-good-technical-practices%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fmartinaharris.com%2F2011%2F11%2Finfoq-chet-hendrickson-on-the-need-for-good-technical-practices%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="dzone_button" style="float: right; margin-left: 5px;">
<script type="text/javascript">
var dzone_url = 'http://martinaharris.com/2011/11/infoq-chet-hendrickson-on-the-need-for-good-technical-practices/';
var dzone_title = 'InfoQ: Chet Hendrickson on the Need for Good Technical Practices';
var dzone_blurb = '';
var dzone_style = '2';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>]]></content:encoded>
			<wfw:commentRss>http://martinaharris.com/2011/11/infoq-chet-hendrickson-on-the-need-for-good-technical-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tumble dried BDD from Studio Pragmatists</title>
		<link>http://martinaharris.com/2010/05/tumble-dried-bdd/</link>
		<comments>http://martinaharris.com/2010/05/tumble-dried-bdd/#comments</comments>
		<pubDate>Fri, 21 May 2010 22:02:32 +0000</pubDate>
		<dc:creator>Martin Harris</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[scrum and agile]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[annotation]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[behavior]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[junit]]></category>
		<category><![CDATA[product-owner]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[spring]]></category>
		<category><![CDATA[teams]]></category>
		<category><![CDATA[test-specialist]]></category>

		<guid isPermaLink="false">http://martinaharris.com/?p=1027</guid>
		<description><![CDATA[On the 18th of May, 2010, the very new tumbler-glass project by Studio Pragmatists uploaded Tumbler 0.2.1 to Maven.  Having recently written about JBehave I found myself really liking the concept of behavior driven development.  So I decided to write &#8230; <a href="http://martinaharris.com/2010/05/tumble-dried-bdd/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On the 18th of May, 2010, the very new tumbler-glass project by <a title="Studio Pragmatists Blog" href="http://studiopragmatists.blogspot.com/" target="_blank">Studio Pragmatists</a> uploaded Tumbler 0.2.1 to Maven.  Having recently written about <a title="JBehave article" href="/2010/05/bad-or-good-bdd-within-scrum/" target="_blank">JBehave</a> I found myself really liking the concept of behavior driven development.  So I decided to write a similar article about Tumbler.  If you want the project code its available in my <a title="Testing Project" href="http://github.com/mhgit/TerribleJavaTestingMadeGood" target="_blank">example project</a>.</p>
<h2>4 hour time box in 20 minutes!</h2>
<p>Once again I decided to time box the work to 4 hours.  This time though the whole process only took about 20 minutes.  The product owner and testers produce a story file.  The Tumbler format allows for multiple stories each containing scenarios, so its possible to cover a complex set of requirements in one file.  This allows for flexibility when breaking down the work into tasks.  As per the usual behavior driven approach, a scenario contains the <strong>Given</strong>, <strong>When</strong> and <strong>Then</strong> sections which describe the behavior.<span id="more-1027"></span></p>
<h3>A simple tumbler behavior file</h3>
<pre>Story: Building a simple page

Scenario: should create a page 4 lines long with 5 data items in each line
Given a data fixture capable of complex page checking
When a page is created with 'twenty' items on a page
Then there should be 'four' lines on a page with 'five' data items on each line</pre>
<h2>Generating the Java files</h2>
<p>The next step is to generate java from the scenario files I used an eclipse run configuration but the command line is:</p>
<pre>java -classpath Tumbler.jar tumbler.ScenarioToJavaConverter YOUR_STORY.scenario</pre>
<p>For the above scenario this was the result.  Note the generation of given, when and then methods and @story, @Scenario annotations that match up with the original file.</p>
<pre class="brush: java; gutter: false; wrap-lines: false">import org.junit.*;
import static org.junit.Assert.*;
import static tumbler.Tumbler.*;

@RunWith(TumblerRunner.class)
@Story("Building a simple page")
public class BuildingASimplePageScenarios {

        @Scenario(pending = true)
        public void shouldCreateAPage4LinesLongWith5DataItemsInEachLine() {
                given("a data fixture capable of complex page checking");

                when("a page is created with 'twenty' items on a page");

                then("there should be 'four' lines on a page with 'five' data items on each line");
        }
}</pre>
<h3>Which just leaves filling in the behavior and the actual test</h3>
<pre class="brush: java; gutter: false; wrap-lines: false">@RunWith(TumblerRunner.class)
@Story("Building a simple page")
public class BuildingASimplePageScenarios {
	private SimplePage page;

	@Scenario(pending = false)
	public void shouldCreateAPage4LinesLongWith5DataItemsInEachLine() {
		given("a data fixture capable of complex page checking");
		final PageDataFixture dataFixture = new PageDataFixture();

		when("a page is created with 'twenty' items on a page");
		page = SimplePage.newInstance(dataFixture.getDataItem(), 20);

		then("there should be 'four' lines on a page with 'five' data items on each line");
		Map expectedLines = dataFixture.createPageExpectation(4, 5);

		Map actualMap = page.getMap();

		assertThat(actualMap, is(expectedLines));
       }
}</pre>
<p>Finally there are two flags that can be applied to the test runner which turn on the production of a report. (-DgenerateReport=html -DoutputFolder=target)  It would be easy to configure a maven profile that picked up all your scenario files, and passed in these two flags.  The standard report uses Freemarker so it would be easy to produce your own.  Its a simple list of scenarios and their detail.</p>
<h3>This is what my report looked like</h3>
<div id="attachment_1038" class="wp-caption alignnone" style="width: 160px"><a href="http://martinaharris.com/wp-content/uploads/2010/05/tumblerReport.jpg"><img class="size-thumbnail wp-image-1038" title="tumblerReport" src="http://martinaharris.com/wp-content/uploads/2010/05/tumblerReport-150x150.jpg" alt="Tumbler Report" width="150" height="150" /></a><p class="wp-caption-text">Tumbler Report - Scenario Detail Page</p></div>
<h2>Good Points</h2>
<ul>
<li>As per JBehave I like the attempt to draw the product owner closer to the testing and development team members.</li>
<li>Its a very simple system with very small learning curve</li>
<li>Generating the Java improves productivity and allows the product owner to work on separate artifacts</li>
</ul>
<h2>Bad Points</h2>
<ul>
<li>Currently its a very early beta release.  Not so much a criticism as a reminder that things might evolve in a breaking fashion at this stage.</li>
<li>I would like to see the ability to generate parameters out of the scenario files.  If not, then a way to edit the tests to introduce parameter driven testing.</li>
<li>Scrum and agile are iterative.  Adding to the original scenario files would mean generating the classes again.  This leaves the developer with the unpleasant task of transferring over changes. This might be solved if the inputs were the scenario file, and the finished test Java, with output that modifies and adds.  Running them would show the breaks if the parameters were also part of the generation.</li>
</ul>
<h2>Conclusion</h2>
<p>I can&#8217;t wait to see a full version, or at least a release candidate version because I can see a future for this project.</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Ftumble-dried-bdd%2F&amp;title=Tumble+dried+BDD+from+Studio+Pragmatists" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Ftumble-dried-bdd%2F&amp;title=Tumble+dried+BDD+from+Studio+Pragmatists" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Ftumble-dried-bdd%2F&amp;title=Tumble+dried+BDD+from+Studio+Pragmatists" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Ftumble-dried-bdd%2F&amp;headline=Tumble+dried+BDD+from+Studio+Pragmatists" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Tumble+dried+BDD+from+Studio+Pragmatists&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Ftumble-dried-bdd%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Tumble+dried+BDD+from+Studio+Pragmatists&amp;u=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Ftumble-dried-bdd%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Tumble+dried+BDD+from+Studio+Pragmatists&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Ftumble-dried-bdd%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Tumble+dried+BDD+from+Studio+Pragmatists&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Ftumble-dried-bdd%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Tumble+dried+BDD+from+Studio+Pragmatists&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Ftumble-dried-bdd%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Ftumble-dried-bdd%2F&amp;title=Tumble+dried+BDD+from+Studio+Pragmatists&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Ftumble-dried-bdd%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Ftumble-dried-bdd%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Ftumble-dried-bdd%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="dzone_button" style="float: right; margin-left: 5px;">
<script type="text/javascript">
var dzone_url = 'http://martinaharris.com/2010/05/tumble-dried-bdd/';
var dzone_title = 'Tumble dried BDD from Studio Pragmatists';
var dzone_blurb = '';
var dzone_style = '2';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>]]></content:encoded>
			<wfw:commentRss>http://martinaharris.com/2010/05/tumble-dried-bdd/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bad or Good? Behavior Driven Development within Scrum.</title>
		<link>http://martinaharris.com/2010/05/bad-or-good-bdd-within-scrum/</link>
		<comments>http://martinaharris.com/2010/05/bad-or-good-bdd-within-scrum/#comments</comments>
		<pubDate>Mon, 17 May 2010 17:46:35 +0000</pubDate>
		<dc:creator>Martin Harris</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[scrum and agile]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[annotation]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[behavior]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[junit]]></category>
		<category><![CDATA[product-owner]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[spring]]></category>
		<category><![CDATA[teams]]></category>
		<category><![CDATA[test-specialist]]></category>

		<guid isPermaLink="false">http://martinaharris.com/?p=1001</guid>
		<description><![CDATA[I wanted to explore the possibility of using JBehave to formalise scrums definition of done. The idea being to encapsulate a definition of done as a JBehave scenario. So in true scrum style I decided to timebox 4 hours of &#8230; <a href="http://martinaharris.com/2010/05/bad-or-good-bdd-within-scrum/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I wanted to explore the possibility of using <a title="JBehave about" href="http://jbehave.org/reference/stable/index.html" target="_blank">JBehave</a> to formalise scrums definition of done.  The idea being to encapsulate a definition of done as a JBehave scenario.  So in true scrum style I decided to timebox 4 hours of work dedicated to JBehave.</p>
<p>From a scrum point of view BDD can be used to turn the definition of done into a test artifact. The team produces scenarios for each task.  With JBehave a scenario file describes the required behavior and test steps it will need to pass to be considered done.  I.e Given some prerequisites, perform some action and expect some results.  See the JBehave project for more detail as this is only a simple example.<span id="more-1001"></span></p>
<h2>BDD in 4 hours?</h2>
<p>So scenarios are just text files describing the required functionality in terms of expected behavior.  Even before development though, its possible to run them and see the pending expectations.  Lets wizz though a simple example showing who in a scrum team is responsible for what.  I already have a project that I use to <a title="Testing Project" href="http://github.com/mhgit/TerribleJavaTestingMadeGood" target="_blank">explore test patterns</a> so I thought I would just introduce it to that.  If you want the working version just take a fork from github.</p>
<p>Nb. I have a data fixture used in testing a complex page component.  So whilst not a pure scenario I can make its existence part of the Givens.  In this project, its likely that no real given is required, but a developer would add it during the build.</p>
<p><strong>First</strong> the product owner and tester produce a simple scenario file describing behavior and expectations.</p>
<pre>Given a data fixture
When a page is created with 20 items on a page
Then expected lines on a page is 4 with data items in a line 5</pre>
<p><strong>Next</strong> developers write a harness and flesh out the steps required to meet the behaviour.</p>
<p>We need to bootstrap the scenario and add steps to it.  The general idea is to have a scenario test, that then includes the steps.  This is one way of bootstrapping in the steps, other ways are available including a spring system that uses <a title="SpringStepsFactory API" href="http://jbehave.org/reference/stable/javadoc/spring/org/jbehave/scenario/steps/spring/SpringStepsFactory.html" target="_blank">SpringStepsFactory</a>.  I ran into problems with the spring system as my project uses spring 3 and JBehave is still locked into spring 2.5.6.  In addition I am using junit 4.8 and spring 2.5.6 requires 4.4.  This is ultimately an issue as on many projects.  I would not want to tie in those older versions.  In fact other ideas in my project prevent me from doing this too.  So in my timebox I avoid the issue and bootstrap manually.</p>
<h2>The Bootstrap test class</h2>
<pre class="brush: java; gutter: false; wrap-lines: false">public class SimplePageScenario extends JUnitScenario {
	public SimplePageScenario() {
		super(new MostUsefulConfiguration() {
			@Override
			public ScenarioDefiner forDefiningScenarios() {
				return new ClasspathScenarioDefiner(
						new UnderscoredCamelCaseResolver(".scn"),
						new PatternScenarioParser());
                        }
                });

		addSteps(new SimplePageSteps());
        }
}</pre>
<p>Before adding the call to addSteps()) running the scenario shows the steps that are pending.</p>
<pre>(org/testpatterns/scenarios/example_scenario.scn)
Scenario:
Given a spring data fixture (PENDING)
When a page is created with 20 items on a page (PENDING)
Then expected lines on a page is 4 with data items in a line 5 (PENDING)</pre>
<p><strong>Finally</strong> the developers fill in the Steps class adding sections that match against the scenario keywords, Given, When and Then.  Development is done until the behavior passes the test.</p>
<pre class="brush: java; gutter: false; wrap-lines: false">public class SimplePageSteps extends Steps {

	private SimplePage page;

	private final PageDataFixture dataFixture = new PageDataFixture();

	@Given("a data fixture")
	public void givenASpringDataFixture() {
		notNull(dataFixture);
	}

	@When("a page is created with $itemsOnAPage items on a page")
	public void createPage(int itemsOnAPage) {
		page = SimplePage.newInstance(dataFixture.getDataItem(), itemsOnAPage);
	}

	@Then("expected lines on a page is $linesOnAPage with data items in a line $itemsInALine")
	public void validatePage(int linesOnAPage, int itemsInALine) {
		Map expectedLines = dataFixture.createPageExpectation(linesOnAPage, itemsInALine);

		Map actualMap = page.getMap();

		ensureThat(actualMap, is(expectedLines));
	}

}</pre>
<h2>Good Points</h2>
<ul>
<li> I like the potential to get key scrum members interacting.  The collaboration between the testers and product owner is an important one as it should flesh out questions about behaviour at an early stage.  Similar benefits occur when the development team starts to get to grip with the behavior.</li>
<li> Having a simple scenario artifact means the product owner can get involved with something that actually becomes part of the continuous integration.</li>
</ul>
<h2>Bad Points</h2>
<ul>
<li>The bootstrap is clumsy.  Having to add steps means that after producing the new scenarios development have to get involved before the pending steps appear.  There are other ways to bootstrap.  The spring system is a step in the right direction, in fact I would like to use injection throughout the application.  This still does not solve the problem of having to edit something before the steps appear.  I would prefer that once the scenario is in place, steps are automatically found as they are written, and appear as not started until they are cut.</li>
<li> Extending Junit Testcase is also a problem.  Its highly likely that in more complex projects we would need mocking techniques or spring based tests.  These have their own runners brought in with the @RunWith annotation.  It would be better if there were some way to bootstrap the behaviour into any other test framework.</li>
<li> In my 4 hour timebox I did not get the reporting working.  Unfortunately the reporting requires more coding, and setup and is far from being just a bit of maven configuration.</li>
<li> When running from maven things did not work until I configured the maven-resource-plugin to copy over the scenario files.  This should have just worked out of the box.</li>
<li>Most of my 4 hours was taken up with configuration which was compounded by the slim documentation.</li>
</ul>
<h2>Conclusion</h2>
<p>Attempting a behavior driven approach using scenarios is worth doing.  I could see the benefits.  Not sure if JBehave is the solution for me though.  Difficult to configure, and incompatibilities with other frameworks would put me off at the moment.  I will find some time to have a look at <a title="Easyb" href="http://www.easyb.org/" target="_blank">easyb</a> another java BDD system next.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 823px; width: 1px; height: 1px;"></div>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Fbad-or-good-bdd-within-scrum%2F&amp;title=Bad+or+Good%3F+Behavior+Driven+Development+within+Scrum." target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Fbad-or-good-bdd-within-scrum%2F&amp;title=Bad+or+Good%3F+Behavior+Driven+Development+within+Scrum." target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Fbad-or-good-bdd-within-scrum%2F&amp;title=Bad+or+Good%3F+Behavior+Driven+Development+within+Scrum." target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Fbad-or-good-bdd-within-scrum%2F&amp;headline=Bad+or+Good%3F+Behavior+Driven+Development+within+Scrum." target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Bad+or+Good%3F+Behavior+Driven+Development+within+Scrum.&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Fbad-or-good-bdd-within-scrum%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Bad+or+Good%3F+Behavior+Driven+Development+within+Scrum.&amp;u=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Fbad-or-good-bdd-within-scrum%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Bad+or+Good%3F+Behavior+Driven+Development+within+Scrum.&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Fbad-or-good-bdd-within-scrum%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Bad+or+Good%3F+Behavior+Driven+Development+within+Scrum.&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Fbad-or-good-bdd-within-scrum%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Bad+or+Good%3F+Behavior+Driven+Development+within+Scrum.&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Fbad-or-good-bdd-within-scrum%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Fbad-or-good-bdd-within-scrum%2F&amp;title=Bad+or+Good%3F+Behavior+Driven+Development+within+Scrum.&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Fbad-or-good-bdd-within-scrum%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Fbad-or-good-bdd-within-scrum%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F05%2Fbad-or-good-bdd-within-scrum%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="dzone_button" style="float: right; margin-left: 5px;">
<script type="text/javascript">
var dzone_url = 'http://martinaharris.com/2010/05/bad-or-good-bdd-within-scrum/';
var dzone_title = 'Bad or Good? Behavior Driven Development within Scrum.';
var dzone_blurb = '';
var dzone_style = '2';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>]]></content:encoded>
			<wfw:commentRss>http://martinaharris.com/2010/05/bad-or-good-bdd-within-scrum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Achieving Test Driven Nirvana</title>
		<link>http://martinaharris.com/2010/04/test-driven-nirvana/</link>
		<comments>http://martinaharris.com/2010/04/test-driven-nirvana/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 18:47:11 +0000</pubDate>
		<dc:creator>Martin Harris</dc:creator>
				<category><![CDATA[scrum and agile]]></category>
		<category><![CDATA[software quality]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[dialog]]></category>
		<category><![CDATA[junit]]></category>
		<category><![CDATA[leadership]]></category>
		<category><![CDATA[pair-code]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[re-factor]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[scrum-master]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[teams]]></category>
		<category><![CDATA[uptake]]></category>

		<guid isPermaLink="false">http://martinaharris.com/?p=946</guid>
		<description><![CDATA[Well perhaps not Nirvana then, but at least having a suitable level of test coverage.  I wanted to write an article around the uptake of test driven development. Scrum and agile are hard to do well. If you break these &#8230; <a href="http://martinaharris.com/2010/04/test-driven-nirvana/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_951" class="wp-caption alignleft" style="width: 210px"><a href="http://martinaharris.com/wp-content/uploads/2010/04/cubacar.png"><img class="size-full wp-image-951" title="cubacar" src="http://martinaharris.com/wp-content/uploads/2010/04/cubacar.png" alt="Car Cuba" width="200" height="311" /></a><p class="wp-caption-text">Cuban Car: Martin Harris</p></div>
<p>Well perhaps not <a title="Nirvana definition" href="http://en.wikipedia.org/wiki/Nirvana" target="_blank">Nirvana </a>then, but at least having a suitable level of test coverage.  <img src='http://martinaharris.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>I wanted to write an article around the uptake of test driven development.  Scrum and agile are hard to do well.  If you break these down, you often find that the components are pretty challenging too.  TDD is difficult but it has gained widespread recognition at the intellectual level.   On the ground though the practice can be patchy.  Why?</p>
<p>Before writing this article I had a look around to see what else had been written.  This article on  <a title="Resistance to TDD" href="http://regeiger.wordpress.com/2008/09/30/understanding-tdd-resistance-%E2%80%93-is-it-more-than-the-learning-curve/" target="_blank">Geiger&#8217;s Counterpoint</a> sums up my thoughts exactly.  Its such a good article that I hardly have anything left to say.  In fact neatly I can just provide some bullet points!</p>
<h2><span id="more-946"></span>Improving the uptake of Test Driven Development</h2>
<p>Programmers need help to adopt test driven practice.  So how can you go about that?</p>
<ul>
<li><strong>Lead from the front:</strong> If your senior developers are not checking in fully tested code it will destroy the practice.  Its highly demoralising to be producing well tested code only to have a senior ruin it by checking in code with partial coverage.  I can not stress hard enough that the practice must come from the top.</li>
<li><strong>Pair code and mentor the practice:</strong> I have yet to meet a developer that took to TDD right from the off.  Most people struggle to produce good code, and TDD is far from intuitive.  The best way to improve is to see good code and work with people that write good code.  So mentor and pair code to disseminate the practice.</li>
<li><strong>Use coverage reporting:</strong> Use tools like <a title="Clover Coverage Reporting." href="http://www.atlassian.com/software/clover/" target="_blank">clover</a>, <a title="Cobertura Coverage Reporting" href="http://cobertura.sourceforge.net/" target="_blank">cobertura </a> and <a title="Emma Coverage Reporting" href="http://emma.sourceforge.net/" target="_blank">emma</a> to provide reports so that you can see what lines of code are covered by tests.  Make this reporting part of your build.  Encourage developers to use coverage reports to check the quality of their testing practice.  Understand though that coverage is not everything you need to concern yourself with, sensible assertions are important too.</li>
<li><strong>Encourage discussion: </strong>Next time you find something un-tested in your codebase, create a discussion about it.  Sometimes there are reasons, its badly written making it difficult to test.  Perhaps its an  integration point.  Through discussion you will encourage the team to find a solution and write some tests.</li>
<li><strong>Set a bar: </strong>Find a way to set a bar.  i.e find the current coverage levels and don&#8217;t allow the numbers to fall.  I worked on a project where a custom build component was added.  It parsed the clover reports, found the current coverage level and broke the build if it fell after checkin.</li>
</ul>
<h2>Summary</h2>
<p>Most project suffer lower levels of test coverage than ideal.  Encourage test driven development and find ways to teach how it can be done.  Create dialog and get the teams to self organise around the goal of improving test quality and coverage.  Use tools and processes to support the team.</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F04%2Ftest-driven-nirvana%2F&amp;title=Achieving+Test+Driven+Nirvana" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F04%2Ftest-driven-nirvana%2F&amp;title=Achieving+Test+Driven+Nirvana" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F04%2Ftest-driven-nirvana%2F&amp;title=Achieving+Test+Driven+Nirvana" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fmartinaharris.com%2F2010%2F04%2Ftest-driven-nirvana%2F&amp;headline=Achieving+Test+Driven+Nirvana" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Achieving+Test+Driven+Nirvana&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F04%2Ftest-driven-nirvana%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Achieving+Test+Driven+Nirvana&amp;u=http%3A%2F%2Fmartinaharris.com%2F2010%2F04%2Ftest-driven-nirvana%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Achieving+Test+Driven+Nirvana&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F04%2Ftest-driven-nirvana%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Achieving+Test+Driven+Nirvana&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F04%2Ftest-driven-nirvana%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Achieving+Test+Driven+Nirvana&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F04%2Ftest-driven-nirvana%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F04%2Ftest-driven-nirvana%2F&amp;title=Achieving+Test+Driven+Nirvana&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fmartinaharris.com%2F2010%2F04%2Ftest-driven-nirvana%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fmartinaharris.com%2F2010%2F04%2Ftest-driven-nirvana%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F04%2Ftest-driven-nirvana%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="dzone_button" style="float: right; margin-left: 5px;">
<script type="text/javascript">
var dzone_url = 'http://martinaharris.com/2010/04/test-driven-nirvana/';
var dzone_title = 'Achieving Test Driven Nirvana';
var dzone_blurb = '';
var dzone_style = '2';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>]]></content:encoded>
			<wfw:commentRss>http://martinaharris.com/2010/04/test-driven-nirvana/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Influencing self organised teams</title>
		<link>http://martinaharris.com/2010/03/managing-self-organised-teams/</link>
		<comments>http://martinaharris.com/2010/03/managing-self-organised-teams/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 10:04:53 +0000</pubDate>
		<dc:creator>Martin Harris</dc:creator>
				<category><![CDATA[scrum and agile]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[influence]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[pair-code]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[scrum-master]]></category>
		<category><![CDATA[self-directed]]></category>
		<category><![CDATA[teams]]></category>
		<category><![CDATA[understanding]]></category>

		<guid isPermaLink="false">http://martinaharris.com/?p=843</guid>
		<description><![CDATA[I have been reading chapter 12 of Succeeding with agile by Mike Cohn.  The chapter title is Leading a Self-Organising Team. I have been reading it in the following context: Strive for technical excellence and Improving technical practices is not &#8230; <a href="http://martinaharris.com/2010/03/managing-self-organised-teams/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_855" class="wp-caption alignleft" style="width: 260px"><a href="http://martinaharris.com/wp-content/uploads/2010/03/E843004060305.png"><img class="size-full wp-image-855" title="Fragile Pink Rose" src="http://martinaharris.com/wp-content/uploads/2010/03/E843004060305.png" alt="Fragile, Pink Rose, Beijing: Martin Harris" width="250" height="188" /></a><p class="wp-caption-text">Pink Rose, Beijing: Martin Harris.</p></div>
<p>I have been reading chapter 12 of <a title="Book: Mike Cohn Succeeding with Agile" href="http://www.amazon.co.uk/s/ref=nb_sb_noss?url=search-alias%3Daps&amp;field-keywords=Succeeding+with+agile+Mike+Cohn&amp;x=0&amp;y=0" target="_blank">Succeeding with agile by Mike Cohn</a>.  The chapter title is Leading a Self-Organising Team.  I have been reading it in the following context:</p>
<blockquote><p><strong>Strive for technical excellence and Improving technical practices is not optional.</strong></p></blockquote>
<p>Why is it that improving technical excellence is sometimes neglected on a project?   Why do developers think its ok to check in classes with warnings, leave essential and easily written tests out or add to messy code.   You must of heard the phrase &#8220;nobody cares about a building with broken windows.&#8221;   One more broken window will not matter.  The same applies to software.  Often you will find developers harboring some kind of guilt for not fixing things.<br />
<span id="more-843"></span><br />
Once possible reason for this that I offer, is these teams although self directed are not being managed correctly.  Draw a cause and effect diagram for your team, and include pressure or influence from management.  Is there pressure to deliver at the expense of quality improvements?   Have you got managers using downward pressure to influence teams?  There are other reasons but it seems to me that its more than just the scrum and agile practices, the team needs to engender a culture of self improvement and continuous change.   Conceivably a non scrum team with the right culture would work out its own scrum and agile systems if they had the right mindset.</p>
<p>I am of the view that building a team with a positive drive to deliver quality and meet deadlines is extremely difficult.  Its hard to build up the right attitude and one short word, or foolish reaction from someone with influence can destroy that process.</p>
<p>So what is the alternative?   Unfortunately the alternative requires a great degree of skill and thought to pull off.   Its much harder than dragging a team into a room and attempting to bully them into submission.</p>
<p>Just to recap to improve technical excellence you need a team that actively engages in engineering practices.   Its easy to list them off: <a title="Test Driven Development" href="http://en.wikipedia.org/wiki/Test_driven_development" target="_blank">TDD</a>, <a title="Refactoring" href="http://en.wikipedia.org/wiki/Code_refactoring" target="_blank">Refactoring</a>, <a title="Collective Code Ownership" href="http://en.wikipedia.org/wiki/Extreme_Programming_Practices#Collective_code_ownership" target="_blank">Collective Ownership</a>, <a title="Continuous Integration" href="http://en.wikipedia.org/wiki/Continuous_integration" target="_blank">Continuous integration</a>, <a title="Pair Programming" href="http://en.wikipedia.org/wiki/Pair_programming" target="_blank">Pair Programming</a>.   Its quite another thing for a team to actively pursue the improvement of these processes and have the collective view that &#8220;Improving Technical Practices is <strong>not optional</strong>&#8220;.</p>
<p>Chapter 12 has the best write-up I have seen so far on how this might be done.   It suggests more subtle ways to influence your team to enable them to do this.   If anyone knows of similar works let me know as I want to build on this.</p>
<p>The following is just a list, read around and practice them to fully understand the processes.   Never be tempted to take the pressure your under and just apply it raw to the team.   This will have the opposite effect to the one you require often causing morale problems and damaging the team interactions.   This ultimately leads to reduced quality, higher defect rates and slower delivery and change.   All of these techniques require a deep understanding of how the team works.   Spend time working with your team to understand how its working or not as the case may be.</p>
<p>Once you have a handle on what is working and what is missing there are a series of alterations that can be made to change the balance.   The team will react to this and if you get it right adapt and improve from inside.</p>
<p>So these are the high level things I am looking at currently.   Check out the book for more detail.</p>
<p><strong>Adjusting containers:</strong> Teams have boundaries and members.   This effects the way the team self organises.   Adjusting these changes the personality dynamics and can alter the skills balance in the team.<br />
<strong>Example:</strong> Perhaps one member is too strong reducing discussion.   Another counter strong member might stimulate dialog and stand up to them.</p>
<p><strong>Amplifying or Dampening Differences:</strong> The idea is to draw out those differences.<br />
<strong>Example: </strong> Stimulate dialog by asking the team some hard questions about architecture or process that is not currently working.</p>
<p><strong>Altering exchanges:</strong> Changing the way the team communicates with itself or other entities within the organisation.<br />
<strong>Example:</strong> One team keeps impacting and rubbing up against another.  Introduce a practice where individuals attend each others scrums.  Mix it up, make it different individuals each day and get them to report back.</p>
<p>Apologies for the shallow list each of the above can be achieved in many ways, and a certain amount of creativity is required to make it work.   There will be failures but its important to keep experimenting and changing the equilibrium.  In summary its techniques like this that address the fundamental issue for me, how to get teams to fully take collective ownership and evolve towards continuous improvement.</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F03%2Fmanaging-self-organised-teams%2F&amp;title=Influencing+self+organised+teams" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F03%2Fmanaging-self-organised-teams%2F&amp;title=Influencing+self+organised+teams" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F03%2Fmanaging-self-organised-teams%2F&amp;title=Influencing+self+organised+teams" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fmartinaharris.com%2F2010%2F03%2Fmanaging-self-organised-teams%2F&amp;headline=Influencing+self+organised+teams" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Influencing+self+organised+teams&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F03%2Fmanaging-self-organised-teams%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Influencing+self+organised+teams&amp;u=http%3A%2F%2Fmartinaharris.com%2F2010%2F03%2Fmanaging-self-organised-teams%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Influencing+self+organised+teams&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F03%2Fmanaging-self-organised-teams%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Influencing+self+organised+teams&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F03%2Fmanaging-self-organised-teams%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Influencing+self+organised+teams&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F03%2Fmanaging-self-organised-teams%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F03%2Fmanaging-self-organised-teams%2F&amp;title=Influencing+self+organised+teams&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fmartinaharris.com%2F2010%2F03%2Fmanaging-self-organised-teams%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fmartinaharris.com%2F2010%2F03%2Fmanaging-self-organised-teams%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F03%2Fmanaging-self-organised-teams%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="dzone_button" style="float: right; margin-left: 5px;">
<script type="text/javascript">
var dzone_url = 'http://martinaharris.com/2010/03/managing-self-organised-teams/';
var dzone_title = 'Influencing self organised teams';
var dzone_blurb = '';
var dzone_style = '2';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>]]></content:encoded>
			<wfw:commentRss>http://martinaharris.com/2010/03/managing-self-organised-teams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scrum, where exactly do the managers go?</title>
		<link>http://martinaharris.com/2010/02/deletethepmo/</link>
		<comments>http://martinaharris.com/2010/02/deletethepmo/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 05:00:18 +0000</pubDate>
		<dc:creator>Martin Harris</dc:creator>
				<category><![CDATA[scrum and agile]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[product-owner]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[scrum-master]]></category>
		<category><![CDATA[teams]]></category>

		<guid isPermaLink="false">http://martinaharris.com/?p=778</guid>
		<description><![CDATA[Project Management Offices serve no purpose in scrum. You are either a product owner, (not a manager), scrum master (not a manager either) or your in the team, (no technical leaders here either). How can an organisation migrate from central control to self directed scrum teams?  What are the challenges to our former project managers? <a href="http://martinaharris.com/2010/02/deletethepmo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_787" class="wp-caption alignleft" style="width: 210px"><a href="http://martinaharris.com/wp-content/uploads/2010/02/facilitate.png"><img class="size-full wp-image-787" title="facilitate" src="http://martinaharris.com/wp-content/uploads/2010/02/facilitate.png" alt="Two friends helping with a load of dried fish." width="200" height="327" /></a><p class="wp-caption-text">Goa State, India, Lifting the load: Martin Harris</p></div>
<p>Project Management Offices really serve no purpose in scrum.  You are either a product owner, (not a manager), scrum master (not a manager either) or your in the team, (no technical leaders here either).  So what about all that useful controlling and reporting stuff they used to do?</p>
<ul>
<li>Program management functions should be moved into the team.</li>
<li>Team support comes from Agile coaches, or scrum masters.  They are not managers, they guide and do not tell the team what to do.</li>
<li>Responsibilities of release, budget, tracking reporting etc, are the Product Owners domain, once again the Product Owner is not a manager.</li>
</ul>
<p>Its a bad idea to keep the PMO and attempt to re-brand it under Scrum.  Keeping the unit and asking people to be scrum masters is a recipe for disaster.  Its hard to change team culture over to scrum.  Teams find it a big challenge to throw off the old and become self directed.  If you have your old manager coming to your team the roles stay right where they were.  So if you want to keep members of the PMO and they are technical, make them part of the team or remove them from the process.</p>
<p><span id="more-778"></span></p>
<h2>Educate the Fake Scrum Master</h2>
<p>Along similar lines, have you met a <strong>Fake Scrum Master?</strong> Its common for an organisation to take existing managers and ask them to be scrum masters.  Often with little or no training, rarely assigning mentors.  Its a very difficult thing to do, to change within your own organisation.  Michael Watkins exposes this as a potential area of failure for new leaders in his book <a title="The first 90 days" href="http://www.amazon.co.uk/First-90-Days-Critical-Strategies/dp/1591391105/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1264969940&amp;sr=8-1" target="_blank">the first 90 days</a>.  A manager is typecast by his existing interactions within an organisation, so being promoted within his existing unit to a more strategic role is possibly one of the hardest things for a manager to do.  So moving from the role of manager to one of coach, mentor and guide with the same people is nigh on impossible.  People just put you back where you were despite your best efforts.  Its a big ask turning a team self directed, its tempting as a manager to tell the team how to do it.  So you see the paradox.</p>
<p>To help you spot a Fake Scrum Master, think <a title="Cargo Cult Programming" href="http://en.wikipedia.org/wiki/Cargo_cult_programming" target="_blank">Cargo Cult Programming</a> but with a process slant.  These are typical behavior characteristics.</p>
<ul>
<li>Produces the Sprint Backlog on their own.</li>
<li>Decides how long the tasks will take.</li>
<li>Assigns tasks to people.</li>
<li>Chases around the team (outside the scrum) requesting status updates.</li>
<li>Takes on the role of co-ordination with other teams where dependencies lie.</li>
<li>Takes the heat when the pressure is on.  What a hero!</li>
</ul>
<p>All these things the team should do.  Those tasks teach, pressure and form the team into an efficient unit.</p>
<h2>Things you can do with project managers to help them transition</h2>
<p>Get external help.  Find good, skilled facilitators who can come in and pair with the new scrum master.  They should help with the new meeting formats, show how to guide instead of manage, and jump on any of the fake symptoms.  Its not always the scrum masters fault but a facilitator will be able to spot when the relationship is reverting to type and break it up.  If you recruit facilitators to the organisation you can often share them amongst projects.  Let them move around the teams from week to week and be on hand if anyone wants &#8220;emergency support&#8221;.  Sometimes its important to get something resolved before it develops into a habit.  <strong>Remember, support not control</strong>.</p>
<h2>Other signs that your project managing</h2>
<ul>
<li>Sprint lengths are project lengths.</li>
<li>Teams are broken up people moved around frequently.  Teams need to change but give them time to settle and grow.  Only change individuals infrequently, keep the team.</li>
<li>You have a matrix structure in software development.  It was an idea to reduce load on managers, no longer needed if the team shares the work.</li>
<li>Scrum managers are shared.  How could a genuine scrum manager have the time.</li>
</ul>
<p>So save some cash and spend it on facilitation and budget for development.  Disband the PMO, give people support and new scrum roles.</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fdeletethepmo%2F&amp;title=Scrum%2C+where+exactly+do+the+managers+go%3F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fdeletethepmo%2F&amp;title=Scrum%2C+where+exactly+do+the+managers+go%3F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fdeletethepmo%2F&amp;title=Scrum%2C+where+exactly+do+the+managers+go%3F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fdeletethepmo%2F&amp;headline=Scrum%2C+where+exactly+do+the+managers+go%3F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Scrum%2C+where+exactly+do+the+managers+go%3F&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fdeletethepmo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Scrum%2C+where+exactly+do+the+managers+go%3F&amp;u=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fdeletethepmo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Scrum%2C+where+exactly+do+the+managers+go%3F&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fdeletethepmo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Scrum%2C+where+exactly+do+the+managers+go%3F&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fdeletethepmo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Scrum%2C+where+exactly+do+the+managers+go%3F&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fdeletethepmo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fdeletethepmo%2F&amp;title=Scrum%2C+where+exactly+do+the+managers+go%3F&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fdeletethepmo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fdeletethepmo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fdeletethepmo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="dzone_button" style="float: right; margin-left: 5px;">
<script type="text/javascript">
var dzone_url = 'http://martinaharris.com/2010/02/deletethepmo/';
var dzone_title = 'Scrum, where exactly do the managers go?';
var dzone_blurb = '';
var dzone_style = '2';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>]]></content:encoded>
			<wfw:commentRss>http://martinaharris.com/2010/02/deletethepmo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Standing up at your scrum</title>
		<link>http://martinaharris.com/2010/02/standing-up-and-be-counted/</link>
		<comments>http://martinaharris.com/2010/02/standing-up-and-be-counted/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 22:27:56 +0000</pubDate>
		<dc:creator>Martin Harris</dc:creator>
				<category><![CDATA[scrum and agile]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[meeting]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[scrum-master]]></category>
		<category><![CDATA[stand-up]]></category>
		<category><![CDATA[teams]]></category>

		<guid isPermaLink="false">http://martinaharris.com/?p=808</guid>
		<description><![CDATA[The scrum stand up meeting, is sometimes renamed to &#8220;the scrum&#8221;.  This is fine but remember you are supposed to stand up.  The reasoning behind this is it keeps the meeting short.  People do not become too comfortable.  The idea &#8230; <a href="http://martinaharris.com/2010/02/standing-up-and-be-counted/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The scrum stand up meeting, is sometimes renamed to &#8220;the scrum&#8221;.  This is fine but remember you are supposed to stand up.  The reasoning behind this is it keeps the meeting short.  People do not become too comfortable.  The idea is very simple.  Quickly broadcast any information from the scrum master, then whizz around the team collecting status and blockers.  Each member outlines what they are working on that day.  No design discussions or protracted dialog on anything else.  Take discussion offline.  Keep screens and software products tracking tasks out of it too.  Its not a bad idea to have the visual indicators available.  People can then point to the task card, this helps other interested parties keep track of what is going on.</p>
<p>Beware all yea who let the stand-up slip into longer formats, your wasting company money and time.  Possibly you could end up on this new social site <a title="Meet or die" href="http://meetordie.com/" target="_blank">Meet or Die!</a></p>
<p>I have been in scrums with established teams, where extraneous dialog started to creep in.  My scrum master introduced a speaking ball.  The ball is passed around.  You can only speak if you have the ball.  Anyone speaking out of turn is marked on a board.  When you gather enough marks you have to buy food for the team.</p>
<p>Sounds silly, but it did make the meeting fun&#8230;chucking the ball around, and kept it short.</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fstanding-up-and-be-counted%2F&amp;title=Standing+up+at+your+scrum" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fstanding-up-and-be-counted%2F&amp;title=Standing+up+at+your+scrum" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fstanding-up-and-be-counted%2F&amp;title=Standing+up+at+your+scrum" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fstanding-up-and-be-counted%2F&amp;headline=Standing+up+at+your+scrum" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Standing+up+at+your+scrum&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fstanding-up-and-be-counted%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Standing+up+at+your+scrum&amp;u=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fstanding-up-and-be-counted%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Standing+up+at+your+scrum&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fstanding-up-and-be-counted%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Standing+up+at+your+scrum&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fstanding-up-and-be-counted%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Standing+up+at+your+scrum&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fstanding-up-and-be-counted%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fstanding-up-and-be-counted%2F&amp;title=Standing+up+at+your+scrum&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fstanding-up-and-be-counted%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fstanding-up-and-be-counted%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Fstanding-up-and-be-counted%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="dzone_button" style="float: right; margin-left: 5px;">
<script type="text/javascript">
var dzone_url = 'http://martinaharris.com/2010/02/standing-up-and-be-counted/';
var dzone_title = 'Standing up at your scrum';
var dzone_blurb = '';
var dzone_style = '2';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>]]></content:encoded>
			<wfw:commentRss>http://martinaharris.com/2010/02/standing-up-and-be-counted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Estimates are not commitments!</title>
		<link>http://martinaharris.com/2010/02/esti-no-commit/</link>
		<comments>http://martinaharris.com/2010/02/esti-no-commit/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 05:00:28 +0000</pubDate>
		<dc:creator>Martin Harris</dc:creator>
				<category><![CDATA[scrum and agile]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[commitments]]></category>
		<category><![CDATA[cone-of-uncertanty]]></category>
		<category><![CDATA[estimation]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[peopleware]]></category>
		<category><![CDATA[phony-deadline]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[planning-poker]]></category>
		<category><![CDATA[points]]></category>
		<category><![CDATA[schedule]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[story]]></category>
		<category><![CDATA[teams]]></category>

		<guid isPermaLink="false">http://martinaharris.com/?p=752</guid>
		<description><![CDATA[Probably one of the most common mistakes in Software Development is to allow Estimates to become Commitments.  This article looks at story point estimation in scrum, and how velocity is a better tool for monitoring progress through to delivery.  If your interested in the arguments that can be presented to the business for velocity metrics over estimation for setting delivery dates, read on.  <a href="http://martinaharris.com/2010/02/esti-no-commit/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_771" class="wp-caption alignleft" style="width: 310px"><a href="http://martinaharris.com/wp-content/uploads/2010/02/velocity.png"><img class="size-full wp-image-771" title="velocity over estimates anyday" src="http://martinaharris.com/wp-content/uploads/2010/02/velocity.png" alt="Velocity, the new estimate" width="300" height="186" /></a><p class="wp-caption-text">Cambodia, Phnom Penn, the water festival: Martin Harris</p></div>
<p>Probably one of the most common mistakes in Software Development is to allow <a title="Estimates" href="http://en.wikipedia.org/wiki/Estimate" target="_blank">Estimates</a> to become <a title="Commitment" href="http://en.wikipedia.org/wiki/Commitment" target="_blank">Commitments</a>.  I am sure you know the following scenario all too well.  The development team is called into a meeting room and asked the following question.  <strong>We (the management team) have had a look at the estimates, and your tasks on average are taking longer.</strong> The insinuation is that the development team is, <strong>stupid</strong> or perhaps <strong>lazy</strong>.  Worse still, an individual is called in because the stats show their work is <strong>&#8220;Behind Schedule&#8221;</strong> as judged by the estimates.  The problem is none of this though, the problem is believing that estimates are anything other than an educated guess.</p>
<p><span id="more-752"></span>The most likely outcome of this is a dissatisfied manager requesting for more hours to be worked.  This pressure normally results in dissatisfied team members and a drop in morale.  Its likely outcome a drop in productivity.  Extreme cases result in high turnover of staff as they leave in search of more enlightened projects.  In addition developers drop quality to meet the deadline.  This code is unmaintainable in the future as corners have been cut just to get it working.  So the initial surge in productivity results in slower progress ongoing.  Watch the defect rates, your teams will spend more time fixing than producing new work.</p>
<p>In actual fact what does the business require of our Software Development services that has lead to the belief in estimates?  We need to know when something will be delivered.  In some cases we demand that at all cost something will be delivered.  The book <a title="Peopleware" href="http://en.wikipedia.org/wiki/Peopleware:_Productive_Projects_and_Teams" target="_blank">Peopleware</a> by DeMarco and Lister describes this as <strong>The Phony Deadline</strong>.  Poor delivery is the result of picking a phony deadline.  Yes you got something, but it might not work quite as expected.</p>
<h2>I still want that delivery date, what can be done?</h2>
<p>Have it you shall, but not straight away.  Now I have spent the last few paragraphs showing how estimates poison the team and reduce product quality.  In the next section lets look at the relationship between our team and the sponsors.</p>
<p>A collection of estimates can be used to provide the paying customer with an inaccurate delivery date.  So given that the average customer has problems with the definition lets re-brand estimates as guesses, educated or otherwise.  There are two important things that a software development team needs to provide the business.</p>
<ol>
<li>The contents of a delivery.</li>
<li>A delivery date.</li>
</ol>
<p>There are only three variables in delivery, time, cost and scope.  Cost is most often set in stone at this stage, scope can be negotiated and time has an awful habit of not sticking to the rules.  The trick is to use our guesses to address the content of the delivery instead of the go live date.  For delivery date we will record story velocity over the first few tasks and use that to extrapolate the delivery date.  We will carry on tracking velocity and the <a title="The Cone of Uncertanty explained" href="http://www.construx.com/Page.aspx?hid=1648" target="_blank">cone of uncertanty</a> will get tighter, leading in turn to a more accurate date.  Commitments can be made on that date once you move into the cone and the variance diminishes.  This can be problematic to the business at first because the date is non existent at the start, and as you begin to track reports will vary.  This will settle down, especially if you try to keep other variables consistent.  So stop mucking about with the team makeup and the iteration size, concentrate on tracking the work accurately.  Once you have a few releases over, you will find that velocity is a much better way to work out delivery dates.</p>
<p>The business I currently work in uses techniques like this in many financial metrics.  Take a look at how interest rates are set for a year.  Obviously its impossible to know what will happen to interest rates over the course of a year.  We might start at 2% and rise to 2.5% or perhaps not.  News on the economy gives some indication in the short term as to what might happen to the rates.  These news clips cause the market to react and the closer we get to the end of the year, the more likely we are to be able to guess the final rate across the year.</p>
<p>So what is so bad about using story velocity metrics to gain more accurate estimates of how many stories a team can complete in a delivery cycle?  To further improve things we might also consider smaller delivery cycles and standardizing story and task sizes as much as possible.</p>
<h2><span style="text-decoration: line-through;">Estimates</span> guesses still have value don&#8217;t they?</h2>
<p>So where do the guesses come in?  Lets use a relative estimation system instead of a time based one.  In scrum these are known as <a title="Story Points" href="http://en.wikipedia.org/wiki/Story_points" target="_blank">story points</a>.  Please do read that link it is probably the best description I have ever come across.  Many thanks to the authors.   The idea behind point-based estimation is to agree that at the beginning we have much uncertainty and ambiguity.  Even if we spent extra time on analysis of the problem, we would still be uncertain and much ambiguity would remain.  Points are relative to each other and are all about size of stories over time.  This is much easier to deal with as a developer.  People are comparators, we do that all the time.  This makes us much better at saying if one task is bigger than another.  Especially if we have done similar stories before.  So points are a weighted system to grade stories into a set of different sises.</p>
<p>Now we need some kind of system to help us standardize the size of the boxes.  In scrum a technique knows as <a title="Planning Poker" href="http://en.wikipedia.org/wiki/Planning_poker" target="_blank">planning poker</a> helps with this.  Planning poker gives us a set of cards representing the relative weight of a story.  Normally 0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 100.  When estimating your thinking goes something like,</p>
<blockquote><p>Mmm well I have done something a bit like this before, that was a 20 but this is a bit more complex, now is it a 40 well that&#8217;s double&#8230;and this feels a bit bigger but not double.  So I will plump for a 20.</p></blockquote>
<p>So as you see the numbers are important as the weighting is designed to help grade the story into standard size boxes.  The other important thing is the whole team takes part in the planning so you get a graded average.  This has a side effect, the team members start to appreciate the effort involved across the full spectrum of work.</p>
<h2>So then, that delivery date?</h2>
<p>If your able to try and run an iteration or two before giving a delivery date.  Track how many stories you can complete in an iteration and use that to project forward and arrive at a date.  Explain to the business that you will review this date with them on a regular basis and that it will get more accurate as velocity settles down.  A little like the speculation over the next interest rate announcement.  One problem is the initial project stories are often very different from latter ones.  Usually due to building and setting up initial architecture and development environment.</p>
<p>Another idea at the initial stage is to break out a random selection of stories into tasks and estimate / guess those.  Calculate an estimated velocity and explain to the business that you can&#8217;t commit to this date and once more accurate statistics come in you will review the new date with them.</p>
<p>So finally your left with no fixed date.  The honest thing to do is to explain how consistent velociy will ultimatly give a <a title="Story points consistent with task estimation" href="http://www.stateofflow.com/journal/51/estimation-xperiment" target="_blank">better reporting picture</a> This is going to be a sticking point I assure you.  In the past it might have been easy to just give a date to the business.  Chuck in some contingency for good measure.  This is a very bad practice indeed.  If you do miss that deadline you loose the customers confidence.  If you manage the politics better by de-scoping your just going to erode that confidence slower.  At first explaining your system will give them a date that gets more accurate the nearer you get might not go down that well.  I can assure you though that once you get more accurate velocity and that date moves around less the business will gain a profound confidence in the system.  After all soon your dates will be the best ones they have ever had.</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Festi-no-commit%2F&amp;title=Estimates+are+not+commitments%21" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Festi-no-commit%2F&amp;title=Estimates+are+not+commitments%21" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Festi-no-commit%2F&amp;title=Estimates+are+not+commitments%21" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Festi-no-commit%2F&amp;headline=Estimates+are+not+commitments%21" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Estimates+are+not+commitments%21&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Festi-no-commit%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Estimates+are+not+commitments%21&amp;u=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Festi-no-commit%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Estimates+are+not+commitments%21&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Festi-no-commit%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Estimates+are+not+commitments%21&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Festi-no-commit%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Estimates+are+not+commitments%21&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Festi-no-commit%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Festi-no-commit%2F&amp;title=Estimates+are+not+commitments%21&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Festi-no-commit%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Festi-no-commit%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Festi-no-commit%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="dzone_button" style="float: right; margin-left: 5px;">
<script type="text/javascript">
var dzone_url = 'http://martinaharris.com/2010/02/esti-no-commit/';
var dzone_title = 'Estimates are not commitments!';
var dzone_blurb = '';
var dzone_style = '2';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>]]></content:encoded>
			<wfw:commentRss>http://martinaharris.com/2010/02/esti-no-commit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dancing to the tune of the Scrum Demo</title>
		<link>http://martinaharris.com/2010/01/dancing-to-the-tune-of-the-scrum-demo/</link>
		<comments>http://martinaharris.com/2010/01/dancing-to-the-tune-of-the-scrum-demo/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 04:00:39 +0000</pubDate>
		<dc:creator>Martin Harris</dc:creator>
				<category><![CDATA[scrum and agile]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[delivery]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[product-owner]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[signoff]]></category>
		<category><![CDATA[teams]]></category>

		<guid isPermaLink="false">http://martinaharris.com/?p=624</guid>
		<description><![CDATA[As you achieve more experience with the scrum process, you come to realise that there is very little if anything you can afford to leave out.  If your conducting scrum and considering leaving out a practice, its worth considering what is to be gained and lost.  So continuing with the <a title="Scrum and Agile posts" href="http://martinaharris.com/category/development/scrum-and-agile/" target="_blank">scrum and agile theme</a> this year I plan review some of the scrum practices highlighting the benefits and some of the errors that are made.  The first of these focuses on the Sprint Review and within that in particular the Software Demo. <a href="http://martinaharris.com/2010/01/dancing-to-the-tune-of-the-scrum-demo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As you achieve more experience with the scrum process, you come to realise that there is very little if anything you can afford to leave out.  If your conducting scrum and considering leaving out a practice, its worth considering what is to be gained and lost.  So continuing with the <a title="Scrum and Agile posts" href="http://martinaharris.com/category/development/scrum-and-agile/" target="_blank">scrum and agile theme</a> this year I plan review some of the scrum practices highlighting the benefits and some of the errors that are made.  The first of these focuses on the Sprint Review and within that in particular the Software Demo.</p>
<p><a title="Book, Agile and Iterative Development" href="http://www.amazon.com/Agile-Iterative-Development-Managers-Guide/dp/0131111558/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1263247850&amp;sr=8-1" target="_blank">Craig Larman in Agile &amp; Iterative Development, A managers guide</a> describes it thus:</p>
<blockquote><p>Sprint Review: At the end of each iteration, there is a review meeting. (maximum of four hours) hosted by the Scrum Master.  The team, Product Owner, and other stakeholders attend. There is a demo of the product.  Goals include informing stakeholders of the system functions, design, strengths, weaknesses, effort of the team, and future trouble spots.</p>
<p>Feedback and brainstorming on future directions is encouraged, but no commitments are made during the meeting.  Later at the next Sprint Planning meeting, stakeholders and the team make commitments.</p>
<p>&#8220;Power Point&#8221; presentations are forbidden.  Preparation emphasis is on showing the product.</p></blockquote>
<p><span id="more-624"></span></p>
<h2>What is a Demo anyway?  What should we Demo?</h2>
<div id="attachment_630" class="wp-caption alignleft" style="width: 410px"><a href="http://martinaharris.com/wp-content/uploads/2010/01/bali-demo-firedance.png"><img class="size-full wp-image-630" title="Put some fire in your demonstration." src="http://martinaharris.com/wp-content/uploads/2010/01/bali-demo-firedance.png" alt="Demo of a Balinese fire dance." width="400" height="300" /></a><p class="wp-caption-text">Demo of a Balinese fire dance, Bali, Indonesia: Martin Harris</p></div>
<p>A demo has to be fully working software.  Although the team considers it ready for production and has fully tested it, its acceptable that the demo environment is scaled down in terms of moving parts and data sets.  Often there are manual test stages that follow user acceptance and such, but during this meeting we expect to get business agreement and sign-off so the environment has to be good enough to inspire confidence in the product.</p>
<p>Get the product owner to drive the software.  No cheating <img src='http://martinaharris.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  The product owner will get a better feel for it if they drive.  I have seen situations were very good software refuses to behave only when the product owner takes control!  Make sure that your demo room has a spare PC just in cases someone from the team needs to login, check logs, or re-start a service etc.  Its important not to stall on something trivial or unrelated to the demo.</p>
<p>Record any issues or problems.  These have two outcomes.  Either they are bad enough that the product owner will not accept the stories as finished, or if trivial the product owner may sign off a story if they are fixed in the next iteration.  The ideal is obviously to sail into the next iteration with no hangover whatsoever.  Don&#8217;t let issues slow the meeting down.  The product owner should make a decision and move on.  The scrum master documents any such issues and the outcome.  Note that the teams testers are incredibly useful in a demo, often providing usability and product usage advice.</p>
<p>If possible everything in an iteration should be included in the software demonstration.  If you get it right it should be possible to demonstrate every story.  If the team is in the habit of producing a <em>definition of done</em> for all tasks and done includes things like, documented, fully tested, deployable then preparation for the demonstration should just be a matter of updating the demonstration environment.</p>
<h2>What a demo is not?</h2>
<p>A demo is always actual running software, never mocked aside from test or development data.  If you can get production data then all well and good.  The product owner is always present, demonstrating to the development teams has little value.  This is a key opportunity for developers and the business to come together and feel part of the same team.  The product owner is the only person who can sign off a story.  If they are unavailable postpone.</p>
<h2>How much does a demo cost?</h2>
<p>Very little when measured against the return.  In an ideal project the demo environment is created off the back of a successful build possibly automated.  Its not just used for the demo, but provides a place to test.  In an integration situation its often useful to have somewhere that is guaranteed to be stable.  Its possible to share the environment over several teams as long as its stable during the demo.</p>
<h2>What are the Benefits?</h2>
<p>The main benefit is the team is able to demonstrate that a set of stories for an iteration is finished.  The burn down is complete.  The product owner is able to report that a key section is complete.  In some projects release to production follows soon after.  You are able to see exactly where you are after updating the backlog.</p>
<p>This process like no other <strong>Builds Confidence</strong>.  The confidence the team has in itself and the confidence the business has in the team to deliver.  It can not be overstated how important this is.</p>
<p>Sometimes this is the first time that the 	Team members see the product working end to end, when your working on the small parts is easy to forget where your heading.  The demo brings it all together.</p>
<p>Team becomes more focused on delivery.  I will paint you a picture.  Its Thursday morning, the demo is tomorrow, there is still quite a bit to do before the demo.  Nobody on the team wants to be the one, who&#8217;s key piece meant something was not ready for the demo.  By the afternoon you can feel the tension as the team readies the environment and tests everything one last time.  Teams with no demo do not have such focus.  A key part of scrum is something called cadence.  Iterations are always the same length, people get used to that, and they are marked by events.  I would say Sprint Review is the full stop marking the end of a sprint.</p>
<p>Its very addictive to the business.  The product owner will really start to get involved when at the end of each sprint demo after demo builds more working product.  Its a very important part of forging the teams relationship with the business.</p>
<h2>Problems you may have with demonstrations.</h2>
<p><strong>Problem: </strong>We find that at the end of a sprint we have nothing that can be demonstrated!<br />
<strong>Experiment with: </strong>Longer iterations.  Find ways to make it possible to demonstrate, look for blocks, missing environment and work hard to plug the gaps.  Its vital to demo never de-prioritize this.</p>
<p><strong>Problem: </strong>We have difficulty getting the product owner to attend.<br />
<strong>Experiment with: </strong>Shorter iterations.  Less to demo should mean shorter meetings that are easier to schedule.  Always do the demo at the same time and day.  This is also easier to plan for.</p>
<p><strong>Problem: </strong>The team has no time to do demonstrations, they are busy building new functionality.<br />
<strong>Experiment with: </strong>Plan less and schedule less stories.  Its vital to know you have actually finished an iteration.  A common scenario for teams who do not demo, is one where the project is just collecting more and more partially finished stories because of one block or another.  This can even be hidden as with no demo you have not the assurance that what you build is correct.  So you only think your complete.  There will be a price to pay later in re-work during test or worse after go-live.</p>
<p><strong>Problem: </strong>We tried sprint reviews but they broke down after several chaotic attempts.<br />
<strong>Experiment with: </strong>Create a story for Demo preparation.  Have it in mind that your telling a story.  Lead the product owner through the stories in a logical order that builds.  See links below for more on how a review should be conducted.</p>
<h2>Conclusion</h2>
<p>Always hold a Sprint review with a demo.  It has hidden benefits and builds confidence in the team.  Don&#8217;t underestimate its power to motivate.  Business confidence and reporting accuracy will also improve.  Greater understanding of the product and business are other side effects.  So plan to demo now and enjoy, it can be the best part of the sprint.</p>
<h2>Further Reading</h2>
<p><a title="Simple Sprint Review" href="http://agilesoftwaredevelopment.com/blog/peterstev/simple-scrum-sprint-review" target="_blank">Simple Scrum Sprint Review</a> Note the amount of time allocated to demo in this example!</p>
<p><a title="Successful sprint reviews" href="http://www.scrumalliance.org/articles/48-successful-sprint-reviews" target="_blank">Successful Sprint Reviews</a> Excellent work on how to make them work.</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fdancing-to-the-tune-of-the-scrum-demo%2F&amp;title=Dancing+to+the+tune+of+the+Scrum+Demo" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fdancing-to-the-tune-of-the-scrum-demo%2F&amp;title=Dancing+to+the+tune+of+the+Scrum+Demo" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fdancing-to-the-tune-of-the-scrum-demo%2F&amp;title=Dancing+to+the+tune+of+the+Scrum+Demo" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fdancing-to-the-tune-of-the-scrum-demo%2F&amp;headline=Dancing+to+the+tune+of+the+Scrum+Demo" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Dancing+to+the+tune+of+the+Scrum+Demo&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fdancing-to-the-tune-of-the-scrum-demo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Dancing+to+the+tune+of+the+Scrum+Demo&amp;u=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fdancing-to-the-tune-of-the-scrum-demo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Dancing+to+the+tune+of+the+Scrum+Demo&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fdancing-to-the-tune-of-the-scrum-demo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Dancing+to+the+tune+of+the+Scrum+Demo&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fdancing-to-the-tune-of-the-scrum-demo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Dancing+to+the+tune+of+the+Scrum+Demo&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fdancing-to-the-tune-of-the-scrum-demo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fdancing-to-the-tune-of-the-scrum-demo%2F&amp;title=Dancing+to+the+tune+of+the+Scrum+Demo&amp;summary=&amp;source=" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fdancing-to-the-tune-of-the-scrum-demo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fdancing-to-the-tune-of-the-scrum-demo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fdancing-to-the-tune-of-the-scrum-demo%2F" target="_blank"><img class="lightsocial_img" src="http://martinaharris.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="dzone_button" style="float: right; margin-left: 5px;">
<script type="text/javascript">
var dzone_url = 'http://martinaharris.com/2010/01/dancing-to-the-tune-of-the-scrum-demo/';
var dzone_title = 'Dancing to the tune of the Scrum Demo';
var dzone_blurb = '';
var dzone_style = '2';
</script>
<script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>]]></content:encoded>
			<wfw:commentRss>http://martinaharris.com/2010/01/dancing-to-the-tune-of-the-scrum-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

