<?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>Agile Bob on Making Agile a Reality &#187; Estimation</title>
	<atom:link href="http://www.agileforall.com/category/agile/estimation/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.agileforall.com</link>
	<description>Agile For All</description>
	<lastBuildDate>Mon, 23 Aug 2010 17:23:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Agile antipattern: Sizing or estimating bug fixes</title>
		<link>http://www.agileforall.com/2010/05/05/agile-antipattern-sizing-or-estimating-bug-fixes/</link>
		<comments>http://www.agileforall.com/2010/05/05/agile-antipattern-sizing-or-estimating-bug-fixes/#comments</comments>
		<pubDate>Wed, 05 May 2010 16:45:06 +0000</pubDate>
		<dc:creator>Bob Hartman</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Antipattern]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Estimation]]></category>
		<category><![CDATA[Product Owner]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.agileforall.com/?p=1573</guid>
		<description><![CDATA[Is the bug to the left a large bug or a small bug?  It looks HUGE to me!  Well, in reality it is probably between .5 and .75 inches long.  Not really a very big bug at all.  Why do we care? Because trying to size the fixing of software &#8220;bugs&#8221; is at least as hard [...]


<strong>Related posts:</strong><ol><li><a href='http://www.agileforall.com/2009/12/14/agile-antipattern-burndown-wall/' rel='bookmark' title='Permanent Link: Agile antipattern: Burndown &#8220;wall&#8221;'>Agile antipattern: Burndown &#8220;wall&#8221;</a> <small>Does your team have an iteration burndown chart (giving credit only for...</small></li>
<li><a href='http://www.agileforall.com/2008/11/08/testing-to-find-defects-is-waste/' rel='bookmark' title='Permanent Link: Testing to find defects is waste'>Testing to find defects is waste</a> <small>Have you ever heard someone say that testing to find defects is...</small></li>
<li><a href='http://www.agileforall.com/2009/04/23/agile-antipattern-code-freezes-during-each-iteration/' rel='bookmark' title='Permanent Link: Agile antipattern: Code freezes during each iteration'>Agile antipattern: Code freezes during each iteration</a> <small>Over the past 18 months I&#8217;ve encountered a number of teams where...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p><img class="alignleft size-full wp-image-1574" title="Microsoft Word - Squash Bug Network Article.docx" src="http://www.agileforall.com/wp-content/uploads/2010/05/sqbug.jpg" alt="" width="288" height="359" />Is the bug to the left a large bug or a small bug?  It looks HUGE to me!  Well, in reality it is probably between .5 and .75 inches long.  Not really a very big bug at all.  Why do we care? Because trying to size the fixing of software &#8220;bugs&#8221; is at least as hard as figuring out how big this bug is!</p>
<p>When I teach an Agile or Scrum course someone will almost always ask a question like &#8220;How do you handle bug fixes in iterations or sprints?&#8221;  When I ask &#8220;How do you want to handle them?&#8221; we get into a pretty interesting discussion.  Most people say something similar to &#8220;We should prioritize them with the user stories, size them like we do user stories and then see what fits into each iteration.&#8221;  I usually smile and ask any developers if they know ahead of time how long it will take to fix a defect.  They ALWAYS say &#8220;Sometimes.&#8221;  And THAT is the problem!<span id="more-1573"></span></p>
<p>How can you actually determine the size of fixing something which is broken in an unknown way?  I tell people in my classes I only know two sizes for defect fixes: 1) Trivial because I already know what&#8217;s broken and how to fix it, or 2) Infinite because I have no idea what&#8217;s broken or how to fix it!  If those are the only two sizes available to us how can we possibly put them into iterations effectively?</p>
<p>I have found one effective solution to be the use of Kanban techniques for defect fixing.  I don&#8217;t want to get into what Kanban is or isn&#8217;t and when it should or shouldn&#8217;t be used, so I&#8217;ll just lay out what I have seen be effective for a number of teams:</p>
<ol>
<li>Prioritize the defect list.  This is NOT done in the context of user stories, but separately.  The list is prioritized however the Product Owner says it should be prioritized.</li>
<li>The team and Product Owner decide on how much effort (time) should be used each iteration to work on defects.  Hopefully this is not a large amount, but it might be for teams which have large numbers of defects in a legacy system.</li>
<li>The team determines when the defect fixing time occurs and how they do it. Most effective is to put a gate or two in place on the defects.  For example, gate 1 may say the developer needs to know within 2 hours if the defect is going to take more than a day to fix.  If so, then put it off until a discussion can take place with the Product Owner.  Gate 2 may be after a day if the defect is not fixed perhaps another discussion needs to take place.  However the gates are set up (if they are)  the defects are worked in priority order.</li>
<li>Limit the number of bug fixes being worked at one time to a very small number.  If you don&#8217;t do this you will have each developer working on at least one defect and run the serious risk of none of them getting fixed before the iteration or sprint ends!</li>
</ol>
<p>This 3 step approach allows the team to work on defects in priority order while allowing a set amount of time to be spent on the defects.  The amount of time spent can be changed as needed to address the business needs of the organization at any point in time.</p>
<p>The downside of this is no one can tell a stakeholder something like &#8220;that bug will be fixed by date X&#8221; or &#8220;we&#8217;ll knock out X bugs this iteration.&#8221;  Saying anything like that is a lie anyway, so this shouldn&#8217;t be a big issue.  I say these statements are lies under the assumption the defects are non-trivial.</p>
<p>How else have you managed a defect backlog that has been effective?  I&#8217;d love to have more proven techniques for people to experiment with!</p>
<p>Until next time my clients will be Making Agile a Reality<sup>®</sup> by using sizing only when appropriate!
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.agileforall.com%2F2010%2F05%2F05%2Fagile-antipattern-sizing-or-estimating-bug-fixes%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.agileforall.com%2F2010%2F05%2F05%2Fagile-antipattern-sizing-or-estimating-bug-fixes%2F&amp;source=AgileForAll&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<br /><p><strong>Related posts:</strong><ol><li><a href='http://www.agileforall.com/2009/12/14/agile-antipattern-burndown-wall/' rel='bookmark' title='Permanent Link: Agile antipattern: Burndown &#8220;wall&#8221;'>Agile antipattern: Burndown &#8220;wall&#8221;</a> <small>Does your team have an iteration burndown chart (giving credit only for...</small></li>
<li><a href='http://www.agileforall.com/2008/11/08/testing-to-find-defects-is-waste/' rel='bookmark' title='Permanent Link: Testing to find defects is waste'>Testing to find defects is waste</a> <small>Have you ever heard someone say that testing to find defects is...</small></li>
<li><a href='http://www.agileforall.com/2009/04/23/agile-antipattern-code-freezes-during-each-iteration/' rel='bookmark' title='Permanent Link: Agile antipattern: Code freezes during each iteration'>Agile antipattern: Code freezes during each iteration</a> <small>Over the past 18 months I&#8217;ve encountered a number of teams where...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.agileforall.com/2010/05/05/agile-antipattern-sizing-or-estimating-bug-fixes/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Agile antipattern: Taking on large stories</title>
		<link>http://www.agileforall.com/2009/12/09/agile-antipattern-taking-on-large-stories/</link>
		<comments>http://www.agileforall.com/2009/12/09/agile-antipattern-taking-on-large-stories/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 20:00:16 +0000</pubDate>
		<dc:creator>Bob Hartman</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Estimation]]></category>
		<category><![CDATA[Planning]]></category>
		<category><![CDATA[Practices]]></category>

		<guid isPermaLink="false">http://www.agileforall.com/?p=706</guid>
		<description><![CDATA[Earlier this week I posted a blog entry &#8220;Agile antipattern: Burndown charts that hide the truth&#8221; which dealt with one way a burndown chart could hide reality.  This blog entry shows another way it is possible for a burndown chart to be misleading.  The burndown chart to the left is actually pretty common, especially for [...]


<strong>Related posts:</strong><ol><li><a href='http://www.agileforall.com/2009/12/28/agile-antipattern-another-burndown-chart-that-lies/' rel='bookmark' title='Permanent Link: Agile antipattern: Another burndown chart that lies!'>Agile antipattern: Another burndown chart that lies!</a> <small>That burndown chart looks sweet doesn&#8217;t it?  The team finished the iteration...</small></li>
<li><a href='http://www.agileforall.com/2009/12/07/agile-antipattern-burndown-charts-that-hide-the-truth/' rel='bookmark' title='Permanent Link: Agile antipattern: Burndown charts that hide the truth'>Agile antipattern: Burndown charts that hide the truth</a> <small>See that burndown chart over there to the left?  It looks beautiful...</small></li>
<li><a href='http://www.agileforall.com/2009/12/10/new-to-agile-learn-how-to-split-stories/' rel='bookmark' title='Permanent Link: New to agile? Learn how to split stories'>New to agile? Learn how to split stories</a> <small>In my last blog Agile antipattern: Taking on large stories I said I would...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://www.agileforall.com/wp-content/uploads/2009/12/sprintburndown3.gif"><img class="alignleft size-full wp-image-1107" title="sprintburndown3" src="http://www.agileforall.com/wp-content/uploads/2009/12/sprintburndown3.gif" alt="sprintburndown3" width="360" height="218" /></a>Earlier this week I posted a blog entry &#8220;<a href="http://bit.ly/6K2wL3">Agile antipattern: Burndown charts that hide the truth</a>&#8221; which dealt with one way a burndown chart could hide reality.  This blog entry shows another way it is possible for a burndown chart to be misleading.  The burndown chart to the left is actually pretty common, especially for teams just starting with an agile process.  In this case it looks like no progress is made for quite a period of time, then everything suddenly gets completed.  Even though this team completed all the stories in the iteration it is still an unhealthy burndown chart.<span id="more-706"></span></p>
<p>In this particular case the team had filled their iteration with &#8220;large&#8221; stories.  Notice the stepped nature of the chart.  A very healthy agile team will usually complete stories nearly every day of the iteration which leads to a chart with a downward slope, not a stepped type of line.  When I see steps like this I worry about the size of stories.  In this case there is a second factor which almost certainly points to the stories being too large: no stories are completed during the first 4 days of the iteration.  Taken together these factors almost always point to stories that are too large.</p>
<p>Specifically what do I mean by stories being too large?  I usually instruct teams to take their iteration length in work days and divide by 3.  The resulting number is usually a good number of days of work to average on a per story basis.  So, for a 10 working day (2 week) iteration if stories average getting completed in 3-4 days (people days, not calendar days) then they are the right size.  Because more than one person should be working on each story (you are swarming, right???) this means stories will be completed almost every day.</p>
<p>As the average size of a story gets larger the ability to complete a story every day is compromised.  For example, if the average story creeps up to 6 days, even with 3 people working on each story it means the average story will take 2 calendar days to complete.  In other words we&#8217;ll be completing stories every other day, not every day.  Certainly some can be completed in a day, but others will take 3 days (so the average stays the same).  This gets worse if the number of days to complete a story creeps even higher.</p>
<p><a href="http://www.agileforall.com/wp-content/uploads/2009/12/tetris.jpg"><img class="alignleft size-medium wp-image-1105" title="tetris" src="http://www.agileforall.com/wp-content/uploads/2009/12/tetris-288x300.jpg" alt="tetris" width="288" height="300" /></a>Why is this such a big deal?  Because larger stories tend to get harder to complete within the iteration when they are started later in the iteration.  An image I use in my courses is one of a Tetris game.  Imagine you have built up some blocks (completed stories) and there are now holes which are certain sizes.  Do you want large complicated shapes to fall, or smaller, simpler shapes?  Of course the small, simple shapes are easier to deal with just like it will be easier to deal with smaller stories.  The more complicated the shapes later in the iteration the harder it is to make them all fit and the more likely we are to fall short of our commitment.</p>
<p>Teams fall into this trap quite easily.  If a team has 8 members and velocity for the team is 40 it seems like the team can complete 3 stories of size 13 and 1 story of size 1.  That adds up to 40 so it should be possible.  Unfortunately, the 3 large stories make this scenario very unlikely to be successful.  If 2 people work on each story then the size 1 story gets completed very quickly, but only 6 people can work on the 3 large stories while 2 people sit around and do nothing.  Team capacity is wasted which means the stories won&#8217;t get completed.  If we say 3 people can work on a story then we still have the problem but in a different way &#8211; now we don&#8217;t have enough people to finish the large stories which are each 1/3 of the work in the iteration (we would get 2 of them done but then just have 1/3 of the iteration to get the other done).  As you can see, big stories can cause big problems.</p>
<p><img class="alignleft" title="planning poker cards" src="http://upload.wikimedia.org/wikipedia/en/thumb/e/eb/CrispPlanningPokerDeck.jpg/250px-CrispPlanningPokerDeck.jpg" alt="" width="250" height="183" />Now that we know we have a problem, we have to solve it.  A typical planning poker deck of cards contains some very large numbers.  For this reason teams seem to think they have to use those numbers.  DON&#8217;T!  In fact, the fix I would suggest to stay away from large stories is to burn all cards higher than a 13 (maybe even 8 and higher) and never use them during planning poker.  If a story is larger than your new largest size, split it.  Oh yeah, you don&#8217;t know how to do that part.  That&#8217;s ok, read my next blog entry which will be on splitting stories!</p>
<p>Until next time I&#8217;ll be Making Agile a Reality<sup>®</sup> by burning lots of planning poker cards!  I hope you do too!
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F12%2F09%2Fagile-antipattern-taking-on-large-stories%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F12%2F09%2Fagile-antipattern-taking-on-large-stories%2F&amp;source=AgileForAll&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<br /><p><strong>Related posts:</strong><ol><li><a href='http://www.agileforall.com/2009/12/28/agile-antipattern-another-burndown-chart-that-lies/' rel='bookmark' title='Permanent Link: Agile antipattern: Another burndown chart that lies!'>Agile antipattern: Another burndown chart that lies!</a> <small>That burndown chart looks sweet doesn&#8217;t it?  The team finished the iteration...</small></li>
<li><a href='http://www.agileforall.com/2009/12/07/agile-antipattern-burndown-charts-that-hide-the-truth/' rel='bookmark' title='Permanent Link: Agile antipattern: Burndown charts that hide the truth'>Agile antipattern: Burndown charts that hide the truth</a> <small>See that burndown chart over there to the left?  It looks beautiful...</small></li>
<li><a href='http://www.agileforall.com/2009/12/10/new-to-agile-learn-how-to-split-stories/' rel='bookmark' title='Permanent Link: New to agile? Learn how to split stories'>New to agile? Learn how to split stories</a> <small>In my last blog Agile antipattern: Taking on large stories I said I would...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.agileforall.com/2009/12/09/agile-antipattern-taking-on-large-stories/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Agile antipattern: Comparing velocity between teams</title>
		<link>http://www.agileforall.com/2009/04/30/agile-antipattern-comparing-velocity-between-teams/</link>
		<comments>http://www.agileforall.com/2009/04/30/agile-antipattern-comparing-velocity-between-teams/#comments</comments>
		<pubDate>Fri, 01 May 2009 03:30:15 +0000</pubDate>
		<dc:creator>Bob Hartman</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Antipattern]]></category>
		<category><![CDATA[Estimation]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Planning]]></category>

		<guid isPermaLink="false">http://www.agileforall.com/?p=827</guid>
		<description><![CDATA[I recently saw an excellent blog post about iteration velocity.  Good reading in general, but the last paragraph really got my attention and is why I&#8217;m writing this blog post.  Do NOT compare velocities between teams!  All teams will size (or estimate) with a slightly different scale.  When I teach a course on agile I [...]


<strong>Related posts:</strong><ol><li><a href='http://www.agileforall.com/2009/04/09/agile-antipattern-extending-an-iteration/' rel='bookmark' title='Permanent Link: Agile antipattern: Extending an iteration'>Agile antipattern: Extending an iteration</a> <small>I had a previous blog post about stopping an iteration and how...</small></li>
<li><a href='http://www.agileforall.com/2009/03/30/new-to-agile-dont-settle-for-mediocrity/' rel='bookmark' title='Permanent Link: New to agile? Don&#8217;t settle for mediocrity'>New to agile? Don&#8217;t settle for mediocrity</a> <small>James Shore recently changed the entire focus of his company. This blog...</small></li>
<li><a href='http://www.agileforall.com/2009/03/16/agile-antipattern-moving-work-from-one-iteration-to-the-next/' rel='bookmark' title='Permanent Link: Agile antipattern: Moving work from one iteration to the next'>Agile antipattern: Moving work from one iteration to the next</a> <small>All agile teams start at something less than the completely proficient level. ...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>I recently saw an <a href="http://www.walterbodwell.com/tracking_velocity" target="_blank">excellent blog post about iteration velocity</a>.  Good reading in general, but the last paragraph really got my attention and is why I&#8217;m writing this blog post.  Do NOT compare velocities between teams!  All teams will size (or estimate) with a slightly different scale.  When I teach a course on agile I tell teams to size using points, not hours or ideal days (a blog post for another time).  This means each team determines for their situation what a size &#8220;1&#8243; and all other sizes will be.  They are going to be different.</p>
<p>If you start measuring teams against each other by comparing velocities you will get what you measure.  Teams will start changing their scale so their velocity increases each iteration.  Suddenly what was a size 1 last iteration is now a size 3 (or worse!).  Don&#8217;t fall into this trap.  If teams are working hard, meeting their iteration objectives and keeping the product owner happy I don&#8217;t care if their velocity is 10 or 10,000.</p>
<p>Until next time I&#8217;ll continue warning managers about this practice so it won&#8217;t adversely affect their teams which are Making Agile a Reality™.
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F04%2F30%2Fagile-antipattern-comparing-velocity-between-teams%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F04%2F30%2Fagile-antipattern-comparing-velocity-between-teams%2F&amp;source=AgileForAll&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<br /><p><strong>Related posts:</strong><ol><li><a href='http://www.agileforall.com/2009/04/09/agile-antipattern-extending-an-iteration/' rel='bookmark' title='Permanent Link: Agile antipattern: Extending an iteration'>Agile antipattern: Extending an iteration</a> <small>I had a previous blog post about stopping an iteration and how...</small></li>
<li><a href='http://www.agileforall.com/2009/03/30/new-to-agile-dont-settle-for-mediocrity/' rel='bookmark' title='Permanent Link: New to agile? Don&#8217;t settle for mediocrity'>New to agile? Don&#8217;t settle for mediocrity</a> <small>James Shore recently changed the entire focus of his company. This blog...</small></li>
<li><a href='http://www.agileforall.com/2009/03/16/agile-antipattern-moving-work-from-one-iteration-to-the-next/' rel='bookmark' title='Permanent Link: Agile antipattern: Moving work from one iteration to the next'>Agile antipattern: Moving work from one iteration to the next</a> <small>All agile teams start at something less than the completely proficient level. ...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.agileforall.com/2009/04/30/agile-antipattern-comparing-velocity-between-teams/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New to agile? Do the simplest thing that works &#8211; THEN STOP!</title>
		<link>http://www.agileforall.com/2009/04/27/new-to-agile-do-the-simplest-thing-that-works-then-stop/</link>
		<comments>http://www.agileforall.com/2009/04/27/new-to-agile-do-the-simplest-thing-that-works-then-stop/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 16:34:05 +0000</pubDate>
		<dc:creator>Bob Hartman</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Estimation]]></category>
		<category><![CDATA[Newbie]]></category>
		<category><![CDATA[Planning]]></category>
		<category><![CDATA[Practices]]></category>
		<category><![CDATA[Principles]]></category>
		<category><![CDATA[Product Owner]]></category>

		<guid isPermaLink="false">http://www.agileforall.com/?p=813</guid>
		<description><![CDATA[As an agile trainer and coach I often see new teams struggle with a simple question: &#8220;How much to do on a user story?&#8221;  A lot of people say the simplest thing that works is what should be implemented.  I agree with that wholeheartedly and even have a blog entry on how to figure out what [...]


<strong>Related posts:</strong><ol><li><a href='http://www.agileforall.com/2009/10/06/new-to-agile-keep-it-very-simple/' rel='bookmark' title='Permanent Link: New to agile? Keep it very simple'>New to agile? Keep it very simple</a> <small>When dealing with an agile implementation, particularly in the case of a...</small></li>
<li><a href='http://www.agileforall.com/2009/05/14/new-to-agile-invest-in-good-user-stories/' rel='bookmark' title='Permanent Link: New to agile?  INVEST in good user stories'>New to agile?  INVEST in good user stories</a> <small>As a &lt;user&gt; I want &lt;function&gt; so that&lt;value&gt;. Above is a very...</small></li>
<li><a href='http://www.agileforall.com/2009/02/20/when-in-doubt-ask-how-will-i-know-ive-done-that/' rel='bookmark' title='Permanent Link: When in Doubt Ask &#8220;How Will I Know I&#8217;ve Done That?&#8221;'>When in Doubt Ask &#8220;How Will I Know I&#8217;ve Done That?&#8221;</a> <small>Tired of not knowing exactly what to create or test? Get in...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>As an agile trainer and coach I often see new teams struggle with a simple question: &#8220;How much to do on a user story?&#8221;  A lot of people say the simplest thing that works is what should be implemented.  I agree with that wholeheartedly and even have a <a href="http://www.agileforall.com/2009/02/20/when-in-doubt-ask-how-will-i-know-ive-done-that/" target="_blank">blog entry on how to figure out what the simplest thing is</a>.  Unfortunately, lately I&#8217;ve found myself adding a bit to the sentence.<span id="more-813"></span></p>
<p style="text-align: center;"><strong>Do the simplest thing that works - THEN STOP!</strong></p>
<p>There are developers who do the simplest thing that works and then keep going because they think the customer will want something more.  While they may be right, it isn&#8217;t their decision to make at that point.  Show what the team created at the iteration demo and see if the feedback from the demo says more should be done.  Don&#8217;t just assume it!  The extra work costs time and money, not to mention ongoing support costs if it actually goes to production.  The Product Owner needs to take all of this into account when deciding how far to take a story.</p>
<p>Oh, and while we&#8217;re on the topic, if you want to know how to have a great demo, read <a href="http://www.richardlawrence.info/2009/04/24/how-to-give-a-great-sprint-demo/" target="_blank">this blog entry</a>.  It has some awesome ideas that all teams should try to follow.  The only thing I would add is to have someone other than a developer or tester be able to try the software during the demo.  Too many horror stories about how things were missed when developers went through demos too fast!</p>
<p>Thanks for reading this.  Until next time I&#8217;ll be helping teams in Making Agile a Reality™ by putting up a stop sign when they start trying to <a href="http://geekswithblogs.net/dthakur/archive/2005/04/08/28686.aspx" target="_blank">gold plate features</a>!
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F04%2F27%2Fnew-to-agile-do-the-simplest-thing-that-works-then-stop%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F04%2F27%2Fnew-to-agile-do-the-simplest-thing-that-works-then-stop%2F&amp;source=AgileForAll&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<br /><p><strong>Related posts:</strong><ol><li><a href='http://www.agileforall.com/2009/10/06/new-to-agile-keep-it-very-simple/' rel='bookmark' title='Permanent Link: New to agile? Keep it very simple'>New to agile? Keep it very simple</a> <small>When dealing with an agile implementation, particularly in the case of a...</small></li>
<li><a href='http://www.agileforall.com/2009/05/14/new-to-agile-invest-in-good-user-stories/' rel='bookmark' title='Permanent Link: New to agile?  INVEST in good user stories'>New to agile?  INVEST in good user stories</a> <small>As a &lt;user&gt; I want &lt;function&gt; so that&lt;value&gt;. Above is a very...</small></li>
<li><a href='http://www.agileforall.com/2009/02/20/when-in-doubt-ask-how-will-i-know-ive-done-that/' rel='bookmark' title='Permanent Link: When in Doubt Ask &#8220;How Will I Know I&#8217;ve Done That?&#8221;'>When in Doubt Ask &#8220;How Will I Know I&#8217;ve Done That?&#8221;</a> <small>Tired of not knowing exactly what to create or test? Get in...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.agileforall.com/2009/04/27/new-to-agile-do-the-simplest-thing-that-works-then-stop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ten Ways to Improve Your Planning Poker Results</title>
		<link>http://www.agileforall.com/2009/04/02/ten-ways-to-improve-your-planning-poker-results/</link>
		<comments>http://www.agileforall.com/2009/04/02/ten-ways-to-improve-your-planning-poker-results/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 15:36:06 +0000</pubDate>
		<dc:creator>Bob Hartman</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Estimation]]></category>
		<category><![CDATA[Planning]]></category>
		<category><![CDATA[Practices]]></category>
		<category><![CDATA[mike cohn]]></category>
		<category><![CDATA[planning poker]]></category>

		<guid isPermaLink="false">http://www.agileforall.com/blog/?p=101</guid>
		<description><![CDATA[People who promote the use of Planning Poker understand some of the main reasons why it is successful.  People like Mike Cohn have been very instrumental in pushing planning poker and even created www.planningpoker.com for people to be able to play planning poker with distributed teams.  There are very good reasons why most agile trainers and [...]


<strong>Related posts:</strong><ol><li><a href='http://www.agileforall.com/2009/12/09/agile-antipattern-taking-on-large-stories/' rel='bookmark' title='Permanent Link: Agile antipattern: Taking on large stories'>Agile antipattern: Taking on large stories</a> <small>Earlier this week I posted a blog entry &#8220;Agile antipattern: Burndown charts...</small></li>
<li><a href='http://www.agileforall.com/2009/12/10/new-to-agile-learn-how-to-split-stories/' rel='bookmark' title='Permanent Link: New to agile? Learn how to split stories'>New to agile? Learn how to split stories</a> <small>In my last blog Agile antipattern: Taking on large stories I said I would...</small></li>
<li><a href='http://www.agileforall.com/2009/05/14/new-to-agile-invest-in-good-user-stories/' rel='bookmark' title='Permanent Link: New to agile?  INVEST in good user stories'>New to agile?  INVEST in good user stories</a> <small>As a &lt;user&gt; I want &lt;function&gt; so that&lt;value&gt;. Above is a very...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p><img class="alignleft" title="Planning poker" src="http://farm3.static.flickr.com/2203/2533808052_9a73c6dd79_m.jpg" alt="" width="240" height="160" />People who promote the use of Planning Poker understand some of the main reasons why it is successful.  People like <a href="http://www.mountaingoatsoftware.com" target="_blank">Mike Cohn</a> have been very instrumental in pushing planning poker and even created <a href="http://www.planningpoker.com" target="_blank">www.planningpoker.com</a> for people to be able to play planning poker with distributed teams.  There are very good reasons why most agile trainers and coaches (myself included) promote its use. <span id="more-101"></span></p>
<p>My personal top 3 reasons planning poker is great are (all of these assume the team is using planning poker appropriately):</p>
<ol>
<li>Fosters collaboration by engaging entire team</li>
<li>Creates consensus estimate rather than having a single person driving the estimate</li>
<li>Exposes issues early through discussion of each user story</li>
</ol>
<p>All of those are great reasons to use planning poker, but there are also some ways to help make it work even better.  The three items listed above are all very obvious if you watch successful teams using planning poker.  But there are small things most people miss which can be done to improve the process.  Knowing of those things allows successful coaches to help teams get even better.  The beauty of it is you don&#8217;t have to be a coach, just someone the team trusts, to help the team get better.  So what are these nuggets of wisdom?</p>
<ol>
<li>Those who actually could do the work are the ones that vote.  Too often agile teams have everyone vote even if they have no idea about the work involved in the story.</li>
<li>Managers don&#8217;t vote.  Managers are usually incented to have the work take less time, so they often skew the vote too low.  However, managers have more experience than the average team member, so I usually give them veto power over the team consensus in one specific circumstance &#8211; they can ask the team if they have considered something which may <strong>INCREASE</strong> the size.  They are never allowed to try to get the team to decrease the size.  Their opinion carries too much weight and acts as an anchor to the size, dragging it down in direct propoportion to how vigorously they defend their position.</li>
<li>When there is a tie in the voting between two sizes which are consecutive, just pick the larger size and move on.  Remember, consecutive sizes might be 5 and 8 if you are using the Fibonacci sequence for sizing (1, 2, 3, 5, 8, 13).  No one should complain about using the higher number and an equal split usually takes a long time to resolve.  It also usually resolves to the higher number, at least in my experience, so let&#8217;s use those facts to our advantage and move on.</li>
<li>Stop implementation discussions before they go too deep.  Teams commonly drive down to the technical details when they are discussing a user story.  This is fine to a certain extent, but it should be severely limited.  No more than a one minute discussion.  The people doing the sizing should determine in their mind the simplest possible solution and pick a size based on that scenario.  It seems like more discussion will make the size more accurate, but in reality this just isn&#8217;t true.  The scale is not very granular so there is a distinct lack of precision.  This is done partially to encourage teams to just make their best guess and move on.</li>
<li>Use an &#8220;I need a break&#8221; card.  Too often teams will be working hard playing planning poker and not realize some people on the team need a break.  Having the &#8220;I need a break&#8221; card allows someone to draw everyone&#8217;s attention to this.</li>
<li>Use a timer of some sort to limit discussion.  This is self-explanatory.  I usually like to limit discussions to no more than one minute.</li>
<li>If consensus cannot be reached by the end of the third round of voting pick the largest size and move on.  After two rounds of discussion further discussion usually does not yield great results for the time invested.  By choosing the largest size the team has a chance to improve upon it, but they will not be in any danger of not having enough time.  Not having enough time is a major problem the team is trying to avoid, so this particular short cut should not cause major issues.</li>
<li>Have the person creating the user stories meet with QA and Development leads prior to playing planning poker to make sure the user stories have answers to the most obvious questions the team will ask.  This allows the team to focus on the size, not spend time gathering information.</li>
<li>Remember the baseline.  Whatever the team picks as a baseline needs to be consistent from iteration to iteration.  If an ideal day is a size 1 then all iterations need to use that reference point.  If a particular user story is a size 1 or a size 3 then that needs to remain consistent across iterations.  It can sometimes be helpful after a few stories have been sized to bring up the baseline and ask the team if they agree the sizes are truly relative to the baseline.  Failure to do this could lead to what I&#8217;ll call &#8220;size creep&#8221; over time.  In other words the team slowly changes their baseline mentally to be either larger or smaller than it truly is.  This usually shows up as the team not being able to meet their commitment for several iterations even though everything looks more or less the same.</li>
<li>Have fun!  Playing planning poker should be a fun, collaborative exercise.  Too many teams try to grind it out for an hour or two and forget to enjoy their work.  There are many ways fun can be injected into the process.  One I particularly like is to play real poker with the sizes.  Every sized story counts as a poker card and every five stories makes a poker hand.  Prior to starting everyone tries to pick which hand will be the best poker hand (i.e. pick hand 1, hand 2, hand 3, etc.).  This encourages them to look at the user stories ahead of time so they can try to make a good guess about which set of 5 will make a straight or 4 of a kind.  Winners can even get a small prize.</li>
</ol>
<p>Give these tips a try and see if they help your team.  Until next time I&#8217;ll be Making Agile a Reality™ by helping teams play planning poker!</p>
<p>An expanded version of this blog entry appeared at the Agile DZone <a href="http://agile.dzone.com/articles/introduction-planning-poker">http://agile.dzone.com/articles/introduction-planning-poker</a>.  That article has now been translated into Japanese and can be seen at <a href="http://pub.ne.jp/Under_the_Bridge/?entry_id=2762950">http://pub.ne.jp/Under_the_Bridge/?entry_id=2762950</a> (thanks to Tetsuji Maegawa for the translation!).
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F04%2F02%2Ften-ways-to-improve-your-planning-poker-results%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F04%2F02%2Ften-ways-to-improve-your-planning-poker-results%2F&amp;source=AgileForAll&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<br /><p><strong>Related posts:</strong><ol><li><a href='http://www.agileforall.com/2009/12/09/agile-antipattern-taking-on-large-stories/' rel='bookmark' title='Permanent Link: Agile antipattern: Taking on large stories'>Agile antipattern: Taking on large stories</a> <small>Earlier this week I posted a blog entry &#8220;Agile antipattern: Burndown charts...</small></li>
<li><a href='http://www.agileforall.com/2009/12/10/new-to-agile-learn-how-to-split-stories/' rel='bookmark' title='Permanent Link: New to agile? Learn how to split stories'>New to agile? Learn how to split stories</a> <small>In my last blog Agile antipattern: Taking on large stories I said I would...</small></li>
<li><a href='http://www.agileforall.com/2009/05/14/new-to-agile-invest-in-good-user-stories/' rel='bookmark' title='Permanent Link: New to agile?  INVEST in good user stories'>New to agile?  INVEST in good user stories</a> <small>As a &lt;user&gt; I want &lt;function&gt; so that&lt;value&gt;. Above is a very...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.agileforall.com/2009/04/02/ten-ways-to-improve-your-planning-poker-results/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Agile antipattern:  But the development lead said it would take way less time than that</title>
		<link>http://www.agileforall.com/2009/03/02/agile-antipattern-but-the-development-lead-said-it-would-take-way-less-time-than-that/</link>
		<comments>http://www.agileforall.com/2009/03/02/agile-antipattern-but-the-development-lead-said-it-would-take-way-less-time-than-that/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 19:51:26 +0000</pubDate>
		<dc:creator>Bob Hartman</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Antipattern]]></category>
		<category><![CDATA[Estimation]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Planning]]></category>
		<category><![CDATA[agile antipattern]]></category>
		<category><![CDATA[cone of uncertainty]]></category>
		<category><![CDATA[development lead]]></category>
		<category><![CDATA[mike cohn]]></category>
		<category><![CDATA[planning poker]]></category>
		<category><![CDATA[waterfall approach]]></category>
		<category><![CDATA[waterfall model]]></category>

		<guid isPermaLink="false">http://www.agileforall.com/blog/?p=135</guid>
		<description><![CDATA[I&#8217;d be rich if I had a nickel for every time I&#8217;ve heard this, or something very similar to it, in the past 30 years!  Alright, that&#8217;s taking it too far, but I think I could at least afford a really nice dinner out with my family on the amount I&#8217;d have received.  But that isn&#8217;t [...]


<strong>Related posts:</strong><ol><li><a href='http://www.agileforall.com/2009/06/03/agile-antipattern-insanity-5-insanity-antipatterns/' rel='bookmark' title='Permanent Link: Agile antipattern: Insanity! (5 insanity antipatterns)'>Agile antipattern: Insanity! (5 insanity antipatterns)</a> <small>It is sometimes said the definition of insanity is doing the same...</small></li>
<li><a href='http://www.agileforall.com/2009/04/23/agile-antipattern-code-freezes-during-each-iteration/' rel='bookmark' title='Permanent Link: Agile antipattern: Code freezes during each iteration'>Agile antipattern: Code freezes during each iteration</a> <small>Over the past 18 months I&#8217;ve encountered a number of teams where...</small></li>
<li><a href='http://www.agileforall.com/2009/12/14/agile-antipattern-burndown-wall/' rel='bookmark' title='Permanent Link: Agile antipattern: Burndown &#8220;wall&#8221;'>Agile antipattern: Burndown &#8220;wall&#8221;</a> <small>Does your team have an iteration burndown chart (giving credit only for...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>I&#8217;d be rich if I had a nickel for every time I&#8217;ve heard this, or something very similar to it, in the past 30 years!  Alright, that&#8217;s taking it too far, but I think I could at least afford a really nice dinner out with my family on the amount I&#8217;d have received.  But that isn&#8217;t the point.  The point is anyone thinking this statement is a valid excuse for poor results is wrong on several fronts.<span id="more-135"></span></p>
<p><a href="http://www.amazon.com/gp/product/0131479415?ie=UTF8&amp;tag=agfoal-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0131479415"><img title="Mike Cohns Agile Estimating and Planning" src="https://images-na.ssl-images-amazon.com/images/I/51PpRabtJ2L._SL160_.jpg" border="0" alt="" hspace="10" vspace="10" width="122" height="160" align="left" /></a>Before we go any further, if the title intrigued you, immediately click on the image to the left and purchase Mike Cohn&#8217;s bible about agile estimating and planning!  If you don&#8217;t own this book, then I now know why the title of this blog post made you look further! </p>
<p>Now, back to the issue at hand and why it is wrong to think this way.  First of all, this type of statement is part of the reason a waterfall model doesn&#8217;t work.  In the waterfall model it is typically development leads or other managers giving the time estimates.  This isn&#8217;t a written rule for a waterfall approach, but it seems to be given how often I have seen it in my career.  Let&#8217;s think about it for a second and see why this is the wrong way to approach things.  Is the development lead rewarded when a lot of software gets completed?  If so, this incentive is at least subliminally causing them to cut time estimates to the bone.  Is the development lead more experienced than most members of the team?  If so (and I hope the answer is yes!), then he or she is likely to estimate for their rate of development, not the rate of development for an average team member.  Does the development lead have enough clarity to actually give a meaningful answer?  If yes, great, but in most cases the answer is no.  Again, this leads to an estimate which may be on the low side due to a lack of knowledge about specifics.  So just from a logic point of view, using a model where the development lead estimates time is bad.</p>
<p>Second, on agile teams some goals are to collaborate well, and be held accountable for results.  If this is true (and it is), then we are completely bypassing both of these.  We are not allowing the team to collaborate to come up with an estimate they can live with.  Further we are holding them accountable to a result when they were not given the opportunity to give input.  We are back to waterfall where someone says we need x by date y and I told with Joe and he said we could do it, so do it.  That isn&#8217;t agile, that&#8217;s lunacy!</p>
<p>Lastly, we have taken a single data point and assumed it is 100% accurate at the start.  Even in a waterfall project it is well known that accuracy of estimates at the beginning of a project vary widely.  Review the <a href="http://www.codinghorror.com/blog/archives/000623.html" target="_blank">cone of uncertainty</a> to learn more about how bad it can be.  Part of our goal in agile is to deal with the cone of uncertainty by iterating toward a result.  So to add insult to injury, we assumed the estimate was correct, and we didn&#8217;t check on it each iteration to deal with reality.  How not agile can you get?</p>
<p>Project managers are starting to recognize that estimating is different in agile.  <a href="http://www.pmtoolbox.com/project-management-news/top-10-agile-estimation-best-practices.html" target="_blank">This blog post from PM Toolbox</a> is just one example.  There are many more things to consider when estimating.  For example, <a href="http://jrothman.com/blog/mpd/2005/04/schedule-game-2-90-done.html" target="_blank">things sometimes get more difficult at the end</a> of a project (or at least development slows down).  There is a reason the 80/20 rule is often cited!  There are lots of ways to estimate, and lots of ways to do it poorly.</p>
<p>The bottom line is the worst thing anyone can do is ask a development lead to estimate something and then hold an agile team accountable to the estimate.  Collaborate and use <a href="http://en.wikipedia.org/wiki/Planning_poker" target="_blank">planning poker</a> to create estimates and you will be a lot happier in the long run.  There is even <a href="http://www.planningpoker.com" target="_blank">planningpoker.com</a> for teams that are distributed! </p>
<p>Time for me to get ready for a trip to Boston where I&#8217;ll be starting down the path of  Making Agile a Reality™ for another client.
<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F03%2F02%2Fagile-antipattern-but-the-development-lead-said-it-would-take-way-less-time-than-that%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F03%2F02%2Fagile-antipattern-but-the-development-lead-said-it-would-take-way-less-time-than-that%2F&amp;source=AgileForAll&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<br /><p><strong>Related posts:</strong><ol><li><a href='http://www.agileforall.com/2009/06/03/agile-antipattern-insanity-5-insanity-antipatterns/' rel='bookmark' title='Permanent Link: Agile antipattern: Insanity! (5 insanity antipatterns)'>Agile antipattern: Insanity! (5 insanity antipatterns)</a> <small>It is sometimes said the definition of insanity is doing the same...</small></li>
<li><a href='http://www.agileforall.com/2009/04/23/agile-antipattern-code-freezes-during-each-iteration/' rel='bookmark' title='Permanent Link: Agile antipattern: Code freezes during each iteration'>Agile antipattern: Code freezes during each iteration</a> <small>Over the past 18 months I&#8217;ve encountered a number of teams where...</small></li>
<li><a href='http://www.agileforall.com/2009/12/14/agile-antipattern-burndown-wall/' rel='bookmark' title='Permanent Link: Agile antipattern: Burndown &#8220;wall&#8221;'>Agile antipattern: Burndown &#8220;wall&#8221;</a> <small>Does your team have an iteration burndown chart (giving credit only for...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.agileforall.com/2009/03/02/agile-antipattern-but-the-development-lead-said-it-would-take-way-less-time-than-that/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
