<?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>non-random ramble &#187; agile</title>
	<atom:link href="http://jimbarritt.com/non-random/category/agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://jimbarritt.com/non-random</link>
	<description>adventures in code</description>
	<lastBuildDate>Fri, 23 Jul 2010 13:42:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Agile North Keynote: Guiding Teams On Mt Agile</title>
		<link>http://jimbarritt.com/non-random/2010/06/05/agile-north-keynote-guiding-teams-on-mt-agile/</link>
		<comments>http://jimbarritt.com/non-random/2010/06/05/agile-north-keynote-guiding-teams-on-mt-agile/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 14:48:41 +0000</pubDate>
		<dc:creator>Jim Barritt</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[thoughtblog]]></category>

		<guid isPermaLink="false">http://jimbarritt.com/non-random/?p=476</guid>
		<description><![CDATA[I recently (Friday 14th May 2010) gave the closing Keynote at Agile North, a one day conference held up in Preston. The talk was loosely based around a metaphor of mountain climbing and playing with the analogy of being a consultant on an agile project being like a mountain guide. The idea is that someone [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jimbarritt.com/non-random/wp-content/uploads/2010/05/agilenorth.gif" rel="lightbox[476]"><img src="http://jimbarritt.com/non-random/wp-content/uploads/2010/05/agilenorth.gif" alt="" title="agilenorth" width="228" height="117" class="aligncenter size-full wp-image-477" /></a></p>
<p>I recently (Friday 14th May 2010) gave the closing Keynote at <a href="http://www.agilenorth.org/">Agile North</a>, a one day conference held up in Preston.</p>
<p>The talk was loosely based around a metaphor of mountain climbing and playing with the analogy of being a consultant on an agile project being like a mountain guide. The idea is that someone who is a mountain guide has many years of experience climbing and coaching people on the mountain. </p>
<p>The talk I think was well recieved and generated quite a bit of interest from people, I think because we were talking about real experiences on our current project.</p>
<p>I co-presented with Mark Crossfield who is the Tech Lead on the team I am Coaching at our current client, AutoTrader, and I felt it was an interesting balance between my &#8220;Guide&#8221; view and his experience leading a team into an Agile project for the first time.</p>
<p>We covered five short stories about our experiences on the project.</p>
<ul>
<li>Safety First &#8211; going beyond CI to pipelines</li>
<li>The Walking Skeleton as a metaphor for iterative feature delivery</li>
<li>Evolution of the codebase</li>
<li>Collective Design</li>
<li>Telling the story of the code</li>
</ul>
<p>The Slide deck is up on <a href="http://www.slideshare.net/jimbarritt/jim-barritt-mark-crossfield-closing-keynote">slideshare</a> and the talk can be viewed here.</p>
<p>At some point they promise to put up the video of the event at which point I will update this post.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimbarritt.com/non-random/2010/06/05/agile-north-keynote-guiding-teams-on-mt-agile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deliver or die!</title>
		<link>http://jimbarritt.com/non-random/2009/02/27/deliver-or-die/</link>
		<comments>http://jimbarritt.com/non-random/2009/02/27/deliver-or-die/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 09:15:11 +0000</pubDate>
		<dc:creator>Jim Barritt</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[anecdotes]]></category>
		<category><![CDATA[thoughtblog]]></category>

		<guid isPermaLink="false">http://jimbarritt.com/non-random/2009/02/27/deliver-or-die/</guid>
		<description><![CDATA[I started writing this post a few weeks ago and since then been in several conversations around the same area, so thought I&#8217;d get on an finish it:) What is the key focus of agile practices ? To me, it is Delivery of working software. What do we mean by &#8220;delivery&#8221; ? Delivery is software [...]]]></description>
			<content:encoded><![CDATA[<p>I started writing this post a few weeks ago and since then been in several conversations around the same area, so thought I&#8217;d get on an finish it:)</p>
<p>What is the key focus of agile practices ?</p>
<p>To me, it is Delivery of working software. </p>
<p>What do we mean by &#8220;delivery&#8221; ?</p>
<p>Delivery is software working in production. Even stronger, software that is being used in production. </p>
<p>What does &#8220;working&#8221; mean ?</p>
<p>This may depend on the currency you have for measuring success. Usually it means improving the bottom line of the company. It might be indirect such as generating interest for a website or simply getting a product delivered at all. </p>
<p>My definition of &#8220;Lean&#8221; may not be entirely accurate (I&#8217;m not an expert) but from my understanding, taking a lean approach, writing the code is only part of the story. </p>
<p>Lean tells us that there is no point in having a backlog of artifacts in the factory if we can&#8217;t get them to the customer. We need a good distribution system so that artifacts are pulled down the pipeline as quickly as possible, right from where they are consumed. </p>
<p>For software this means the production environment. Really the production environment, not staging or the ci environment or a dev box. </p>
<p>Setting up the distribution pipeline is as important as any other part of the project. It needs to be automated, reliable and responsive (i.e. as soon as a new feature is required it can be sucked into production as soon as its completed)</p>
<p>Once your delivery pipeline is in place everything else becomes smooth. People stop worrying that they are not going to receive new features quickly and so they feel more able to focus on what the need right now, in smaller chunks which means the delivery system flows more smoothly and the features are produced in a more responsive way.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimbarritt.com/non-random/2009/02/27/deliver-or-die/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quote of the day</title>
		<link>http://jimbarritt.com/non-random/2008/10/26/quote-of-the-day/</link>
		<comments>http://jimbarritt.com/non-random/2008/10/26/quote-of-the-day/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 19:48:27 +0000</pubDate>
		<dc:creator>Jim Barritt</dc:creator>
				<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://jimbarritt.com/non-random/2008/10/26/quote-of-the-day/</guid>
		<description><![CDATA[I was just watching John Snows&#8217; documentary about America which is on CH4. He was interviewing Vinod Khosla who was talking about investing in the future. He said that he nevers invests in things that are going to succeed and then this: &#8220;The willingess to fail gives me the power to succeed&#8221; This is a [...]]]></description>
			<content:encoded><![CDATA[<p>I was just watching John Snows&#8217; documentary about America which is on CH4. </p>
<p>He was interviewing  <a href='http://en.wikipedia.org/wiki/Vinod_Khosla'>Vinod Khosla</a> who was talking about investing in the future. He said that he nevers invests in things that are going to succeed and then this:</p>
<p>&#8220;The willingess to fail gives me the power to succeed&#8221; </p>
<p>This is a great quote, especially relevant to Agile software development philosophy.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimbarritt.com/non-random/2008/10/26/quote-of-the-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install of mono 2.0 failed on OS X PowerBook G4</title>
		<link>http://jimbarritt.com/non-random/2008/10/16/install-of-mono-20-failed-on-os-x-powerbook-g4/</link>
		<comments>http://jimbarritt.com/non-random/2008/10/16/install-of-mono-20-failed-on-os-x-powerbook-g4/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 17:24:55 +0000</pubDate>
		<dc:creator>Jim Barritt</dc:creator>
				<category><![CDATA[c#]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[thoughtblog]]></category>
		<category><![CDATA[thoughtworks]]></category>

		<guid isPermaLink="false">http://jimbarritt.com/non-random/2008/10/16/install-of-mono-20-failed-on-os-x-powerbook-g4/</guid>
		<description><![CDATA[I just tried to install mono version 2 from darwin ports. Before starting i uninstalled the mono i had already: #!/bin/sh -x #This script removes Mono from an OS X System. It must be run as root rm -r /Library/Frameworks/Mono.framework rm -r /Library/Receipts/MonoFramework-SVN.pkg cd /usr/bin for i in `ls -al &#124; grep Mono &#124; awk [...]]]></description>
			<content:encoded><![CDATA[<p>I just tried to install mono version 2 from darwin ports.</p>
<p>Before starting i uninstalled the mono i had already:</p>
<pre>
<code>
#!/bin/sh -x
#This script removes Mono from an OS X System.  It must be run as root
rm -r /Library/Frameworks/Mono.framework
rm -r /Library/Receipts/MonoFramework-SVN.pkg
cd /usr/bin
for i in `ls -al | grep Mono | awk '{print $9}'`; do
rm ${i}
done
</code>
</pre>
<p>First i could search for the mono package by typing</p>
<p><code>$ port search mono</code></p>
<p>To begin with this did not show the right version so i did :</p>
<p><code>$ port selfupdate</code></p>
<p>This checks for a new version of port and updates its list of available software.</p>
<p>now i see:</p>
<pre>
<code>
coco:~ Jim$ port search mono
mono                           devel/mono     2.0          Implementation of the .NET Development Framework
mono-addins                    devel/mono-addins 0.3          Mono.Addins is a framework for creating extensible applications
monodoc                        devel/monodoc  2.0          Documentation for the Mono .NET Development Framework
monotone                       devel/monotone 0.41         A distributed version control system
mod_mono                       www/mod_mono   1.1.16.1     an Apache plug-in for hosting the Mono System.Web classes
coco:~ Jim$
</code>
</pre>
<p>so all good, i ran</p>
<p><code>port install mono</code></p>
<p>but get :</p>
<pre>
<code>
darwin_stop_world.c:307: error: 'ppc_thread_state_t' has no member named '__r31'
make[3]: *** [darwin_stop_world.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
</code>
</pre>
<p>A quick search on google brought this:</p>
<p><a href='http://lists.macosforge.org/pipermail/macports-tickets/2008-February/005279.html'>http://lists.macosforge.org/pipermail/macports-tickets/2008-February/005279.html</a></p>
<p>The instructions here talk about editing this <code>darwin_stop_world.c</code> file and changing some constant values. They give the path to the file for an older version but a bit of <code>ls</code> ing turned up the new folder:</p>
<p><code>/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_mono/work/<b>mono-2.0</b>/libgc/darwin_stop_world.c</code></p>
<p>Ok, so now the tricksy bit&#8230;</p>
<p>The instructions in the above link talk about some constants not set up correctly. On the line wher ei saw my exception, it was referring to the following bit of code:</p>
<pre>
<code>
#elif defined(POWERPC)
#if defined(_STRUCT_PPC_EXCEPTION_STATE)
	lo = (void*)(state.__r1 - PPC_RED_ZONE_SIZE);

	GC_push_one(state.__r0);
	GC_push_one(state.__r2);
	GC_push_one(state.__r3);
	GC_push_one(state.__r4);
	GC_push_one(state.__r5);
	GC_push_one(state.__r6);
	GC_push_one(state.__r7);
	GC_push_one(state.__r8);
	GC_push_one(state.__r9);
	GC_push_one(state.__r10);
	GC_push_one(state.__r11);
	GC_push_one(state.__r12);
	GC_push_one(state.__r13);
	GC_push_one(state.__r14);
	GC_push_one(state.__r15);
	GC_push_one(state.__r16);
	GC_push_one(state.__r17);
	GC_push_one(state.__r18);
	GC_push_one(state.__r19);
	GC_push_one(state.__r20);
	GC_push_one(state.__r21);
	GC_push_one(state.__r22);
	GC_push_one(state.__r23);
	GC_push_one(state.__r24);
	GC_push_one(state.__r25);
	GC_push_one(state.__r26);
	GC_push_one(state.__r27);
	GC_push_one(state.__r28);
	GC_push_one(state.__r29);
	GC_push_one(state.__r30);
	GC_push_one(state.__r31);
#else
</code>
</pre>
<p>in the post, he seemed to simply remove all the &#8216;__&#8217; underscores and it worked&#8230; so:</p>
<pre>
<code>
	#if defined(_STRUCT_PPC_EXCEPTION_STATE)
		lo = (void*)(state.r1 - PPC_RED_ZONE_SIZE);

		GC_push_one(state.r0);
		GC_push_one(state.r2);
		GC_push_one(state.r3);
		GC_push_one(state.r4);
		GC_push_one(state.r5);
		GC_push_one(state.r6);
		GC_push_one(state.r7);
		GC_push_one(state.r8);
		GC_push_one(state.r9);
		GC_push_one(state.r10);
		GC_push_one(state.r11);
		GC_push_one(state.r12);
		GC_push_one(state.r13);
		GC_push_one(state.r14);
		GC_push_one(state.r15);
		GC_push_one(state.r16);
		GC_push_one(state.r17);
		GC_push_one(state.r18);
		GC_push_one(state.r19);
		GC_push_one(state.r20);
		GC_push_one(state.r21);
		GC_push_one(state.r22);
		GC_push_one(state.r23);
		GC_push_one(state.r24);
		GC_push_one(state.r25);
		GC_push_one(state.r26);
		GC_push_one(state.r27);
		GC_push_one(state.r28);
		GC_push_one(state.r29);
		GC_push_one(state.r30);
		GC_push_one(state.r31);
	#else
</code>
</pre>
<p>This was defined on lines 130 and 273</p>
<p>the second one now looks like :</p>
<pre>
	<code>
		#if defined(_STRUCT_PPC_EXCEPTION_STATE)
			lo = (void*)(info.r1 - PPC_RED_ZONE_SIZE);
			hi = (ptr_t)FindTopOfStack(info.r1);

			GC_push_one(info.r0);
			GC_push_one(info.r2);
			GC_push_one(info.r3);
			GC_push_one(info.r4);
			GC_push_one(info.r5);
			GC_push_one(info.r6);
			GC_push_one(info.r7);
			GC_push_one(info.r8);
			GC_push_one(info.r9);
			GC_push_one(info.r10);
			GC_push_one(info.r11);
			GC_push_one(info.r12);
			GC_push_one(info.r13);
			GC_push_one(info.r14);
			GC_push_one(info.r15);
			GC_push_one(info.r16);
			GC_push_one(info.r17);
			GC_push_one(info.r18);
			GC_push_one(info.r19);
			GC_push_one(info.r20);
			GC_push_one(info.r21);
			GC_push_one(info.r22);
			GC_push_one(info.r23);
			GC_push_one(info.r24);
			GC_push_one(info.r25);
			GC_push_one(info.r26);
			GC_push_one(info.r27);
			GC_push_one(info.r28);
			GC_push_one(info.r29);
			GC_push_one(info.r30);
			GC_push_one(info.r31);
		#else
	</code>
</pre>
<p>Watch out for the top of stack one! its an extra one.</p>
<p>ok this works!</p>
<p>I had to restart the terminal because it didnt seem to find the new programs &#8211; it still thought mcs lived in /usr/bin not /opt/local/bin which is where port puts it.</p>
<p>Now i can compile c# version 3.0!! </p>
<p>oh yeah, be sure to use <code>gmcs</code> to compile, not <code>mcs</code> which is the old one.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimbarritt.com/non-random/2008/10/16/install-of-mono-20-failed-on-os-x-powerbook-g4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Can Agile Scale ?</title>
		<link>http://jimbarritt.com/non-random/2008/10/09/can-agile-scale/</link>
		<comments>http://jimbarritt.com/non-random/2008/10/09/can-agile-scale/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 09:55:09 +0000</pubDate>
		<dc:creator>Jim Barritt</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[thoughtblog]]></category>
		<category><![CDATA[thoughtworks]]></category>

		<guid isPermaLink="false">http://jimbarritt.com/non-random/2008/10/09/can-agile-scale/</guid>
		<description><![CDATA[I just received this link from Tom Marsh at the guardian, its quite an interesting article and thought it would be worth publicising on our blog. http://www.theregister.co.uk/2008/10/08/scaling_agile_development_poll_200810/ enjoy.]]></description>
			<content:encoded><![CDATA[<p>I just received this link from Tom Marsh at the guardian, its quite an interesting article and thought it would be worth publicising on our blog. </p>
<p><a href='http://www.theregister.co.uk/2008/10/08/scaling_agile_development_poll_200810/'>http://www.theregister.co.uk/2008/10/08/scaling_agile_development_poll_200810/</a></p>
<p>enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimbarritt.com/non-random/2008/10/09/can-agile-scale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Retrospective &#8220;mantras&#8221;</title>
		<link>http://jimbarritt.com/non-random/2008/09/04/retrospecitve-mantras/</link>
		<comments>http://jimbarritt.com/non-random/2008/09/04/retrospecitve-mantras/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 14:19:41 +0000</pubDate>
		<dc:creator>Jim Barritt</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[thoughtblog]]></category>
		<category><![CDATA[thoughtworks]]></category>

		<guid isPermaLink="false">http://jimbarritt.com/non-random/2008/09/04/retrospecitve-mantras/</guid>
		<description><![CDATA[At the end of our last couple of retrospectives, we ended up with a set of actions that were really for the whole team to think about. Actually they were more like principles we should be following for the next iteration, rather than specific tasks. Whilst retrospectives should really come out with very specific achievable [...]]]></description>
			<content:encoded><![CDATA[<p>At the end of our last couple of retrospectives, we ended up with a set of actions that were really for the whole team to think about. Actually they were more like principles we should be following for the next iteration, rather than specific tasks.</p>
<p>Whilst retrospectives should really come out with very specific achievable and measurable actions, these more general themes can also be useful.</p>
<p>One of the team, Jeremy started writing the basics of the actions on cards as statements, like &#8220;Challenge Requirements&#8221;. We put these &#8220;mantras&#8221; on the wall and so we can see them and sometimes refer to them during standups. </p>
<p>This Iteration we did the same thing and it seemed to be a good way of capturing and making visible a result of our retrospective. </p>
<p>So far we have :</p>
<ul>
<li>Challenge requirements</li>
<li>Understand Story Intention</li>
<li>Challenge the spike</li>
<li>Its not over until UAT (User acceptance testing or signoff)</li>
<li>Keep stories focused and SIMPLE</li>
<li>Migration code will ALWAYS be used again</li>
<li>Transfer ownership (of stories, if people leave or move teams)</li>
<li>Share Knowledge (as people roll off the project)</li>
<li>Is it releasable? (an individual story)</li>
<li>Demo Early</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jimbarritt.com/non-random/2008/09/04/retrospecitve-mantras/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>collective design</title>
		<link>http://jimbarritt.com/non-random/2008/09/03/collective-design/</link>
		<comments>http://jimbarritt.com/non-random/2008/09/03/collective-design/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 22:58:45 +0000</pubDate>
		<dc:creator>Jim Barritt</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[thoughtblog]]></category>
		<category><![CDATA[thoughtworks]]></category>

		<guid isPermaLink="false">http://jimbarritt.com/non-random/2008/09/03/last-thursday-presentation/</guid>
		<description><![CDATA[I gave a presentation at TW last thursday last month (August). The subject was Collective design. There was some interesting discussion about design in general. For now, the slides can be seen here: Collective design presentation Abstract: Software development implicitly creates a software &#8220;design&#8221;, the shape of the software artifact. To build software requires people. [...]]]></description>
			<content:encoded><![CDATA[<p><img width='200px' src='http://jimbarritt.com/commercial/presentations/2008/08/collective.design/molecules.gif' /></p>
<p>I gave a presentation at TW last thursday last month (August).</p>
<p>The subject was Collective design.</p>
<p>There was some interesting discussion about design in general.</p>
<p>For now, the slides can be seen here:</p>
<p><a href='http://jimbarritt.com/commercial/presentations/2008/08/collective.design/slideshow.html'>Collective design presentation</a></p>
<p>
<strong>Abstract:</strong><br />
<i>Software development implicitly creates a software &#8220;design&#8221;, the shape of the software artifact. To build software requires people. This talk discusses how the design of software is affected by and communicated between software developers, particularly on projects involving many people.<br />
</i></p>
]]></content:encoded>
			<wfw:commentRss>http://jimbarritt.com/non-random/2008/09/03/collective-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>collective responsibility</title>
		<link>http://jimbarritt.com/non-random/2008/08/08/collective-responsibility/</link>
		<comments>http://jimbarritt.com/non-random/2008/08/08/collective-responsibility/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 20:47:52 +0000</pubDate>
		<dc:creator>Jim Barritt</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[thoughtblog]]></category>

		<guid isPermaLink="false">http://jimbarritt.com/non-random/2008/08/08/collective-responsibility/</guid>
		<description><![CDATA[How can you sit back and let people get on with things and yet have them deliver on time and in a coordinated fashion ? I think a principal might be never to make guarantees on other peoples behalf. For example : you talk to someone and say yeah my guys can get that to [...]]]></description>
			<content:encoded><![CDATA[<p>How can you sit back and let people get on with things and yet have them deliver on time and in a coordinated fashion ?</p>
<p>I think a principal might be never to make guarantees on other peoples behalf. For example : you talk to someone and say yeah my guys can get that to you by next Thursday. This now means you have committed someone else to something they have not themselves agreed to. It might be more useful to have them talk to the party who wants something and then have them agree with that person to deliver said promise. </p>
<p>This relates to the idea of a team being responsible for deciding how much work they can do within an iteration. It is not one person but all involved who have committed to this amount of work. There is a group responsibility and this is much easier to run than the command and conquer approach. </p>
<p>Far from being unscalable to larger groups, you could argue that this level of decentralised drive is essential. However it is certainly possible for a single individual to provide the drive for many people , it tends to be quite autocratic though and can often make people feel threatened which is not an ideal environment for fostering creative work. </p>
]]></content:encoded>
			<wfw:commentRss>http://jimbarritt.com/non-random/2008/08/08/collective-responsibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>S.M.A.R.T.Y. Acceptance criteria</title>
		<link>http://jimbarritt.com/non-random/2008/06/06/smarty-acceptance-criteria/</link>
		<comments>http://jimbarritt.com/non-random/2008/06/06/smarty-acceptance-criteria/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 19:06:54 +0000</pubDate>
		<dc:creator>Jim Barritt</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[thoughtblog]]></category>

		<guid isPermaLink="false">http://jimbarritt.com/non-random/2008/06/06/smarty-acceptance-criteria/</guid>
		<description><![CDATA[S &#8211; Smart M &#8211; Measureable A.- Acheivable R &#8211; Relevant T &#8211; Timed Y &#8211; Why ? The last one is interesting. I just found someone talking about it on the net. Its basically to help remember that a story should have a why ? Part. AS someone I WOULD LIKE the system to [...]]]></description>
			<content:encoded><![CDATA[<p>S &#8211; Smart<br />
M &#8211; Measureable<br />
A.- Acheivable<br />
R &#8211; Relevant<br />
T &#8211; Timed<br />
Y &#8211; Why ?</p>
<p>The last one is interesting. I just found someone talking about it on the net. Its basically to help remember that a story should have a why ? Part. </p>
<p>AS someone I WOULD LIKE the system to do something for me SO THAT I can gain some benefit.  </p>
<p>Acceptance criteria is the CONTRACT by which we agree with the client of the software we are writing what we will deliver. </p>
<p>Therefore it is the focal point of all parties involved. EVERYONE has an interest in what is contained therin:</p>
<p>THE CLIENT &#8211; This is how you make sure the team have understood what you want and how you MEASURE wether they have delivered it to you. </p>
<p>THE DEVELOPERS &#8211; this is how you make sure that you know the full extent of your work and thus how you know when you are finished with your job. Things outside the acceptance criteria which become apparent once you start a story must involve some kind of negotiation to append.<br />
QAs &#8211; this is your lifeblood. It is impossible to determine if something is finished without knowing what its supposed to do. Acceptance criteria should be being consulted at every point in the develoment of a story. At the start, during and at the end. E.g. How many of the acceptance criteria have you met today ? This is what you will need to demo to the business. </p>
<p>BAs &#8211; you are the facilitator of the acceptance criteria. It is your job to negotiate between the ideals and desires of the client and the knowledge of the team of what is ACHEIVABLE within the given TIME PERIOD. </p>
<p>TEAM LEADs &#8211; these are what let&#8217;s you sleep at night. If there is well defined acceptance criteria the chances are that estimates will be more accurate and you will not have to explain why you have not delivered the functionality you guaranteed to the client. </p>
<p>Easy eh?</p>
]]></content:encoded>
			<wfw:commentRss>http://jimbarritt.com/non-random/2008/06/06/smarty-acceptance-criteria/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Immersion week one!</title>
		<link>http://jimbarritt.com/non-random/2007/12/14/immersion-week-one/</link>
		<comments>http://jimbarritt.com/non-random/2007/12/14/immersion-week-one/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 08:05:31 +0000</pubDate>
		<dc:creator>Jim Barritt</dc:creator>
				<category><![CDATA[thoughtworks]]></category>

		<guid isPermaLink="false">http://jimbarritt.com/non-random/2007/12/14/immersion-week-one/</guid>
		<description><![CDATA[end of the week, finally over the lag and just have the retrospective to go. today heaps of balloons in the office with everyones name on them! Some great discussions and ideas. An analogy for interaction with the clients &#8211; like swimming in a rip tide &#8211; you cant swim against it. Building relationships is [...]]]></description>
			<content:encoded><![CDATA[<p>end of the week,</p>
<p>finally over the lag and just have the retrospective to go.</p>
<p>today heaps of balloons in the office with everyones name on them!</p>
<p>Some great discussions and ideas.</p>
<p>An analogy for interaction with the clients &#8211; like swimming in a rip tide &#8211; you cant swim against it.</p>
<p>Building relationships is like building a fire.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimbarritt.com/non-random/2007/12/14/immersion-week-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
