<?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; product-owner</title>
	<atom:link href="http://martinaharris.com/tag/product-owner/feed/" rel="self" type="application/rss+xml" />
	<link>http://martinaharris.com</link>
	<description>Next time you look it might be gone</description>
	<lastBuildDate>Tue, 24 Jan 2012 18:14:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<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>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>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>
		<item>
		<title>Of Groundswell and Product Owners</title>
		<link>http://martinaharris.com/2010/01/groundswell-and-product-owners/</link>
		<comments>http://martinaharris.com/2010/01/groundswell-and-product-owners/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 22:41:27 +0000</pubDate>
		<dc:creator>Martin Harris</dc:creator>
				<category><![CDATA[scrum and agile]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[backlog]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[crowdsourcing]]></category>
		<category><![CDATA[customer]]></category>
		<category><![CDATA[groundswell]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[product-owner]]></category>
		<category><![CDATA[requirements]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[social-technology]]></category>

		<guid isPermaLink="false">http://martinaharris.com/?p=657</guid>
		<description><![CDATA[I have just finished reading <a title="Groundswell link amazon" href="http://www.amazon.com/Groundswell-Winning-Transformed-Social-Technologies/dp/1422125009/ref=sr_1_1?ie=UTF8&#38;s=books&#38;qid=1263500927&#38;sr=8-1" target="_blank">Groundswell</a> by Josh Bernoff of Forrester Research.  The book has been around for awhile but its concepts are worth understanding.  Its a great book about how Social Technologies have changed the way companies relate to their customers.  Not only that but how companies can benefit from Social Technologies within their own organisation.  Its a good read, get hold of a copy.  The book is rich with Internet law, marketing tips, research and good practice.  It gave me some ideas on how Groundswell could be used to provide a product owner with some powerful tooling. <a href="http://martinaharris.com/2010/01/groundswell-and-product-owners/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have just finished reading <a title="Groundswell link amazon" href="http://www.amazon.com/Groundswell-Winning-Transformed-Social-Technologies/dp/1422125009/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1263500927&amp;sr=8-1" target="_blank">Groundswell</a> by Josh Bernoff of Forrester Research.  The book has been around for awhile but its concepts are worth understanding.  Its a great book about how Social Technologies have changed the way companies relate to their customers.  Not only that but how companies can benefit from Social Technologies within their own organisation.  Its a good read, get hold of a copy.  The book is rich with Internet law, marketing tips, research and good practice.  It gave me some ideas on how Groundswell could be used to provide a product owner with some powerful tooling.</p>
<h2>Groundswell shows a way to tool up your Product Owner?</h2>
<p>One of the most important scrum principles is to assign a Product Owner.</p>
<div id="attachment_677" class="wp-caption alignleft" style="width: 310px"><a href="http://martinaharris.com/wp-content/uploads/2010/01/panic-on-the-phone.png"><img class="size-full wp-image-677" title="Tool me up, Temple, Ho Chi Minh City, Vietnam: Martin Harris" src="http://martinaharris.com/wp-content/uploads/2010/01/panic-on-the-phone.png" alt="Vietnam, man takes a call in the temple." width="300" height="292" /></a><p class="wp-caption-text">Tool me up, Temple, Ho Chi Minh City, Vietnam: Martin Harris</p></div>
<p>This person should have a very good understanding of the business.  At first glance is seems like a good idea for that person to be an active part of the business.  For a single dealer platform it looks like a good idea to recruit someone who actively deals or for a legal application a senior member of the law staff.  The problem with this is a dealer is likely to be too busy looking after money, and the Lawyer is in and out of court.  Active members of the business have better things to do, so we have to look elsewhere for our product owners.<br />
<span id="more-657"></span><br />
Some links if your interested in the problems a product owner deals with and how to find a suitable candidate:</p>
<p><a title="Being an effective product owner" href="http://www.scrumalliance.org/articles/44-being-an-effective-product-owner" target="_blank">Being an effective product owner</a></p>
<p><a title="Choosing a product owner" href="http://www.agilejournal.com/articles/columns/column-articles/626-the-product-owner-choosing-the-right-person-for-the-job" target="_blank">Product owner &#8211; Choosing the right person for the job</a></p>
<p>So instead another option is to appoint a business proxi.  Perhaps a Business Analyst or a traditional Project Manager.  There is nothing fundamentally wrong with this and I have seen it work well but at the end of the day this person needs to tune into their sponsors and customers.  This is where the book Groundswell comes in.  Groundswell has several documented cases where Social Technologies have been used to garner information from communities, <a title="Petri dish learning from communities blog post" href="http://blogs.forrester.com/groundswell/2009/11/research-in-a-petri-dish-learning-from-communities.html" target="_blank">check out this blog post</a> for some idea of the mechanics.  Some such cases have been in areas where it would normally be very difficult to get any feedback from the community i.e. a pharmaceutical company setting up support communities for cancer patients.</p>
<p>There is one great example of Credit Mutuel a French retail bank who asked of their customers &#8220;If I were a banker&#8221; and collected responses on what the customers thought the bank should be doing.  A huge wave of Groundswell resulted in the bank making changes and in Credit Mutuel benefiting from increased competitive advantage.  They were able to respond to customers quickly and make the changes they deemed sensible.  The customers loved it.  There is a caveat to this though.  You have to be able to turn around changes quickly, and now we are back to scrum.  A development system that done well can implement software changes quickly in reaction to a clients demands.  What I am suggesting is that correct use of Groundswell could make the product owners job easier.</p>
<p>In particular within organisations who have trouble getting the right kind of requirements from the users of the applications we write.  I have worked in several industries where getting access to your users is a real problem.  Lawyers and Traders who are just phenomenally busy and expensive, highly dispersed users of global applications where the logistics of visiting them all is impossible.</p>
<p>In the book there are several documented cases where companies like <a href="http://www.communispace.com/" target="_blank">Communispace</a> or <a href="http://www.thinkpassenger.com/" target="_blank">Passenger</a> setup and manage systems to recruit and manage a comunity focused around a product or idea.  I think it would be great to try out ideas like this to gather information about an important software product from its internal and external users.  The end game, is to gather the best ideas, then put them back to the community for voting and prioritisation.  Yes, you get a ready made backlog off the back of this.  How incredibly handy is that!  Take a look at this, its pretty much a community fed backlog used by Salesforce.com: <a title="Salesforce.com ideas exchange" href="http://sites.force.com/ideaexchange/" target="_self">http://sites.force.com/ideaexchange/</a>.  Here is another that Dell use based on the same Crispy News system: <a title="Dell Ideastorm" href="http://www.ideastorm.com/" target="_blank">http://www.ideastorm.com/</a></p>
<p>I think that doing something like this has these benefits possibly more:</p>
<ul>
<li>It helps the product owner get a more representative view of what the customers think is important.  What requirements they put at the top.</li>
<li>The customers feel more involved in the evolution of the product.</li>
<li>Your scrum team is likely to find out some things that all the experts and analysis have missed.</li>
</ul>
<p>Its powerful, but as with any power tool be careful!</p>
<ul>
<li>You will have to show both the good and bad feedback.  Are you ready for the honesty required?  Make sure all your sponsors are prepared.</li>
<li>The scrum team should be ready and established, if you can&#8217;t turn around the best ideas quickly the mood will quickly turn sour.</li>
<li>It takes a great deal of skill and a degree of humility to make this work, but the closer alignment with your customer will soon show results.</li>
</ul>
<p>So why not give it a try?</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fgroundswell-and-product-owners%2F&amp;title=Of+Groundswell+and+Product+Owners" 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%2Fgroundswell-and-product-owners%2F&amp;title=Of+Groundswell+and+Product+Owners" 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%2Fgroundswell-and-product-owners%2F&amp;title=Of+Groundswell+and+Product+Owners" 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%2Fgroundswell-and-product-owners%2F&amp;headline=Of+Groundswell+and+Product+Owners" 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=Of+Groundswell+and+Product+Owners&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fgroundswell-and-product-owners%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=Of+Groundswell+and+Product+Owners&amp;u=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fgroundswell-and-product-owners%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=Of+Groundswell+and+Product+Owners&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fgroundswell-and-product-owners%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=Of+Groundswell+and+Product+Owners&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fgroundswell-and-product-owners%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=Of+Groundswell+and+Product+Owners&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F01%2Fgroundswell-and-product-owners%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%2Fgroundswell-and-product-owners%2F&amp;title=Of+Groundswell+and+Product+Owners&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%2Fgroundswell-and-product-owners%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%2Fgroundswell-and-product-owners%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%2Fgroundswell-and-product-owners%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/groundswell-and-product-owners/';
var dzone_title = 'Of Groundswell and Product Owners';
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/groundswell-and-product-owners/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>6 Tips for Good Scrum</title>
		<link>http://martinaharris.com/2009/12/lsg-scrum-tips/</link>
		<comments>http://martinaharris.com/2009/12/lsg-scrum-tips/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 22:31:32 +0000</pubDate>
		<dc:creator>Martin Harris</dc:creator>
				<category><![CDATA[scrum and agile]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[co-location]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[delivery]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[pair-code]]></category>
		<category><![CDATA[product-owner]]></category>
		<category><![CDATA[retrospective]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[self-directed]]></category>
		<category><![CDATA[teams]]></category>

		<guid isPermaLink="false">http://martinaharris.com/?p=509</guid>
		<description><![CDATA[I went along to the London Scrum User Group Monday evening.  We decided to put together 15 tips for scrum that every team should try.  Its was an optimistically large number of tips given that the meeting is held in a pub.  Even so, we did produce 6 very good tips.  Read on to see what we came up with.  <a href="http://martinaharris.com/2009/12/lsg-scrum-tips/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_528" class="wp-caption alignleft" style="width: 410px"><a href="http://martinaharris.com/wp-content/uploads/2009/12/matheran.png"><img class="size-full wp-image-528" title="No motor vehicles are allowed in Matheran, so all building materials are brought in by hand.  Its a steep hill!" src="http://martinaharris.com/wp-content/uploads/2009/12/matheran.png" alt="Pushing the cart, Matheran, India: Martin Harris" width="400" height="261" /></a><p class="wp-caption-text">Pushing the cart, Matheran, India: Martin Harris</p></div>
<p>I went along to the <a title="London Scrum User Group wiki" href="http://www.lsug.org.uk/wiki/Home_Page" target="_blank">London Scrum User Group</a> yesterday evening.  For a change it was a quiet night.  Christmas is around the corner so we had less attendees.  Nigel Baker of <a title="AgileBear Home page" href="http://www.agilebear.com" target="_blank">AgileBear</a> kicked off and suggested putting together 15 tips for good scrum.  After some discussion, we came up with 6 good ones, and in true Agile style, we decided that if you did these 6 well, you would be in front of the pack.  So we stopped there and got on with eating the snacks and drinking the beer.  The night was sponsored by <a title="Rally Software Home page" href="http://www.rallydev.com" target="_blank">Rally Software</a>, cheers for the food guys.  So here is what the group came up with, look at your team and ask yourself if your doing these, if not, perhaps its time for a scrum experiment?</p>
<p><span id="more-509"></span></p>
<h2>The London Scrum Groups <em>6 Good Scrum Tips</em></h2>
<ul>
<li><strong>Love your product owner.</strong> The group agreed that the product owner should be part of the team.  Include them in the meetings and get them involved.  Its possibly the most important thing you can do for success in scrum.  A fully integrated product owner will spot early on if the stories do not match their expectations.  They negotiate the definition of done for a story.  They are on hand to answer questions during the iteration removing waste and improving understanding of the stories.  The product owner decides if the team has finished stories at the demo.  Working closely with the product owner can avoid going adrift and missing your goals, saves a lot of stress when things hit a rough patch as they get to see the problems first hand.  We agreed that this point can not be understated, if you do nothing else do this.</li>
<li><strong>Run Retrospectives.</strong> Its very important to take actions away from a retrospective.  Be realistic though, your never going to solve them all, so ask the team to priorities them.  If your doing the retrospective right your product owner will be there to help with prioritisation.  If you find something very big lands at the top, split it down into stories.  Otherwise pick one or two that the team feel strongly about and turn them into stories.  Make sure these stories are included in the next game planning sessions and make it into the iterations.  If you have adjustments to the process you can implement these straight away, but experiment with it, and try to measure the impact of changes, you might not get the process right first time.  Commit to doing them and then deliver.</li>
<li><strong>Ask your team to <a title="XP Pair Coding" href="/2009/11/pair-programming-perspective/" target="_blank">Pair Code</a>.</strong> The XP technique of two programmers working on the same task.  It was agreed that there are different kinds of pair coding and that they all have a place, but the one we are talking about here is where two equal programmers work together to improve quality and throughput.  Don&#8217;t be dogmatic, let the team decide how much work should be pair coded.</li>
<li><strong>Setup Self Directed teams.</strong> Self directed teams have been proven to be more efficient.  We discussed the role of a scrum master in a self directed team.  Its very important that the scrum master does not tell the team how to work, or how to go about completing the tasks.  The scrum master does not plan or allocate tasks.  The empowered team needs to work out what the tasks are and find out how to finish the stories.  The scrum master should spend his efforts removing blocks for the team, checking quality.  Its important for the team and scrum master to spot if someone is not completing their work for whatever reason, but a strong team will sort out those kinds of issues if truly self directed.  We also decided that to be empowered you need to make the team multi discipline.  Include testers, user interface designers etc to remove hand off waste and increase team knowledge.  With role diversity comes better decision making.</li>
<li><strong>Deliver what you commit to.</strong> Another gem, it sounds obvious but is so often ignored.  Delivering builds trust in the team and the process.  Classic ways to miss delivery include: Failing to produce a strong definition of done.  The definition should include the programming, integration, testing and setup tasks.  In fact everything required to get that task ready for delivery.  Another way to miss delivers is to fail to demonstrate at the end of the iteration.  You may think your done, but when the product owner sees the work for the first time they may request refinement.  If you have kept your product owner close then the demo is likely to be painless.  No power-point slides please, only real working software in the demo!  So commit and then deliver what you commit to.</li>
<li><strong>Co-locate your team.</strong> The group defined co-location quite tightly.  Co-location is not putting everyone in the same office.  Its putting the team members next to each other in the same space.  Intra team communication does not happen with the team scattered around an office.  You should be able to turn around and join the stand up meeting.  This closeness, speeds up the myriad of tiny important messages that pass around the team.  Some of which is non verbal.</li>
</ul>
<p>After this rich discussion we gave up on the 15 tips idea.  If your doing these, then your doing very well indeed, and are likely to get better over time.</p>
<p>So another excellent meeting, a few more beers and I headed home enlightenend, well fed and slighlty merry.  Why not come along to the next one, we could use your input.</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2009%2F12%2Flsg-scrum-tips%2F&amp;title=6+Tips+for+Good+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%2F2009%2F12%2Flsg-scrum-tips%2F&amp;title=6+Tips+for+Good+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%2F2009%2F12%2Flsg-scrum-tips%2F&amp;title=6+Tips+for+Good+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%2F2009%2F12%2Flsg-scrum-tips%2F&amp;headline=6+Tips+for+Good+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=6+Tips+for+Good+Scrum&amp;url=http%3A%2F%2Fmartinaharris.com%2F2009%2F12%2Flsg-scrum-tips%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=6+Tips+for+Good+Scrum&amp;u=http%3A%2F%2Fmartinaharris.com%2F2009%2F12%2Flsg-scrum-tips%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=6+Tips+for+Good+Scrum&amp;url=http%3A%2F%2Fmartinaharris.com%2F2009%2F12%2Flsg-scrum-tips%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=6+Tips+for+Good+Scrum&amp;url=http%3A%2F%2Fmartinaharris.com%2F2009%2F12%2Flsg-scrum-tips%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=6+Tips+for+Good+Scrum&amp;url=http%3A%2F%2Fmartinaharris.com%2F2009%2F12%2Flsg-scrum-tips%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%2F2009%2F12%2Flsg-scrum-tips%2F&amp;title=6+Tips+for+Good+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%2F2009%2F12%2Flsg-scrum-tips%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%2F2009%2F12%2Flsg-scrum-tips%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%2F2009%2F12%2Flsg-scrum-tips%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/2009/12/lsg-scrum-tips/';
var dzone_title = '6 Tips for Good 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/2009/12/lsg-scrum-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

