<?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; delivery</title>
	<atom:link href="http://martinaharris.com/tag/delivery/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>Five things &#8211; unit tests</title>
		<link>http://martinaharris.com/2010/02/five-things-unit-tests/</link>
		<comments>http://martinaharris.com/2010/02/five-things-unit-tests/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 05:00:08 +0000</pubDate>
		<dc:creator>Martin Harris</dc:creator>
				<category><![CDATA[testing]]></category>
		<category><![CDATA[best-practice]]></category>
		<category><![CDATA[continuous-integration]]></category>
		<category><![CDATA[delivery]]></category>

		<guid isPermaLink="false">http://martinaharris.com/?p=829</guid>
		<description><![CDATA[Five quick points about unit tests that will reduce your defect rates. Always stop to add that simple unit test. You will be amazed how often this discovers a bug or unexplored corner case. Never develop from a main method, &#8230; <a href="http://martinaharris.com/2010/02/five-things-unit-tests/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Five quick points about unit tests that will reduce your defect rates.</p>
<ol>
<li><strong>Always stop to add that simple unit test.</strong> You will be amazed how often this discovers a bug or unexplored corner case.</li>
<li><strong>Never develop from a main method, find a way to turn it into a test.</strong> Main driven development is horrible, they are not part of the continuous development cycle so once finished they get forgotten.</li>
<li><strong>Make all tests run in the continuous integration environment.</strong> A test that does not run is a <strong>dark test</strong>.  Tests that are not continually run are probably broken.  Same goes for main method development.</li>
<li><strong>Expend effort getting the time from commit to all project tests passing tests as small as possible.</strong> If I could check in, and see the results 1 second later there is little chance of me holding someone else up.  Aim for less than 15 mins with current technology.  Parallelism is the key.  Separate the build, many small suits that run in parallel.  Why not build a cloud just for running parallel test suits in?</li>
<li><strong>Do as much testing as possible using simple unit tests.</strong> Unit tests are cheap to write, run fast and are easier to maintain. Test as much as possible with them, resort to higher level tests only to test integration.  Good unit level coverage will also mean the higher levels have less to do.</li>
</ol>
<p>If you just did the above you would be doing very well indeed.<br />
<span id="more-829"></span></p>
<h2>Some other test related thoughts I had today:</h2>
<p>Why would you schedule your test runs on an hourly schedule?  Always hook unit tests into the commit.  If your unit coverage is high it might be possible to consider the unit tests a pass or fail threshold for a commit.</p>
<p>If you can&#8217;t fix a break quickly revert before the breaks pile up.  Choose a source control system that makes this easy to do.  The threat of a revert means people will go out of their way to test the build before checking in.</p>
<p>Integration tests should also be continuously run.  There may be challenges, they are often slower, and more fragile.  Break them into batches but not just by functional area.  Consider batches split by test categorisation, with buckets like:</p>
<p style="padding-left: 30px;"><strong>Slow running:</strong> Schedule infrequent runs.</p>
<p style="padding-left: 30px;"><strong>Fragile but fast:</strong> Trigger on commit.</p>
<p style="padding-left: 30px;"><strong>Performance:</strong> Run when system is not under load.</p>
<p>The general rule is be inventive, find ways to get them run as frequently as possible.</p>
<p>Finally ask yourself this next time you realise the need for another test, but decide not to write it.  Why do I feel its ok not to write this test?</p>
<p style="padding-left: 30px;"><strong>Too hard:</strong> Perhaps its time to find better ways to crack the problem.  An opportunity to be creative.</p>
<p style="padding-left: 30px;"><strong>Too trivial:</strong> It should not take too long to write it then.</p>
<p style="padding-left: 30px;"><strong>Your under pressure to deliver:</strong> Local optimization, delivering untested code ultimately slows down delivery.</p>
<p>Happy testing!</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Ffive-things-unit-tests%2F&amp;title=Five+things+-+unit+tests" 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%2Ffive-things-unit-tests%2F&amp;title=Five+things+-+unit+tests" 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%2Ffive-things-unit-tests%2F&amp;title=Five+things+-+unit+tests" 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%2Ffive-things-unit-tests%2F&amp;headline=Five+things+-+unit+tests" 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=Five+things+-+unit+tests&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Ffive-things-unit-tests%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=Five+things+-+unit+tests&amp;u=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Ffive-things-unit-tests%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=Five+things+-+unit+tests&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Ffive-things-unit-tests%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=Five+things+-+unit+tests&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Ffive-things-unit-tests%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=Five+things+-+unit+tests&amp;url=http%3A%2F%2Fmartinaharris.com%2F2010%2F02%2Ffive-things-unit-tests%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%2Ffive-things-unit-tests%2F&amp;title=Five+things+-+unit+tests&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%2Ffive-things-unit-tests%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%2Ffive-things-unit-tests%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%2Ffive-things-unit-tests%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/five-things-unit-tests/';
var dzone_title = 'Five things &#8211; unit tests';
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/five-things-unit-tests/feed/</wfw:commentRss>
		<slash:comments>0</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>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>

