<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.5" -->
<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/"
	>

<channel>
	<title>chris clarke</title>
	<link>http://squadlimber.com/chris</link>
	<description>software development that works...or something</description>
	<pubDate>Mon, 07 Apr 2008 23:14:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.5</generator>
	<language>en</language>
			<item>
		<title>Iteration Planning - What I&#8217;ve Found Works Well</title>
		<link>http://squadlimber.com/chris/2008/04/07/iteration-planning-what-ive-found-works-well/</link>
		<comments>http://squadlimber.com/chris/2008/04/07/iteration-planning-what-ive-found-works-well/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 23:14:16 +0000</pubDate>
		<dc:creator>chris.probably</dc:creator>
		
		<category>Agile Planning</category>

		<guid isPermaLink="false">http://squadlimber.com/chris/2008/04/07/iteration-planning-what-ive-found-works-well/</guid>
		<description><![CDATA[I&#8217;d like to share the method of planning that I&#8217;ve evolved because I&#8217;ve found it works quite well and better than anything else I&#8217;ve tried so far.  Note: this is used for planning what will go in the next iteration or sprint and not for release planning.  
I take two iterations worth of [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;d like to share the method of planning that I&#8217;ve evolved because I&#8217;ve found it works quite well and better than anything else I&#8217;ve tried so far.  Note: this is used for planning what will go in the next iteration or <a href="http://www.scrumalliance.org/articles/39-glossary-of-scrum-terms#1118">sprint</a> and not for release planning.  </p>
<p>I take two iterations worth of upcoming work (you may call your upcoming work a <a href="http://www.mountaingoatsoftware.com/product_backlog">Product Backlog</a>) prioritized by the customer and get the team to break each story/feature in to smaller tasks that they are comfortable with.  I then get them to estimate each task in days.  Some people like to estimate in <a href="http://c2.com/cgi/wiki?StoryPoints">Story Points</a> or Jelly Beans, other people like to estimate in Ideal Days (a day where no-one is off-sick and there are no meetings or interruptions).  I&#8217;ve found that for estimating, Plain Old Normal Days work best - developers tend to find it confusing what Story Points mean and they find it difficult to compare stories from one iteration to the next and in relation to each other.  Its much easier for them to think in real units of time because thats just how they perceive things in their heads.  (Note: I also tend to use <a href="http://www.mountaingoatsoftware.com/products/cards">Planning Poker cards</a> - so that ALL the team get input on the estimate and they don&#8217;t let other peoples estimates affect their own). As you read on, you&#8217;ll find that I take these day estimates and treat them as points - as in &#8220;the team completed 18 days of work last iteration&#8221; - which doesn&#8217;t mean they worked for 18 days, but that they completed what was estimated as 18 days (the iteration itself could&#8217;ve been a week).</p>
<p>I&#8217;ve found nothing beats <a href="http://www.scrumalliance.org/articles/39-glossary-of-scrum-terms#1110">velocity</a> based planning.  The velocity is the average number of days the team completes in an iteration.  So say the velocity is 20, I know I can probably fit 20 days worth of work in the next iteration. (Note: Don&#8217;t think you can fit just a little bit more, treat it as a hard limit.  Think you can fit 21? Don&#8217;t do it!).  The reason why I estimate two iterations at once is to give the customer a little flexibility - lets say we go in to a planning session with just one iteration to plan and we come out with two stories, one is 6 days and the other is 8 days but our velocity is only 10 (8 + 6 = 14. It ain&#8217;t gonna fit!).  So having estimated two iterations it gives the customer the option of shuffling some stories around from the other iteration to get a good fit (perhaps another story comes out as a 4 or a 2 - perfect!).</p>
<p>The other important thing that I do is allow a bit of Slack, and by that I don&#8217;t mean I let the team be a bit lazy, put their feet up and watch TV all day.  I mean allowing for a bit of time in the iteration, maybe 10%, maybe less, which is just there for flexibility.  Maybe the time will be used because we underestimated a bit this time round, maybe it will be used to do some long needed refactoring, maybe there&#8217;s a whole stream of unexpected support problems this iteration, maybe the team will use the time to make some changes to go faster next time&#8230; I was born with a brain that likes efficiency and likes to fill up and make the most of every unit of time so the idea of Slack didn&#8217;t really feel natural to me - but hey it works great - I recommend the book <a href="http://www.amazon.com/Slack-Getting-Burnout-Busywork-Efficiency/dp/0767907698?ie=UTF8&#038;s=books&#038;qid=1181505858&#038;sr=8-1">Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency</a>.  Another good book, about planning, is <a href="http://www.amazon.com/Agile-Estimating-Planning-Robert-Martin/dp/0131479415">Agile Estimating and Planning</a>.</p>
<p>That&#8217;s it.  Getting the customer to prioiritize stories and agreeing to shuffle them around is the hard part.
</p>
]]></content:encoded>
			<wfw:commentRss>http://squadlimber.com/chris/2008/04/07/iteration-planning-what-ive-found-works-well/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Outsourcing My Own Project</title>
		<link>http://squadlimber.com/chris/2008/04/07/outsourcing-my-own-project/</link>
		<comments>http://squadlimber.com/chris/2008/04/07/outsourcing-my-own-project/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 22:00:25 +0000</pubDate>
		<dc:creator>chris.probably</dc:creator>
		
		<category>Agile Planning</category>

		<category>Testing</category>

		<category>Outsourcing</category>

		<guid isPermaLink="false">http://squadlimber.com/chris/2008/04/07/outsourcing-my-own-project/</guid>
		<description><![CDATA[I&#8217;ve decided to outsource one of my own pet projects, I just don&#8217;t realistically have enough time to work on it but I would still like to see it come to life.  I&#8217;m using a site called RentACoder to hire a developer to do the coding.  I don&#8217;t really know quite yet how [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve decided to outsource one of my own pet projects, I just don&#8217;t realistically have enough time to work on it but I would still like to see it come to life.  I&#8217;m using a site called <a href="http://www.rentacoder.com/">RentACoder</a> to hire a developer to do the coding.  I don&#8217;t really know quite yet how I&#8217;m going to run it, I&#8217;ve started by writing some acceptance criteria, and I&#8217;ll be testing it myself by writing some automated acceptance tests.  Ideally I&#8217;d like to give these tests to the developer first but I&#8217;m not really sure how all this RentACoder stuff works yet - should be a fun experiment!</p>
<p>One of the more interesting things about starting a RentACoder project is the options they present to you regarding time of delivery:</p>
<p><img id="image96" src="http://squadlimber.com/chris/wp-content/uploads/2008/04/deliverytimerentacoder.png" alt="deliverytimerentacoder.png" /></p>
<p>I&#8217;m sure we&#8217;ve all been on one of those Option One &#8220;Project must be delivered in X days&#8221; types.  I&#8217;ve been lucky enough to be on a few Option Two projects and even a few Option One projects where we&#8217;ve negotiated what will be delivered in X days and in what priority.  As my project has no deadline and I don&#8217;t want my Programmer-For-Hire to rush and reduce quality in order to meet a deadline, I plumped for Option Three.</p>
<p>I quite like the question regarding Managing Coder Estimates - its like your signing up to a contract agreeing that all programmers underestimate by either 2 or 5 times!</p>
]]></content:encoded>
			<wfw:commentRss>http://squadlimber.com/chris/2008/04/07/outsourcing-my-own-project/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
