<?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; Practices</title>
	<atom:link href="http://www.agileforall.com/category/agile/practices-agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.agileforall.com</link>
	<description>Agile For All</description>
	<lastBuildDate>Sun, 05 Feb 2012 04:36:31 +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>New to agile? Remember a user story is more than a card!</title>
		<link>http://www.agileforall.com/2010/05/03/new-to-agile-remember-a-user-story-is-more-than-a-card/</link>
		<comments>http://www.agileforall.com/2010/05/03/new-to-agile-remember-a-user-story-is-more-than-a-card/#comments</comments>
		<pubDate>Mon, 03 May 2010 17:20:09 +0000</pubDate>
		<dc:creator>Bob Hartman</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Newbie]]></category>
		<category><![CDATA[Practices]]></category>
		<category><![CDATA[Product Owner]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.agileforall.com/?p=1018</guid>
		<description><![CDATA[What&#8217;s wrong with the user story on the card?  It seems to have everything we need: a) short title, b) a size (in this case 2), and c) a well-written story using the standard &#8220;As a &#8230; I want &#8230; so that &#8230;&#8221; format.  So what&#8217;s wrong? Nothing!  Well, almost nothing.  The user story card [...]
<strong>Related posts:</strong><ol>
<li><a href='http://www.agileforall.com/2009/05/14/new-to-agile-invest-in-good-user-stories/' rel='bookmark' title='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/23/new-to-agile-remember-one-thing-just-enough-just-in-time/' rel='bookmark' title='New to agile?  Remember one thing: Just enough, just in time'>New to agile?  Remember one thing: Just enough, just in time</a> <small>If you lived through the past few decades you have undoubtedly heard...</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='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><img class="alignleft size-full wp-image-1565" title="us" src="http://www.agileforall.com/wp-content/uploads/2010/05/us.png" alt="" width="336" height="232" />What&#8217;s wrong with the user story on the card?  It seems to have everything we need: a) short title, b) a size (in this case 2), and c) a well-written story using the standard &#8220;As a &#8230; I want &#8230; so that &#8230;&#8221; format.  So what&#8217;s wrong? Nothing!  Well, almost nothing.  The user story card is a great <em>STARTING POINT</em>, but it is not sufficient by itself.</p>
<p>In coaching Agile and Scrum teams I see many of them starting out with the assumption that the user story card contains all the information they need in order to create a high quality piece of software.  Forgive me for being harsh, but how stupid is that?  Assuming a single sentence can fully describe something which might take a few days to analyze, design, code and test seems pretty ambitious.  No, let me take that back.  It&#8217;s more than pretty ambitious, it is just not possible. So I ask again, what&#8217;s wrong with this story card?<span id="more-1018"></span></p>
<p>And again I&#8217;ll answer that there is nothing wrong with it, but it is a <em>STARTING POINT</em>.  Many people are familiar with the phrase &#8220;INVEST in good user stories&#8221; which is an easy way to remember to use the INVEST acronym for guidance when creating user stories.  I wrote a blog entry about that titled &#8220;<a href="http://www.agileforall.com/2009/05/14/new-to-agile-invest-in-good-user-stories/">New to agile? INVEST in good user stories</a>&#8220;  Web searches lead people to that blog entry many times every day.  But it isn&#8217;t sufficient!  If you read agile literature for any period of time you will eventually see the phrase &#8220;A user story is an invitation to a conversation.&#8221;  This is vitally important to success!  A conversation allows more description than a single sentence.  It can clarify many aspects of the user story.  Taking this a step further we also need to be able to confirm the user story is completed.</p>
<p>Taking all of this together we end up with the 3 C&#8217;s of good user stories: <strong>Card, Conversation, Confirmation</strong>.  Ron Jeffries <a href="http://xprogramming.com/articles/expcardconversationconfirmation/">wrote about this</a> all the way back in 2001 and his advice is still good today.  Agile and Scrum teams need to remember the card is the starting point.  It leads to a conversation where more specifics are given and negotiation (the N in INVEST) can occur.  All of that leads to confirmation in the form of tests (the T in INVEST).  A good story card will likely end up with a back side covered with results of the conversation(s) and confirmation tests.</p>
<p><img class="alignright size-medium wp-image-1569" title="smeeting" src="http://www.agileforall.com/wp-content/uploads/2010/05/smeeting-300x225.jpg" alt="" width="300" height="225" />Next time you see a user story card don&#8217;t ask yourself if you need to have a conversation about it.  Instead just assume you need to have a conversation and have it!  Go to the Product Owner or customer or customer proxy and ask to discuss the story.  Make notes for yourself.  In fact it is even better (vital in my mind) to have the conversation involve a developer, tester and product person.  I call them 3-headed conversations.  This allows everyone to be on the same page so later there is no disagreement about what was really meant by the story.  This avoids one of my least favorite conversations which happens when the tester and developer disagree about what the requirement means AFTER the code is written.</p>
<p>If you are using an agile lifecycle management tool rather than physical cards, record the decisions made during the conversation and any resulting confirmation tests in various fields in the tool.  You must make sure the information is captured in case someone else who was not part of the original 3-headed conversation ends up doing some work on the story.</p>
<p>Try using the 3 C&#8217;s and see if your results improve.  I&#8217;m sure they will.</p>
<p>Until next time I&#8217;ll be Making Agile a Reality<sup>®</sup> for my clients by continuing to train and coach them to use the 3 C&#8217;s effectively.
<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%2F03%2Fnew-to-agile-remember-a-user-story-is-more-than-a-card%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.agileforall.com%2F2010%2F05%2F03%2Fnew-to-agile-remember-a-user-story-is-more-than-a-card%2F&amp;source=AgileForAll&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.agileforall.com%2F2010%2F05%2F03%2Fnew-to-agile-remember-a-user-story-is-more-than-a-card%2F&amp;title=New%20to%20agile%3F%20Remember%20a%20user%20story%20is%20more%20than%20a%20card%21" id="wpa2a_2"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><br /><p><strong>Related posts:</strong><ol>
<li><a href='http://www.agileforall.com/2009/05/14/new-to-agile-invest-in-good-user-stories/' rel='bookmark' title='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/23/new-to-agile-remember-one-thing-just-enough-just-in-time/' rel='bookmark' title='New to agile?  Remember one thing: Just enough, just in time'>New to agile?  Remember one thing: Just enough, just in time</a> <small>If you lived through the past few decades you have undoubtedly heard...</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='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/2010/05/03/new-to-agile-remember-a-user-story-is-more-than-a-card/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Agile antipatterns: Agile burn-down chart roundup post</title>
		<link>http://www.agileforall.com/2009/12/29/agile-antipattern-dysfunctional-burndown-charts-roundup-post/</link>
		<comments>http://www.agileforall.com/2009/12/29/agile-antipattern-dysfunctional-burndown-charts-roundup-post/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 17:45:40 +0000</pubDate>
		<dc:creator>Bob Hartman</dc:creator>
				<category><![CDATA[Antipattern]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Practices]]></category>

		<guid isPermaLink="false">http://www.agileforall.com/?p=1239</guid>
		<description><![CDATA[Do you want to see several different ways agile and scrum burn-down charts can lie?  If so, you are in the right place! This month I went on a burn-down chart craze and posted several blog entries about the different ways those charts can lie to us or expose us to team dysfunction.  In order, the [...]
<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='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/14/agile-antipattern-burndown-wall/' rel='bookmark' title='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/2009/12/07/agile-antipattern-burndown-charts-that-hide-the-truth/' rel='bookmark' title='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>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>Do you want to see several different ways agile and scrum burn-down charts can lie?  If so, you are in the right place! This month I went on a burn-down chart craze and posted several blog entries about the different ways those charts can lie to us or expose us to team dysfunction.  In order, the blog entries are:</p>
<ul>
<li><a href="http://www.agileforall.com/2009/12/07/agile-antipattern-burndown-charts-that-hide-the-truth/">Agile antipattern: Burndown charts that hide the truth</a></li>
<li><a title="Permanent link to Agile antipattern: Taking on large stories" rel="bookmark" href="http://www.agileforall.com/2009/12/09/agile-antipattern-taking-on-large-stories/">Agile antipattern: Taking on large stories</a></li>
<li>Which led to <a title="Permanent link to New to agile? Learn how to split stories" rel="bookmark" href="http://www.agileforall.com/2009/12/10/new-to-agile-learn-how-to-split-stories/">New to agile? Learn how to split stories</a></li>
<li><a title="Permanent link to Agile antipattern: Burndown “wall”" rel="bookmark" href="http://www.agileforall.com/2009/12/14/agile-antipattern-burndown-wall/">Agile antipattern: Burndown “wall”</a></li>
<li><a href="http://www.agileforall.com/2009/12/22/agile-antipattern-changing-the-definition-of-done">Agile antipattern: Changing the definition of done</a></li>
<li><a href="http://www.agileforall.com/2009/12/28/agile-antipattern-another-burndown-chart-that-lies/">Agile antipattern: Another burndown chart that lies!</a></li>
</ul>
<p>The whole series had a LOT of web hits, so clearly I&#8217;ve touched a nerve.  Good luck improving your agile or scrum metrics.  Sometime next year I&#8217;ll do a series on metrics in general.  Our current state of the art for agile teams is pretty pathetic because the data can be skewed so badly (as shown by all of these blog posts).</p>
<p>Until next time I&#8217;ll be Making Agile a Reality<sup>®</sup> by helping people understand the real meaning behind their agile burn down charts.
<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%2F29%2Fagile-antipattern-dysfunctional-burndown-charts-roundup-post%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F12%2F29%2Fagile-antipattern-dysfunctional-burndown-charts-roundup-post%2F&amp;source=AgileForAll&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F12%2F29%2Fagile-antipattern-dysfunctional-burndown-charts-roundup-post%2F&amp;title=Agile%20antipatterns%3A%20Agile%20burn-down%20chart%20roundup%20post" id="wpa2a_4"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></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='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/14/agile-antipattern-burndown-wall/' rel='bookmark' title='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/2009/12/07/agile-antipattern-burndown-charts-that-hide-the-truth/' rel='bookmark' title='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>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.agileforall.com/2009/12/29/agile-antipattern-dysfunctional-burndown-charts-roundup-post/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New to agile? Learn how to split stories</title>
		<link>http://www.agileforall.com/2009/12/10/new-to-agile-learn-how-to-split-stories/</link>
		<comments>http://www.agileforall.com/2009/12/10/new-to-agile-learn-how-to-split-stories/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 20:00:55 +0000</pubDate>
		<dc:creator>Bob Hartman</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Practices]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.agileforall.com/?p=1079</guid>
		<description><![CDATA[In my last blog Agile antipattern: Taking on large stories I said I would give you some tips on how to split stories.  First though, it is important to understand WHY splitting a story well can be helpful.  It is about much more than just making smaller stories.  In fact, making smaller stories may be the least [...]
<strong>Related posts:</strong><ol>
<li><a href='http://www.agileforall.com/2009/05/14/new-to-agile-invest-in-good-user-stories/' rel='bookmark' title='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/12/09/agile-antipattern-taking-on-large-stories/' rel='bookmark' title='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/29/agile-antipattern-dysfunctional-burndown-charts-roundup-post/' rel='bookmark' title='Agile antipatterns: Agile burn-down chart roundup post'>Agile antipatterns: Agile burn-down chart roundup post</a> <small>Do you want to see several different ways agile and scrum burn-down charts...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://www.agileforall.com/wp-content/uploads/2009/12/story.jpg"><img class="alignleft size-full wp-image-1131" title="story" src="http://www.agileforall.com/wp-content/uploads/2009/12/story.jpg" alt="story" width="180" height="180" /></a>In my last blog <a href="http://bit.ly/4XsfJc">Agile antipattern: Taking on large stories</a> I said I would give you some tips on how to split stories.  First though, it is important to understand WHY splitting a story well can be helpful.  It is about much more than just making smaller stories.  In fact, making smaller stories may be the least important part of splitting stories.  The most important aspect of splitting user stories is to help make sure the team can be successful.  However, that statement has a lot implied in it.  We need to dig a lot deeper to expose the real reasons for splitting user stories and not just do it as a good practice (we must <a href="http://bit.ly/80Yfrr">BE agile vs. DOING agile</a>).  Not that it isn&#8217;t a good practice, just that there are more reasons for doing it!<span id="more-1079"></span></p>
<p>How can the team be more successful by splitting large stories?  Well, my last blog entry on <a href="http://bit.ly/4XsfJc">taking on large stories</a> makes it clear one advantage is stories will fit better into an iteration when they are smaller.  But I said making them smaller was not very important, so there must be more to this than meets the eye, right?  Yes, there is!  Below is a list of 10 reasons why splitting large user stories will help teams be more successful.</p>
<ol>
<li>It may be possible to split a story so some of the work on the original story doesn&#8217;t have to be done.  Ding, ding!  Huge productivity improvement!  Lean principle alert &#8211; eliminate waste!  This reason is good in some many ways you can&#8217;t even begin to count them.  Any time work can be eliminated without affecting the overall value of the product it is a good thing.  Oh, and if after splitting the story we see we don&#8217;t need to do any of it, well that&#8217;s just AWESOME!</li>
<li>Stories can be split to expose more personas.  Sometimes teams see a story as large because there are many different types of personas which must be taken into account.  The story becomes easier to deal with, and we gain clarity, when we see the personas split out separately.</li>
<li>Stories can be split to help expose risk.  We may have user stories which have elements of risk in them.  If we can split the user story to isolate the risk we may be able to avoid the risk altogether.</li>
<li>It may be possible to split a story to ease a transition.  When we upgrade existing functionality we often give users a bit of a shock.  Sometimes we can split stories to give a smaller shock up front and postpone other work until a later release.</li>
<li>A split story may be able to have more people work on it at once (swarming).  If a story is large and requires primarily one type of expertise we tend to let a single person do all of that type of work.  However, a split story may enable others to chip in because some portions of the large chunk of work can be handled by people with less expertise.</li>
<li>Splitting a story may give us more visibility into its true size.  I have seen many teams split a size 13 story into 3 pieces and end up with 3 stories each of size 8!  In fact it isn&#8217;t even that uncommon.  When we have an upper bound on our story size we tend to use that size for anything &#8220;big.&#8221;  This leads to large under-estimating for truly large stories.</li>
<li>A story split may allow us to use a different quality standard for the new stories.  A simple example in a reporting system may be two of the same type of report, but one is run hourly and one is run yearly.  The hourly report may need higher quality than the one run yearly.  This may be a bad example, but I think it gets the concept across.</li>
<li>When a story is split correctly it can help with testing.  Some portions of the story may require full end-to-end testing, while other portions may be able to be tested in a mock environment.</li>
<li>A split story may isolate performance factors.  One portion of the original story may affect performance while another does not.  This may affect prioritization as well as performance testing time.</li>
<li>Of course, splitting stories may just make the original story be in more digestible chunks so they fit better into iterations.</li>
</ol>
<p>Those are all good reasons for splitting user stories, but I haven&#8217;t really told you how to do it.  That&#8217;s because I don&#8217;t have to.  My good friend and fellow founder of the <a href="http://www.agilecooperative.com">Agile Cooperative</a>, <a href="http://www.richardlawrence.info">Richard Lawrence</a>, recently had a blog entry on <a href="http://bit.ly/77ov6J">Patterns for Splitting User Stories</a>.  He explains it much better than I ever could!  In fact, he explains it so well that Dean Leffingwell is going to be using Richard&#8217;s work in his next book.  High praise indeed.</p>
<p>Until next time keep Making Agile a Reality<sup>®</sup> by splitting those large stories!
<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%2F10%2Fnew-to-agile-learn-how-to-split-stories%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F12%2F10%2Fnew-to-agile-learn-how-to-split-stories%2F&amp;source=AgileForAll&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F12%2F10%2Fnew-to-agile-learn-how-to-split-stories%2F&amp;title=New%20to%20agile%3F%20Learn%20how%20to%20split%20stories" id="wpa2a_6"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><br /><p><strong>Related posts:</strong><ol>
<li><a href='http://www.agileforall.com/2009/05/14/new-to-agile-invest-in-good-user-stories/' rel='bookmark' title='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/12/09/agile-antipattern-taking-on-large-stories/' rel='bookmark' title='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/29/agile-antipattern-dysfunctional-burndown-charts-roundup-post/' rel='bookmark' title='Agile antipatterns: Agile burn-down chart roundup post'>Agile antipatterns: Agile burn-down chart roundup post</a> <small>Do you want to see several different ways agile and scrum burn-down charts...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.agileforall.com/2009/12/10/new-to-agile-learn-how-to-split-stories/feed/</wfw:commentRss>
		<slash:comments>2</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/10/new-to-agile-learn-how-to-split-stories/' rel='bookmark' title='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='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/12/28/agile-antipattern-another-burndown-chart-that-lies/' rel='bookmark' title='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>
</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&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F12%2F09%2Fagile-antipattern-taking-on-large-stories%2F&amp;title=Agile%20antipattern%3A%20Taking%20on%20large%20stories" id="wpa2a_8"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><br /><p><strong>Related posts:</strong><ol>
<li><a href='http://www.agileforall.com/2009/12/10/new-to-agile-learn-how-to-split-stories/' rel='bookmark' title='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='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/12/28/agile-antipattern-another-burndown-chart-that-lies/' rel='bookmark' title='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>
</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>New to agile?  Work at a sustainable pace</title>
		<link>http://www.agileforall.com/2009/07/24/new-to-agile-work-at-a-sustainable-pace/</link>
		<comments>http://www.agileforall.com/2009/07/24/new-to-agile-work-at-a-sustainable-pace/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 14:53:05 +0000</pubDate>
		<dc:creator>Bob Hartman</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Newbie]]></category>
		<category><![CDATA[Practices]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Scrum Master]]></category>

		<guid isPermaLink="false">http://www.agileforall.com/?p=968</guid>
		<description><![CDATA[Question:  Which is better: a) Working nights and weekends to meet iteration commitments, or b) Admitting the commitment was too much and working normal hours regardless of the commitment? Many people would say answer (a) is better.  I might even say that if it were a one-time anomaly, but too often it doesn&#8217;t happen just [...]
<strong>Related posts:</strong><ol>
<li><a href='http://www.agileforall.com/2009/03/16/agile-antipattern-moving-work-from-one-iteration-to-the-next/' rel='bookmark' title='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>
<li><a href='http://www.agileforall.com/2009/12/22/agile-antipattern-changing-the-definition-of-done/' rel='bookmark' title='Agile antipattern: Changing the definition of done'>Agile antipattern: Changing the definition of done</a> <small>Ever see a burndown chart like the one to the left?  I&#8217;ve...</small></li>
<li><a href='http://www.agileforall.com/2009/12/16/agile-pondering-how-does-agile-work-with-a-team-of-1/' rel='bookmark' title='Agile pondering: How does agile work with a team of 1?'>Agile pondering: How does agile work with a team of 1?</a> <small>See that picture off to the left?  That is me and my...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>Question:  Which is better: a) Working nights and weekends to meet iteration commitments, or b) Admitting the commitment was too much and working normal hours regardless of the commitment?<span id="more-968"></span></p>
<p>Many people would say answer (a) is better.  I might even say that if it were a one-time anomaly, but too often it doesn&#8217;t happen just once.  The team ends up setting an artificially high velocity and are then asked to keep a similar velocity in the future.  As a result there are more and more iterations with impossible deadlines and the agile team begins to feel they are on a death march.  I even had one person in a course tell me their management had them all sign a document saying they would work nights and weekends as necessary because the company really needed the product as soon as possible.  Seriously?!?!  On an agile team???  Ouch!</p>
<p>99 times out of 100 my answer to the original question would be (b).  Work at a sustainable pace (no sandbagging allowed), determine a realistic velocity, and go on from there.  During the iteration retrospective an obvious discussion question would be why such an unrealistic commitment was made in the first place.  Sometimes it is just an anomaly caused by uncertainty.  That can happen occasionally and is no cause for alarm.  However, more often than not it is caused by a team trying to meet an artificial deadline and convincing themselves they can do it.  Don&#8217;t fall into this trap.  Death march projects are no fun and they may even be less fun when done in an agile way.  Seeing failure or ridiculous overload every two weeks can get to be horribly depressing!</p>
<p>Remember, a sustainable pace is one at which the team can perform for very long periods of time &#8211; forever basically.  I like to add the team takes pride in how much gets accomplished each iteration.  This helps prevent sandbagging because you can&#8217;t take pride in the amount completed if you sandbagged it.  Also remember sustainable doesn&#8217;t mean no vacations!  It is necessary for downtime to recharge.  Sustainable could even mean occasional overtime if the team chooses to meet their commitment in order to help them feel proud of the iteration &#8211; however this should not happen very often &#8211; if ever!</p>
<p>Project managers and Scrum Masters need to watch the mental and physical health of the team.  Be the conscience of the team when it comes to maintaining a sustainable pace.  Re-read that last sentence and ask yourself when the last time a project manager asked a team to reduce their hours because it wasn&#8217;t healthy!  If the pace of the team is not sustainable several undesirable effects are likely to occur:</p>
<ol>
<li>Defects will increase.  Tired teams let more defects through.</li>
<li>Work output will decrease.  Tired teams do less work in more time!</li>
<li>Morale will drastically decrease.  This may lead to employee turnover at a most unfortunate time in the project.</li>
<li>The blame game will become common.  (Not our fault you didn&#8217;t say X.  I said X.  Did not.  Did so&#8230;)</li>
<li>The team starts to abandon good practices for those that &#8220;seem&#8221; faster.  Sorry, but test-driven development (TDD) is actually faster than just writing the code and throwing it over the wall to QA!</li>
</ol>
<p>Do you have any funny stories about sustainable pace or a lack thereof?  If so, please post a comment.  I&#8217;d love to have examples to use in the future!</p>
<p>Until next time I&#8217;ll be monitoring teams I coach for use of a sustainable pace because there is no other way of Making Agile a Reality<sup>®</sup> for the long term!
<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%2F07%2F24%2Fnew-to-agile-work-at-a-sustainable-pace%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F07%2F24%2Fnew-to-agile-work-at-a-sustainable-pace%2F&amp;source=AgileForAll&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F07%2F24%2Fnew-to-agile-work-at-a-sustainable-pace%2F&amp;title=New%20to%20agile%3F%20%20Work%20at%20a%20sustainable%20pace" id="wpa2a_10"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><br /><p><strong>Related posts:</strong><ol>
<li><a href='http://www.agileforall.com/2009/03/16/agile-antipattern-moving-work-from-one-iteration-to-the-next/' rel='bookmark' title='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>
<li><a href='http://www.agileforall.com/2009/12/22/agile-antipattern-changing-the-definition-of-done/' rel='bookmark' title='Agile antipattern: Changing the definition of done'>Agile antipattern: Changing the definition of done</a> <small>Ever see a burndown chart like the one to the left?  I&#8217;ve...</small></li>
<li><a href='http://www.agileforall.com/2009/12/16/agile-pondering-how-does-agile-work-with-a-team-of-1/' rel='bookmark' title='Agile pondering: How does agile work with a team of 1?'>Agile pondering: How does agile work with a team of 1?</a> <small>See that picture off to the left?  That is me and my...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.agileforall.com/2009/07/24/new-to-agile-work-at-a-sustainable-pace/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Agile antipattern: Using email as the primary communication tool</title>
		<link>http://www.agileforall.com/2009/07/08/agile-antipattern-using-email-as-the-primary-communication-tool/</link>
		<comments>http://www.agileforall.com/2009/07/08/agile-antipattern-using-email-as-the-primary-communication-tool/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 17:01:37 +0000</pubDate>
		<dc:creator>Bob Hartman</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Antipattern]]></category>
		<category><![CDATA[Practices]]></category>

		<guid isPermaLink="false">http://www.agileforall.com/?p=929</guid>
		<description><![CDATA[Can I just be short and to the point for this one?  I hope so, because that is my intention! Email is LOW BANDWIDTH communication Agile teams REQUIRE HIGH BANDWIDTH communication Do you see a problem? Agile teams need to communicate in real-time whenever possible.  Even the agile manifesto says &#8220;individuals and iteractions over &#8230;&#8221;  In [...]
<strong>Related posts:</strong><ol>
<li><a href='http://www.agileforall.com/2009/04/09/agile-antipattern-extending-an-iteration/' rel='bookmark' title='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/04/23/agile-antipattern-code-freezes-during-each-iteration/' rel='bookmark' title='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/05/13/agile-antipattern-treating-symptoms-not-causes/' rel='bookmark' title='Agile antipattern: Treating symptoms not causes'>Agile antipattern: Treating symptoms not causes</a> <small>Agile teams often get to a point where they have a number...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>Can I just be short and to the point for this one?  I hope so, because that is my intention!</p>
<p><span style="font-size:24px;font-weight:bold">Email is LOW BANDWIDTH communication</span></p>
<p><span style="font-size:24px;font-weight:bold">Agile teams REQUIRE HIGH BANDWIDTH communication</span></p>
<p>Do you see a problem?</p>
<p>Agile teams need to communicate in real-time whenever possible.  Even the <a href="http://www.agilemanifesto.org" target="_blank">agile manifesto</a> says &#8220;individuals and iteractions over &#8230;&#8221;  In other words, one of the primary things about agile is people interacting with each other!  Email is not an interaction.  It is one way communication because we don&#8217;t know when we&#8217;ll get a response.  We don&#8217;t know IF we&#8217;ll get a response.  In fact, in almost all cases we don&#8217;t even know if the intended recipient even received the message!</p>
<p>Don&#8217;t fall into the trap of believing email is real-time communication.  A team relying on email will pay the price by having misunderstandings which lead to later corrections, and even worse, they will usually miss their commitments.</p>
<p>Until next time I&#8217;ll be continuing to tell people to use email &#8221;ONLY when the answer isn&#8217;t important for the next 4 days&#8221; because anything less isn&#8217;t going to be 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%2F07%2F08%2Fagile-antipattern-using-email-as-the-primary-communication-tool%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F07%2F08%2Fagile-antipattern-using-email-as-the-primary-communication-tool%2F&amp;source=AgileForAll&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F07%2F08%2Fagile-antipattern-using-email-as-the-primary-communication-tool%2F&amp;title=Agile%20antipattern%3A%20Using%20email%20as%20the%20primary%20communication%20tool" id="wpa2a_12"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></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='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/04/23/agile-antipattern-code-freezes-during-each-iteration/' rel='bookmark' title='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/05/13/agile-antipattern-treating-symptoms-not-causes/' rel='bookmark' title='Agile antipattern: Treating symptoms not causes'>Agile antipattern: Treating symptoms not causes</a> <small>Agile teams often get to a point where they have a number...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.agileforall.com/2009/07/08/agile-antipattern-using-email-as-the-primary-communication-tool/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>How to make a LOT more money using agile</title>
		<link>http://www.agileforall.com/2009/05/27/how-to-make-a-lot-more-money-using-agile/</link>
		<comments>http://www.agileforall.com/2009/05/27/how-to-make-a-lot-more-money-using-agile/#comments</comments>
		<pubDate>Wed, 27 May 2009 19:24:31 +0000</pubDate>
		<dc:creator>Bob Hartman</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Newbie]]></category>
		<category><![CDATA[Planning]]></category>
		<category><![CDATA[Practices]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Product Owner]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.agileforall.com/?p=817</guid>
		<description><![CDATA[Yesterday&#8217;s blog post dealt with how to manage scope for an agile project.  Today I have to admit it was a bit of a setup.  It was designed to set up today&#8217;s blog post which is really the important one! See that pile of money over there to the left?  That represents a small fraction [...]
<strong>Related posts:</strong><ol>
<li><a href='http://www.agileforall.com/2009/09/14/new-to-agile-dont-make-it-too-hard/' rel='bookmark' title='New to agile?  Don&#8217;t make it too hard!'>New to agile?  Don&#8217;t make it too hard!</a> <small>OK, so this isn&#8217;t my normal type of blog entry.  I don&#8217;t...</small></li>
<li><a href='http://www.agileforall.com/2009/05/26/new-to-agile-3-ways-to-cut-scope-and-live/' rel='bookmark' title='New to agile? 3 ways to cut scope (and live)'>New to agile? 3 ways to cut scope (and live)</a> <small>The primary way I see teams release products faster is by reducing...</small></li>
<li><a href='http://www.agileforall.com/2009/07/16/agile-antipattern-waiting-for-all-the-requirements-before-starting/' rel='bookmark' title='Agile antipattern: Waiting for all the requirements before starting'>Agile antipattern: Waiting for all the requirements before starting</a> <small>Time for a short blog entry (I tend to be way too...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p><img class="alignleft" src="http://www.agileforall.com/images/bills.jpg" alt="" width="318" height="274" />Yesterday&#8217;s blog post dealt with <a href="http://www.agileforall.com/2009/05/26/new-to-agile-3-ways-to-cut-scope-and-live/" target="_blank">how to manage scope</a> for an agile project.  Today I have to admit it was a bit of a setup.  It was designed to set up today&#8217;s blog post which is really the important one!</p>
<p>See that pile of money over there to the left?  That represents a small fraction of the amount of money your organization is potentially wasting by not being able to properly manage the scope of projects.  I want to be clear this is not about project delays and overruns caused by scope creep.  I am actually writing about something completely different.  Something much more fundamental and actually fairly easy to obtain when an organization has truly embraced all that agile has to offer.  To me this is one of the most important benefits of agility, but the number of organizations doing it well is extremely small.  Warning, this is a LONG blog entry, but I think it is well worth the effort to read it!</p>
<p><span id="more-817"></span></p>
<p>The topic I&#8217;m writing about is the ability to manage scope and expectations properly.  The gains available by doing this are truly staggering.  If your organization was given the opportunity to increase ROI by 100% per project would someone in the organization be tasked with looking into the opportunity?  What if the ROI per project could be increased by 200%?  If the opportunity was for 500% increase in ROI per project would your organization perhaps have more than one person look into the opportunity, or would it sound too good to be true and therefore be discounted?  I know this sounds unbelievable, but the ability to achieve much, much higher ROI is very real, and it only depends on your organization&#8217;s ability to manage scope and expectations effectively.</p>
<p>Do I have your attention yet?  I hope so because this is really valuable information that most people just gloss over in various agile courses.  I have to admit that I didn&#8217;t cover it very well until recently.  I glossed over it mostly because I didn&#8217;t understand it very well.  Now I understand it and I&#8217;ll try to help you understand it.  The basic concept is VERY simple and can be covered with just 3 words:</p>
<p style="text-align: center;"><strong>More frequent releases</strong></p>
<p style="text-align: left;">Yup, that&#8217;s the key.  It is much easier said than done though.  It means expectations must be set for releases to be smaller but still have significant marketable value.  It also means managing scope for smaller releases so the value can actually be delivered to meet the expectations.  If we make the assumption these two pre-requisites can be handled, then we can also assume faster releases are possible.  Yes, I know, releasing software is expensive, requires other groups, etc.  For now, let&#8217;s assume all of those costs are negligible compared to the potential results and see where we end up.</p>
<p style="text-align: left;">Let&#8217;s use a standard scenario as a starting point.  In this scenario a team of 8 people work on a project for a year with an anticipated ROI of 100% after 2 years.  In numbers this means the organization spends $1,000,000 (approximately) in 12 months to build the product and they expect to get $2,000,000 in revenue within the 12 months following release.  ROI is calculated as $profit/$invested which in this case is ($2,000,000-$1,000,000)/$1,000,000 or 100%.  Another interesting number is cash expended, which in this case exactly matches the investment since we did all of the investment prior to receiving any return.</p>
<p style="text-align: left;">Let&#8217;s assume that scope can be managed so the product can be delivered in two phases, each taking 6 months.  Let&#8217;s further assume each piece of the product is worth about half of the revenue value of the complete product.  In this case the team works 6 months at an investment of $500,000 to build the first piece of the product.  They then work 6 more months at an additional cost of $500,000 to complete the second half of the product.  However, after 6 months revenue starts to be brought in for the first release.  This revenue equals half of what was originally expected for a full product, so after going through some calculations we realize the amount of revenue during the first 6 months of release of the first half of the product would be $500,000 ($2,000,000 for full product for 12 months = $500,000 for half product for 6 months).  Interestingly, this exactly matches the cost for building the second half of the product, so the cash expended is actually only $500,000 for building the product vs. $1,000,000 for building the product in one step.</p>
<p style="text-align: left;">Now let&#8217;s look at the other numbers.  After phase 2 of the product is completed it too starts to bring in revenue.  We now have the complete product, so we can get full value of it during each time period.  In other words, during the next 12 months it will generate $2,000,000 in revenue.  This brings total revenue to $2,500,000 which means our ROI is now 300% (higher profit divided by smaller investment &#8211; $1,500,000 profit / $500,000 invested).  Remember, all we did was have two releases of approximately equal value.  Nothing else changed, but half the cash was saved and more revenue was generated.  Here is a table showing this scenario:</p>
<table border="1" align="center">
<tbody>
<tr>
<td>Month</td>
<td>Expense</td>
<td>Revenue</td>
<td>Cash (Profit)</td>
<td>Total Revenue</td>
</tr>
<tr>
<td>6</td>
<td>$500,000</td>
<td>$0</td>
<td>-$500,000</td>
<td>$0</td>
</tr>
<tr>
<td>12</td>
<td>$500,000</td>
<td>$500,000</td>
<td>-$500,000</td>
<td>$500,000</td>
</tr>
<tr>
<td>24</td>
<td>$0</td>
<td>$2,000,000</td>
<td>$1,500,000</td>
<td>$2,500,000</td>
</tr>
</tbody>
</table>
<p> </p>
<p style="text-align: left;">Time to take another step.  Let&#8217;s make the assumption we can release 4 times per year with approximately equal valued releases and the same assumptions as in the above scenarios.  Now we work 3 months at a cost of $250,000 to generate release 1.  We do the same thing every 3 months until the year is completed.  Each release generates 25% of the value of the entire release, which over a 3 month period would be $125,000.  This leads to the following table:</p>
<table border="1" align="center">
<tbody>
<tr>
<td>Month</td>
<td>Expense</td>
<td>Revenue</td>
<td>Cash (Profit)</td>
<td>Total Revenue</td>
</tr>
<tr>
<td>3</td>
<td>$250,000</td>
<td>$0</td>
<td>-$250,000</td>
<td>$0</td>
</tr>
<tr>
<td>6</td>
<td>$250,000</td>
<td>$125,000</td>
<td>-$375,000</td>
<td>$125,000</td>
</tr>
<tr>
<td>9</td>
<td>$250,000</td>
<td>$250,000</td>
<td>-$375,000</td>
<td>$375,000</td>
</tr>
<tr>
<td>12</td>
<td>$250,000</td>
<td>$375,000</td>
<td>-$250,000</td>
<td>$750,000</td>
</tr>
<tr>
<td>15</td>
<td>$0</td>
<td>$500,000</td>
<td>$250,000</td>
<td>$1,250,000</td>
</tr>
<tr>
<td>18</td>
<td>$0</td>
<td>$500,000</td>
<td>$750,000</td>
<td>$1,750,000</td>
</tr>
<tr>
<td>21</td>
<td>$0</td>
<td>$500,000</td>
<td>$1,250,000</td>
<td>$2,250,000</td>
</tr>
<tr>
<td>24</td>
<td>$0</td>
<td>$500,000</td>
<td>$1,750,000</td>
<td>$2,750,000</td>
</tr>
</tbody>
</table>
<p> </p>
<p style="text-align:left">Now we have a situation where our cash outlay is reduced to $375,000 and our revenue has increased to $2,750,000.  This gives an ROI of 467%.</p>
<p>For the next scenario let&#8217;s say we can do the same 4 releases per year, but now we release higher value items first (after all, we are working from a prioritized product backlog, right???).  In this scenario let&#8217;s say release 1 is worth 40% of the total, release 2 is worth 30%, release 3 is worth 20% and release 4 is worth 10%.  Now our table is as follows:</p>
<table border="1" align="center">
<tbody>
<tr>
<td>Month</td>
<td>Expense</td>
<td>Revenue</td>
<td>Cash (Profit)</td>
<td>Total Revenue</td>
</tr>
<tr>
<td>3</td>
<td>$250,000</td>
<td>$0</td>
<td>-$250,000</td>
<td>$0</td>
</tr>
<tr>
<td>6</td>
<td>$250,000</td>
<td>$200,000</td>
<td>-$300,000</td>
<td>$200,000</td>
</tr>
<tr>
<td>9</td>
<td>$250,000</td>
<td>$350,000</td>
<td>-$200,000</td>
<td>$550,000</td>
</tr>
<tr>
<td>12</td>
<td>$250,000</td>
<td>$450,000</td>
<td>$0</td>
<td>$1,000,000</td>
</tr>
<tr>
<td>15</td>
<td>$0</td>
<td>$500,000</td>
<td>$500,000</td>
<td>$1,500,000</td>
</tr>
<tr>
<td>18</td>
<td>$0</td>
<td>$500,000</td>
<td>$1,000,000</td>
<td>$2,000,000</td>
</tr>
<tr>
<td>21</td>
<td>$0</td>
<td>$500,000</td>
<td>$1,500,000</td>
<td>$2,500,000</td>
</tr>
<tr>
<td>24</td>
<td>$0</td>
<td>$500,000</td>
<td>$2,000,000</td>
<td>$3,000,000</td>
</tr>
</tbody>
</table>
<p> </p>
<p style="text-align: left;">$300,000 cash invested and $2,000,000 total profit which is now 667% ROI.</p>
<p style="text-align: left;">Bear with me, almost done.  For the next scenario let&#8217;s not have the team build the features worth 20% or 10% of the total product value.  They are low priority items anyway.  Doing this would generate the following table:</p>
<table border="1" align="center">
<tbody>
<tr>
<td>Month</td>
<td>Expense</td>
<td>Revenue</td>
<td>Cash (Profit)</td>
<td>Total Revenue</td>
</tr>
<tr>
<td>3</td>
<td>$250,000</td>
<td>$0</td>
<td>-$250,000</td>
<td>$0</td>
</tr>
<tr>
<td>6</td>
<td>$250,000</td>
<td>$200,000</td>
<td>-$300,000</td>
<td>$200,000</td>
</tr>
<tr>
<td>9</td>
<td>$0</td>
<td>$350,000</td>
<td>$50,000</td>
<td>$550,000</td>
</tr>
<tr>
<td>12</td>
<td>$0</td>
<td>$350,000</td>
<td>$400,000</td>
<td>$900,000</td>
</tr>
<tr>
<td>15</td>
<td>$0</td>
<td>$350,000</td>
<td>$750,000</td>
<td>$1,250,000</td>
</tr>
<tr>
<td>18</td>
<td>$0</td>
<td>$350,000</td>
<td>$1,100,000</td>
<td>$1,600,000</td>
</tr>
<tr>
<td>21</td>
<td>$0</td>
<td>$350,000</td>
<td>$1,450,000</td>
<td>$1,950,000</td>
</tr>
<tr>
<td>24</td>
<td>$0</td>
<td>$350,000</td>
<td>$1,800,000</td>
<td>$2,300,000</td>
</tr>
</tbody>
</table>
<p> </p>
<p style="text-align: left;">In this scenario we have the same cash investment of $300,000 but now we only made $1,800,000 in profit for an ROI of 600%.  Why would we want to do this?  Well, what is our team doing during those second 6 months of development?  In this scenario they are idle.  So let&#8217;s use them!  Find another project with similar parameters and have them start it 6 months earlier than whey would have otherwise.  Consider the exact same setup as in the previous scenario except we&#8217;ll be generating revenue from two different products after month 9.  In this case the table looks like:</p>
<table border="1" align="center">
<tbody>
<tr>
<td>Month</td>
<td>Expense</td>
<td>Revenue</td>
<td>Cash (Profit)</td>
<td>Total Revenue</td>
</tr>
<tr>
<td>3</td>
<td>$250,000</td>
<td>$0</td>
<td>-$250,000</td>
<td>$0</td>
</tr>
<tr>
<td>6</td>
<td>$250,000</td>
<td>$200,000</td>
<td>-$300,000</td>
<td>$200,000</td>
</tr>
<tr>
<td>9</td>
<td>$250,000</td>
<td>$350,000</td>
<td>-$200,000</td>
<td>$550,000</td>
</tr>
<tr>
<td>12</td>
<td>$250,000</td>
<td>$550,000</td>
<td>$100,000</td>
<td>$1,100,000</td>
</tr>
<tr>
<td>15</td>
<td>$0</td>
<td>$700,000</td>
<td>$800,000</td>
<td>$1,800,000</td>
</tr>
<tr>
<td>18</td>
<td>$0</td>
<td>$700,000</td>
<td>$1,500,000</td>
<td>$2,500,000</td>
</tr>
<tr>
<td>21</td>
<td>$0</td>
<td>$700,000</td>
<td>$2,200,000</td>
<td>$3,200,000</td>
</tr>
<tr>
<td>24</td>
<td>$0</td>
<td>$700,000</td>
<td>$2,900,000</td>
<td>$3,900,000</td>
</tr>
</tbody>
</table>
<p> </p>
<p style="text-align: left;">$2,900,000 profit on an investment of $300,000 is an ROI of 967%.</p>
<p style="text-align: left;">Do I still have your attention?  If so, consider one final scenario:  The total cash invested in this project is only $300,000.  The organization was originally willing to commit $1,000,000 for the project.  Can you find 2 more teams and enough projects to do the same thing two more times?  If so, the original $1,000,000 investment will have been reduced to $900,000 and instead of $2,000,000 in revenue at the end of year 2 the organization could bring in $11,700,000 which is 5.85X more revenue than the original scenario and $7,700,000 more actual cash!  This equates to a 967% ROI for each of 6 products across 3 teams with 12 total releases per year.  Remember at the beginning when I said the cost of releasing would be negligible compared to the benefits?  I also mentioned 500+% increase in ROI was possible.  Do you believe me now?  <img src='http://www.agileforall.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p style="text-align: left;">I know this was a VERY long blog entry, but I think you&#8217;ll also agree this is an important topic to understand.  To see another way of explaining it try <a href="http://tinyurl.com/rocksIntoGold" target="_blank">Clarke Ching&#8217;s Rocks Into Gold</a> presentation on Slideshare.  I hope after reading this you are as excited about the possibilities as I was when I had my &#8220;lightbulb moment&#8221; about it.  I think it is vitally important for organizations to truly understand these concepts.  I hope those of you reading this blog entry agree and will pass it on to others so they can have their &#8220;lightbulb moment&#8221; and hopefully be able to make it happen!</p>
<p style="text-align: left;">Oh, one last thought &#8211; if you can prioritize so the percent of value delivered by each release is even higher, then the numbers can go even higher!  For example, can a first release be worth 50% of the value?  Can a second release be worth 40%?  These may be possible in light of studies that say more than 50% of features are rarely or never used.  Said differently more than half the software in existence has no value.  If we eliminate that half, maybe we can make the earlier releases worth even more!</p>
<p style="text-align: left;">Until next time I&#8217;ll be Making Agile a Reality™ by helping organizations understand why managing scope in order to have more frequent releases can be so important to their bottom line!  By the way, my good friend <a href="http://richardlawrence.info" target="_blank">Richard Lawrence</a> is a person who really helped me understand this concept, so thanks Richard!</p>
<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%2F05%2F27%2Fhow-to-make-a-lot-more-money-using-agile%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F05%2F27%2Fhow-to-make-a-lot-more-money-using-agile%2F&amp;source=AgileForAll&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F05%2F27%2Fhow-to-make-a-lot-more-money-using-agile%2F&amp;title=How%20to%20make%20a%20LOT%20more%20money%20using%20agile" id="wpa2a_14"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><br /><p><strong>Related posts:</strong><ol>
<li><a href='http://www.agileforall.com/2009/09/14/new-to-agile-dont-make-it-too-hard/' rel='bookmark' title='New to agile?  Don&#8217;t make it too hard!'>New to agile?  Don&#8217;t make it too hard!</a> <small>OK, so this isn&#8217;t my normal type of blog entry.  I don&#8217;t...</small></li>
<li><a href='http://www.agileforall.com/2009/05/26/new-to-agile-3-ways-to-cut-scope-and-live/' rel='bookmark' title='New to agile? 3 ways to cut scope (and live)'>New to agile? 3 ways to cut scope (and live)</a> <small>The primary way I see teams release products faster is by reducing...</small></li>
<li><a href='http://www.agileforall.com/2009/07/16/agile-antipattern-waiting-for-all-the-requirements-before-starting/' rel='bookmark' title='Agile antipattern: Waiting for all the requirements before starting'>Agile antipattern: Waiting for all the requirements before starting</a> <small>Time for a short blog entry (I tend to be way too...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.agileforall.com/2009/05/27/how-to-make-a-lot-more-money-using-agile/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New to agile?  INVEST in good user stories</title>
		<link>http://www.agileforall.com/2009/05/14/new-to-agile-invest-in-good-user-stories/</link>
		<comments>http://www.agileforall.com/2009/05/14/new-to-agile-invest-in-good-user-stories/#comments</comments>
		<pubDate>Thu, 14 May 2009 19:36:36 +0000</pubDate>
		<dc:creator>Bob Hartman</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Newbie]]></category>
		<category><![CDATA[Planning]]></category>
		<category><![CDATA[Practices]]></category>
		<category><![CDATA[Product Owner]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.agileforall.com/blog/?p=314</guid>
		<description><![CDATA[As a &#60;user&#62; I want &#60;function&#62; so that&#60;value&#62;. Above is a very simple user story template.  How can something so simple be so hard to get right?  User stories make up the heart of agile development.  They are the primary input to the team.  The team takes the user stories and creates product increments based [...]
<strong>Related posts:</strong><ol>
<li><a href='http://www.agileforall.com/2010/05/03/new-to-agile-remember-a-user-story-is-more-than-a-card/' rel='bookmark' title='New to agile? Remember a user story is more than a card!'>New to agile? Remember a user story is more than a card!</a> <small>What&#8217;s wrong with the user story on the card?  It seems to...</small></li>
<li><a href='http://www.agileforall.com/2009/12/10/new-to-agile-learn-how-to-split-stories/' rel='bookmark' title='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/12/09/agile-antipattern-taking-on-large-stories/' rel='bookmark' title='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>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p><strong>As a <em>&lt;user&gt;</em> I want <em>&lt;function&gt;</em> so that<em>&lt;value&gt;</em>.</strong></p>
<p>Above is a very simple user story template.  How can something so simple be so hard to get right?  User stories make up the heart of agile development.  They are the primary input to the team.  The team takes the user stories and creates product increments based on completing those stories.  Unfortunately, getting user stories &#8220;right&#8221; is difficult to do right away.  The Product Owner (or other product facing role) needs to learn how to create user stories which meet the needs of the team.  This is a skill which can be learned over time, but I&#8217;m about to save you a bit of learning curve.<span id="more-314"></span></p>
<p>In order to create good user stories, start by remembering to INVEST in good user stories.  INVEST is an acronym which encompasses the following concepts which make up a good user story:</p>
<ul>
<li>Independent</li>
<li>Negotiable</li>
<li>Valuable</li>
<li>Estimable</li>
<li>Small</li>
<li>Testable</li>
</ul>
<p>Let&#8217;s cover each of them with a simple explanation.</p>
<p><strong>Independent:</strong>  Stories should be as independent as possible.  When thinking of independence it is often easier to think of &#8220;order independent.&#8221;  In other words, stories can be worked on in any order.  Why is this important?  It allows for true prioritization of each and every story.  When dependencies come into play it may not be possible to implement a valuable story without implementing other much less valuable stories.</p>
<p><strong>Negotiable:</strong>  A story is not a contract.  A story IS an invitation to a conversation.  The story captures the essence of what is desired.  The actual result needs to be the result of collaborative negotation between the customer (or customer proxy like the Product Owner), developer and tester (at a minimum).  The goal is to meet customer needs, not develop something to the letter of the user story if doing so is insufficient!  Remember, you can always <a href="http://www.agileforall.com/2009/02/20/when-in-doubt-ask-how-will-i-know-ive-done-that/" target="_blank">ask the magic question</a> to help drive the conversation.</p>
<p><strong>Valuable:</strong>  If a story does not have discernable value it should not be done.  Period.  Hopefully user stories are being prioritized in the backlog according to business value, so this should be obvious.  Some people say each story should be valuable to the customer or user.  I don&#8217;t like that way of thinking because business value encompasses more than just customer or user facing value.  It includes internal value which is useful for things which are normally called &#8220;non-functional requirements&#8221; or something similar.  I prefer to say the story has value to the &#8220;user&#8221; in the user story.  In this way it is clear who is to be satisfied.  Finally, remember the &#8220;so that &lt;value&gt;&#8221; clause of the user story.  It is there for a reason &#8211; it is the exact value we are trying to deliver by completing the story!</p>
<p><strong>Estimable:</strong>  A story has to be able to be estimated or sized so it can be properly prioritized.  A value with high value but extremely lengthy development time may not be the highest priority item because of the length of time to develop it.  What happens if a story can&#8217;t be estimated?  You can split the story and perhaps gain more clarity.  Sometimes splitting a story doesn&#8217;t help though.  If this situation occurs it may be necessary to do some research about the story first.  Please, please, please timebox the research!  If you do not, it will take all available time thereby depriving the product of something else which could have been done instead.</p>
<p><strong>Small:</strong>  Obviously stories are small chunks of work, but how small should they be?  The answer depends on the team and the methodology being used.  I teach agile and suggest two week iterations which allow for user stories to average 3-4 days of work &#8211; TOTAL!  This includes all work to get the story to a &#8220;done&#8221; state.  Also remember not to goldplate user stories.  You should <a href="http://www.agileforall.com/2009/04/27/new-to-agile-do-the-simplest-thing-that-works-then-stop/" target="_blank">do the simplest thing that works - then stop</a>!</p>
<p><strong>Testable:</strong>  Every story needs to be testable in order to be &#8220;done.&#8221;  In fact, I like to think of testable meaning acceptance criteria can be written immediately.  Thinking this way encourages more collaboration up front, builds quality in by moving QA up in the process, and allows for easy transformation to an acceptance test-driven development (ATDD) process.  As with negotiable above, <a href="http://www.agileforall.com/2009/02/20/when-in-doubt-ask-how-will-i-know-ive-done-that/" target="_blank">asking the magic question</a> can help ensure the user story is testable as well.</p>
<p>If Product Owners and their teams work together to INVEST in good user stories the learning curve of working together will be much shorter.  INVEST encourages good habits which eliminate some of the bigger problems of user stories like dependencies, being too big, hard to test, etc.  Take the time to INVEST in good stories and see the dramatic change in how effective planning will become, as well as how productive the team will become.</p>
<p>Until next time I&#8217;ll be INVESTing in good user stories because doing so definitely helps in 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%2F05%2F14%2Fnew-to-agile-invest-in-good-user-stories%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F05%2F14%2Fnew-to-agile-invest-in-good-user-stories%2F&amp;source=AgileForAll&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F05%2F14%2Fnew-to-agile-invest-in-good-user-stories%2F&amp;title=New%20to%20agile%3F%20%20INVEST%20in%20good%20user%20stories" id="wpa2a_16"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><br /><p><strong>Related posts:</strong><ol>
<li><a href='http://www.agileforall.com/2010/05/03/new-to-agile-remember-a-user-story-is-more-than-a-card/' rel='bookmark' title='New to agile? Remember a user story is more than a card!'>New to agile? Remember a user story is more than a card!</a> <small>What&#8217;s wrong with the user story on the card?  It seems to...</small></li>
<li><a href='http://www.agileforall.com/2009/12/10/new-to-agile-learn-how-to-split-stories/' rel='bookmark' title='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/12/09/agile-antipattern-taking-on-large-stories/' rel='bookmark' title='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>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.agileforall.com/2009/05/14/new-to-agile-invest-in-good-user-stories/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>New to Agile? Use a Rules of Engagement document.</title>
		<link>http://www.agileforall.com/2009/05/05/new-to-agile-use-a-rules-of-engagement-document/</link>
		<comments>http://www.agileforall.com/2009/05/05/new-to-agile-use-a-rules-of-engagement-document/#comments</comments>
		<pubDate>Tue, 05 May 2009 17:33:38 +0000</pubDate>
		<dc:creator>Bob Hartman</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Newbie]]></category>
		<category><![CDATA[Practices]]></category>
		<category><![CDATA[Principles]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.agileforall.com/blog/?p=146</guid>
		<description><![CDATA[How do we work together? Seems like a simple question, right? How wrong you could be!  For an agile team, working together is vitally important, but it is also the hardest thing to accomplish.  Why?  Because we don&#8217;t normally work together very well.  Think about the stereotypical high tech company and their sterile cubicles with [...]
<strong>Related posts:</strong><ol>
<li><a href='http://www.agileforall.com/2009/07/24/new-to-agile-work-at-a-sustainable-pace/' rel='bookmark' title='New to agile?  Work at a sustainable pace'>New to agile?  Work at a sustainable pace</a> <small>Question:  Which is better: a) Working nights and weekends to meet iteration...</small></li>
<li><a href='http://www.agileforall.com/2009/12/22/agile-antipattern-changing-the-definition-of-done/' rel='bookmark' title='Agile antipattern: Changing the definition of done'>Agile antipattern: Changing the definition of done</a> <small>Ever see a burndown chart like the one to the left?  I&#8217;ve...</small></li>
<li><a href='http://www.agileforall.com/2008/09/20/are-you-agile-the-nokia-test/' rel='bookmark' title='Are you agile &#8211; the Nokia test'>Are you agile &#8211; the Nokia test</a> <small>I&#8217;ve been helping lots of clients start new agile initiatives recently.  This...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://www.agileforall.com/wp-content/uploads/2009/05/declaration.jpg"><img class="alignleft size-medium wp-image-1480" title="declaration" src="http://www.agileforall.com/wp-content/uploads/2009/05/declaration-300x200.jpg" alt="" width="300" height="200" /></a>How do we work together? Seems like a simple question, right? How wrong you could be!  For an agile team, working together is vitally important, but it is also the hardest thing to accomplish.  Why?  Because we don&#8217;t normally work together very well.  Think about the stereotypical high tech company and their sterile cubicles with &#8220;resources&#8221; working hard in isolation.  This is a far cry from the PEOPLE on an effective agile team who work in an open, collaboration friendly environment.  (In case you can&#8217;t tell, I have a pet peeve about calling people anything except people &#8211; in my opinion it is degrading to call people anything else)  But this isn&#8217;t the only problem&#8230;<span id="more-146"></span></p>
<p>Once we get the team working well together, we still have those pesky PEOPLE known as managers and executives that want to pry into every little detail.  Sorry, but that isn&#8217;t very agile, so wouldn&#8217;t it be nice if we could keep them from doing it?  What about the product people constantly changing the focus of the team on a day to day basis?  Or how about fixing the problem of the development manager constantly trying to tell the team they can do more work than is possible?  All of these things and many more come into play when we talk about the seemingly simple question &#8220;How do we work together?&#8221;</p>
<p>Because all of these things add up in a hurry, I encourage teams to put together a rules of engagement document to make clear some of the most basic rules and interactions.  I do this in conjunction with having the team determine their definition of what &#8220;done&#8221; means.  Both of these items are completed prior to starting the first iteration.  For maximum effectiveness have the team, managers and executives all sign the document as a sort of contract among themselves.  Having executives sign the document is extremely empowering to the team and helps them recognize they have the full support of the organization to be successful!</p>
<p>Feel free to use <a href="http://www.agileforall.com/wp-content/uploads/2009/05/rules-of-engagement.pdf" target="_blank">my sample Rules of Engagement document</a> for your team.  If you make changes, please leave a comment here so I can consider making your change to the master document I use when I train teams.  If you have questions about the document either leave a comment here or email me and I&#8217;ll try to get you an answer.  This way we all can learn and improve this document for the teams that will use it in the future.</p>
<p>Until next time I&#8217;ll make sure teams I train use a Rules of Engagement document because it provides a lot of help in Making Agile a Reality™ for an organization.
<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%2F05%2F05%2Fnew-to-agile-use-a-rules-of-engagement-document%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F05%2F05%2Fnew-to-agile-use-a-rules-of-engagement-document%2F&amp;source=AgileForAll&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F05%2F05%2Fnew-to-agile-use-a-rules-of-engagement-document%2F&amp;title=New%20to%20Agile%3F%20Use%20a%20Rules%20of%20Engagement%20document." id="wpa2a_18"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><br /><p><strong>Related posts:</strong><ol>
<li><a href='http://www.agileforall.com/2009/07/24/new-to-agile-work-at-a-sustainable-pace/' rel='bookmark' title='New to agile?  Work at a sustainable pace'>New to agile?  Work at a sustainable pace</a> <small>Question:  Which is better: a) Working nights and weekends to meet iteration...</small></li>
<li><a href='http://www.agileforall.com/2009/12/22/agile-antipattern-changing-the-definition-of-done/' rel='bookmark' title='Agile antipattern: Changing the definition of done'>Agile antipattern: Changing the definition of done</a> <small>Ever see a burndown chart like the one to the left?  I&#8217;ve...</small></li>
<li><a href='http://www.agileforall.com/2008/09/20/are-you-agile-the-nokia-test/' rel='bookmark' title='Are you agile &#8211; the Nokia test'>Are you agile &#8211; the Nokia test</a> <small>I&#8217;ve been helping lots of clients start new agile initiatives recently.  This...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.agileforall.com/2009/05/05/new-to-agile-use-a-rules-of-engagement-document/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Agile anti-pattern: Going to longer iterations</title>
		<link>http://www.agileforall.com/2009/04/28/agile-anti-pattern-going-to-longer-iterations/</link>
		<comments>http://www.agileforall.com/2009/04/28/agile-anti-pattern-going-to-longer-iterations/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 18:29:12 +0000</pubDate>
		<dc:creator>Bob Hartman</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Antipattern]]></category>
		<category><![CDATA[Practices]]></category>
		<category><![CDATA[Principles]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://www.agileforall.com/blog/?p=308</guid>
		<description><![CDATA[This is another common theme among teams just starting with agile.  It usually goes something like this: The team has an unsuccessful iteration. They determine all the unfinished work is testing. During the retrospective they resolve to give more help to the testers so they can finish in time. The next iteration is also unsuccessful. [...]
<strong>Related posts:</strong><ol>
<li><a href='http://www.agileforall.com/2009/12/14/agile-antipattern-burndown-wall/' rel='bookmark' title='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/2009/04/23/agile-antipattern-code-freezes-during-each-iteration/' rel='bookmark' title='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/2008/11/25/agile-architecture-and-agile-testing-new-courses-on-the-horizon/' rel='bookmark' title='Agile Architecture and Agile Testing &#8211; New Courses on the horizon'>Agile Architecture and Agile Testing &#8211; New Courses on the horizon</a> <small>Exciting news!  Some associates of mine are currently completing work on some...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>This is another common theme among teams just starting with agile.  It usually goes something like this:</p>
<ol>
<li>The team has an unsuccessful iteration.</li>
<li>They determine all the unfinished work is testing.</li>
<li>During the retrospective they resolve to give more help to the testers so they can finish in time.</li>
<li>The next iteration is also unsuccessful.</li>
<li>The team determines once again all unfinished work is testing.</li>
<li>During the retrospective they decide the only way to have enough time for testing is to move to a longer iteration length.</li>
</ol>
<p>Uh oh, <a href="http://history.nasa.gov/SP-350/ch-13-1.html" target="_blank">Houston we have a problem</a>!<span id="more-308"></span></p>
<p>This is not going to lead to success.  Think about it for just a minute.  The reasoning behind doing this is to give testers more time to test.  That sounds great in theory, but what are the developers doing during the extra time?  No, sorry, but they aren&#8217;t doing anything like sitting on their hands.  They are creating more software.  So if they are creating more software, when does it get tested?  Well, during the extra time of course!  But, but, the extra time was for testing the stuff they ALREADY created.  That&#8217;s right, we give extra time to test the stuff they created during the original iteration length, while then taking that time to create proportionally more software.  The result is pretty ugly &#8211; the testers now fall short by an amount of work which is directly proportional to the change in iteration length.  If the original iteration was 2 weeks, and the new iteration is 3 weeks, testers will fail to complete 50% more work in the new iteration length.  Bottom line, we didn&#8217;t make the problem better.</p>
<p>This is one of the worst antipatterns because for some reason people actually believe it should work.  Somehow they will wave a magic wand and developers will just slow down enough to let testers catch up with the new iteration length.  Sorry folks, it doesn&#8217;t work that way.  So what can you do instead?  You might try making a new rule:</p>
<p style="text-align: center;"><strong>There is no code except tested code</strong></p>
<p style="text-align: left;">How does this help?  Well, developers can no longer say &#8220;I coded that already&#8221; for just one example.  It isn&#8217;t &#8220;coded&#8221; until it has passed testing.  This means developers get zero credit for anything which isn&#8217;t tested.  Now it is not just testers which fell short during the iteration, it is the team.  If testing is constantly falling behind and coders can&#8217;t just blame the testers, what are their options?  Well, for starters they can help the testers out.  Maybe figure out how to automate more tests.  Maybe use unit test-driven development so the software that gets tested is more solid and likely to pass the acceptance tests.  Maybe developers turn into testers in order to complete the iteration.  Believe me, the more times developers have to run tests, the more automation tools and frameworks will start to show up or become easier to use (and this is a good thing!).</p>
<p style="text-align: left;">This is based on the lean principle to improve the system by doing two things:  measuring UP and optimizing the whole.  I&#8217;ll almost certainly have blog posts on both of those topics in the near future, but feel free to purchase Mary and Tom Poppendieck&#8217;s books on Lean Software Development (see <a href="http://www.agileforall.com/books" target="_blank">our books page</a>) if you want to read about them.</p>
<p style="text-align: left;">Thanks for reading this entry.  If you were considering a longer iteration length I hope this post stopped you from making a big mistake!</p>
<p style="text-align: left;">Until next time I&#8217;ll be Making Agile a Reality™ by having my clients expose the real <a href="http://www.agileforall.com/2009/03/09/new-to-agile-beware-of-the-elephant-in-the-room/" target="_blank">elephants in the room</a> and getting rid of them.</p>
<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%2F28%2Fagile-anti-pattern-going-to-longer-iterations%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F04%2F28%2Fagile-anti-pattern-going-to-longer-iterations%2F&amp;source=AgileForAll&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.agileforall.com%2F2009%2F04%2F28%2Fagile-anti-pattern-going-to-longer-iterations%2F&amp;title=Agile%20anti-pattern%3A%20Going%20to%20longer%20iterations" id="wpa2a_20"><img src="http://www.agileforall.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></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='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/2009/04/23/agile-antipattern-code-freezes-during-each-iteration/' rel='bookmark' title='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/2008/11/25/agile-architecture-and-agile-testing-new-courses-on-the-horizon/' rel='bookmark' title='Agile Architecture and Agile Testing &#8211; New Courses on the horizon'>Agile Architecture and Agile Testing &#8211; New Courses on the horizon</a> <small>Exciting news!  Some associates of mine are currently completing work on some...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.agileforall.com/2009/04/28/agile-anti-pattern-going-to-longer-iterations/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

