<?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>Mike Cohn&#039;s Blog - Succeeding With Agile® &#187; Agile Planning</title>
	<atom:link href="http://blog.mountaingoatsoftware.com/category/planning/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.mountaingoatsoftware.com</link>
	<description>Succeeding With Agile®</description>
	<lastBuildDate>Mon, 06 Feb 2012 18:11:05 +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>Estimating and Planning Are Necessary for Maximizing Delivered Value</title>
		<link>http://blog.mountaingoatsoftware.com/estimating-planning-necessary-maximizing-delivered-value</link>
		<comments>http://blog.mountaingoatsoftware.com/estimating-planning-necessary-maximizing-delivered-value#comments</comments>
		<pubDate>Mon, 06 Feb 2012 18:11:05 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Agile Estimating]]></category>
		<category><![CDATA[Agile Planning]]></category>
		<category><![CDATA[agile estimation]]></category>
		<category><![CDATA[planning]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=1259</guid>
		<description><![CDATA[Because I&#8217;m so interested in estimating and planning, I always take notice when I see a new blog post or news group posting claiming, &#8220;Estimating is waste! Don&#8217;t do it!&#8221; The thing that never shocks me about these arguments against estimating and planning is that they never come from the business people for whom we [...]]]></description>
			<content:encoded><![CDATA[<p>Because I&#8217;m so interested in estimating and planning, I always take notice when I see a new blog post or news group posting claiming, &#8220;Estimating is waste! Don&#8217;t do it!&#8221; The thing that never shocks me about these arguments against estimating and planning is that they never come from the business people for whom we are developing products or systems. They understand the value of estimates and plans (and the shortcomings of poor estimates and plans). </p>
<p>Let&#8217;s consider that perspective for a moment. How many significant things in your personal life would do without at least some planning first? I doubt you would plan a wedding, a relocation to another city, a holiday trip, or any such event without first engaging in some amount of planning. </p>
<p>Suppose you are considering a first-ever trip to Italy. You would plan that&#8211;which cities? how long in each city? what&#8217;s your budget? and so on would be some of the questions you would consider. Now suppose you are planning your one hundredth return visit to the city in which you grew up. You will even plan this trip&#8211;even if the extent of that planning is to decide you don&#8217;t need to plan at all. </p>
<p>Planning is the act of thinking about the future. Sometimes that future holds risk and uncertainty. In those cases we plan more than when the future is highly predictable as a hundredth visit to your childhood home town would be. When a future activity is highly predictable, planning may consist of nothing more than a few milliseconds of rejecting the need to plan further.</p>
<p>Of course on a software project it is rarely this simple.</p>
<p>What about estimating? Do we really need to estimate? Yes, because estimating is a pre-requisite to planning. You cannot plan without estimates in mind. Those estimates may be very informal and very implicit. As I write this I am on a flight to California. Before boarding the plane I got cash from an ATM. I <em>estimated</em> my upcoming need for cash to do that. $200 should do it. That estimate took less than a second and I was perhaps not even conscious of it, but it was made.</p>
<p>When a product owner says, &#8220;I&#8217;d prefer to add this feature rather than that feature,&#8221; the product owner is acting with at least some implicit estimate (perhaps guess) of how long each will take. When a programmer chooses late in the day to fix a bug rather than start a new user story before going home, that programmer has made an implicit estimate that fixing the bug fits better with the hours left in the day. </p>
<p>Teams that say, &#8220;We won&#8217;t estimate. We&#8217;ll just make every user story the same size,&#8221; are estimating. They are estimating that this user story is the same effort as all other user stories. I&#8217;d even argue that it&#8217;s harder to make each story the same size than it is to use a small range of effort sizes on various stories.</p>
<p>These estimates must be made. Yes, they can be subconscious but they are made. Those who blog and post to newsgroups saying &#8220;estimating is waste, don&#8217;t do it&#8221; are ignoring these types of estimates. </p>
<p>But are these casual, perhaps subconscious, estimates OK? Wouldn&#8217;t teams be better with formal estimates?</p>
<p>Perhaps but not in all cases. A team should estimate and plan only to the extent that further investment in estimating and planning will lead to different actions. If you will do the same thing even if you estimate or plan more, stop. But if further planning is likely to lead to better decisions (more confidence in a delivery date, better prioritization of functionality, or so on), then estimate and plan further. </p>
<p>As an example, we recently added quite a bit of functionality to this website to support our new <a href="http://www.mountaingoatsoftware.com/elearning" title="Agile Estimating and Planning elearning video course">eLearning course on Agile Estimating and Planning</a>. I did not ask the programmer who did that work to give me more than cursory estimates. I&#8217;m still enough of a programmer to have an idea how long the new features would take. I&#8217;ve worked with him long enough to know how fast he is. Asking him for detailed estimates would not have changed anything about that project.</p>
<p>So estimating and planning are necessary. They can (and should be) lightweight. You should stop when further planning is not likely to lead to improved decisions worth the extra effort.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/estimating-planning-necessary-maximizing-delivered-value/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Announcing an Online Agile Estimating and Planning Course</title>
		<link>http://blog.mountaingoatsoftware.com/announcing-an-online-agile-estimating-and-planning-course</link>
		<comments>http://blog.mountaingoatsoftware.com/announcing-an-online-agile-estimating-and-planning-course#comments</comments>
		<pubDate>Tue, 31 Jan 2012 16:00:14 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Agile Estimating]]></category>
		<category><![CDATA[Agile Planning]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=1248</guid>
		<description><![CDATA[I&#8217;m very excited to let you know that we now have an online course on Agile Estimating and Planning. The course is a series of videos and interactive quizzes. Videos are a combination of screencast (slides) and live action of me. All videos are extremely professionally done&#8211;no handheld video camera or recordings of me talking [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m very excited to let you know that we now have an <a href="http://www.mountaingoatsoftware.com/elearning" title="Agile Estimating and Planning elearning video course">online course on Agile Estimating and Planning</a>. The course is a series of videos and interactive quizzes. Videos are a combination of screencast (slides) and live action of me. All videos are extremely professionally done&#8211;no handheld video camera or recordings of me talking into my iPhone. </p>
<p>The entire course is now available on the Mountain Goat Software site. Check out the free previews. The course can be purchased for streaming or for streaming + download. We also offer group discounts and an innovative, easy way for someone such as a manager, ScrumMaster or similar to buy and distribute licenses to team members. </p>
<p>The 44 videos are interspersed with 9 interactive quizzes. If you miss a quiz question, you get immediate feedback telling you what the right answer is. This approach may not hold up to some certification organization&#8217;s rigor, but it&#8217;s sure a helpful way to make sure you&#8217;ve learned the topic. You can see an example below. </p>
<p><a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/quiz-answer-sample.jpg"><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/quiz-answer-sample.jpg" alt="Sample quiz question from online agile training" title="quiz-answer-sample" width="500" height="499" class="aligncenter size-full wp-image-1250" /></a></p>
<p>The course qualifies for 4 PDUs from the Project Management Institute and is perfect for PMPs or aspiring PMI-ACP candidates. At the end of the course, you earn a Certificate of Completion as proof of your participation.</p>
<p>Overall this course has been in development for 16 months and we&#8217;re hopeful you&#8217;ll be able to see the attention to detail we put into it.</p>
<p>I hope you find this news as exciting as I do. Please help me out by spreading the word to your friends, coworkers, grandmothers, and anyone else who might be interested. Thank you.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/announcing-an-online-agile-estimating-and-planning-course/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Simulating a Project by Resampling Velocity</title>
		<link>http://blog.mountaingoatsoftware.com/simulating-a-project-by-resampling-velocity</link>
		<comments>http://blog.mountaingoatsoftware.com/simulating-a-project-by-resampling-velocity#comments</comments>
		<pubDate>Sun, 25 Sep 2011 17:42:38 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Agile Planning]]></category>
		<category><![CDATA[metrics]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[velocity]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=1154</guid>
		<description><![CDATA[I normally write about a new agile project management technique only after I’ve used it for a couple of years and found it successful in a couple of different contexts. In this post I want to share such a technique. It’s a statistical technique called “resampling” that I’ve become quite fond of for making predictions [...]]]></description>
			<content:encoded><![CDATA[<p>I normally write about a new agile project management technique only after I’ve used it for a couple of years and found it successful in a couple of different contexts. In this post I want to share such a technique. It’s a statistical technique called “resampling” that I’ve become quite fond of for making predictions about future velocity, a method for measuring the rate at which agile teams consistently deliver value.</p>
<p>Resampling is based on the idea that things we’ll observe in the future will be similar to the things we’ve observed in the past. In the examples below we’re saying the velocities a project team will see in the future will be similar to ones that occurred in the past. Resampling works by imagining we’ve put all old sample velocities into a bag. If we have past velocities of 18, 17, 18, 19, 22, and 20 imagine each of those written on separate slips of paper and dropped into a bag. Note we’ll have two slips of paper with “18? because our Agile or Scrum team here had that velocity twice.</p>
<p>To predict future velocity we reach into the bag and pull out one piece of paper. What’s written on it is our prediction of velocity in the first sprint. To predict the team’s velocity in the second sprint, we reach into the bag and pull out another slip of paper. But, before we do that, it’s important we put the first slip of paper back into the bag. This is called “resampling with replacement.” We want to replace because for any given sprint the team is equally likely to get any of their past velocities. </p>
<p>Suppose we’re trying to predict how much work a given team can complete in a coming ten-sprint period. We would resample (with replacement) ten times. Each time we’d note the number we pulled from the bag. After we pull the tenth slip, we would sum the ten values we pulled and that is one possible result for this team over the coming ten-sprint period. </p>
<p>It’s quite possible we could get lucky and pull the highest-valued slip (22) each of ten times. Or we could pull the worst-case slip, 17, each of the ten times. But these are unlikely. If we could in some way in the real world run the project hundreds or thousands of times, we would occasionally see the team repeat their highest (or lowest) velocity every sprint but it wouldn’t happen very often.</p>
<p>Since we can’t run the project hundreds or thousands of times in the real world, we want to simulate doing so on a computer. We can then learn a great deal from the results. For example, suppose we are ready to start a project that will have ten sprints. It would be helpful to know things like:</p>
<ul>
<li>what is the average amount of work completed over those ten sprints?</li>
<li>what percentage of the time does the team finish more than say 200 points of work?</li>
</ul>
<p>It’s actually quite straightforward to answer these questions using simulation and resampling. Let’s see how it’s done. You can follow along with <a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/ResamplingVelocity.xls" title="resampling spreadsheet" target="_blank">this velocity resampling spreadsheet</a>. In the figure below (from that spreadsheet), cells B3 through B28 show historical velocity.</p>
<p><a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/historical-velocity-data.jpg"><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/historical-velocity-data.jpg" alt="Historical velocity data" title="historical-velocity-data" width="161" height="436" class="alignleft size-full wp-image-1159" /></a></p>
<p>&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />
Because our hypothetical project here involves ten sprints, cells D3 through E12 show the sprint numbers (1-10) and a resampled velocity for each. </p>
<p><a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/resampled-velocities.jpg"><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/resampled-velocities.jpg" alt="Ten resampled velocities" title="resampled-velocities" width="171" height="199" class="alignleft size-full wp-image-1161" /></a></p>
<p>&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;</p>
<p>Selecting a resampled velocity is simply a matter of randomly selecting any velocity from the B3:B28 range (our 26 historical velocities). This is done with the formula:<br />
=SMALL($B$3:$B$28,INT(COUNT($B$3:$B$28)*RAND())+1)<br />
which generates a random number between 1 and 26 and then uses the SMALL method to select that item from the list of values. (Note: SMALL selects the nth smallest item from the list of values; we could have used LARGE instead. The goal is just to randomly select a value from the list of velocity in B3:B28.)</p>
<p>Because we&#8217;re using the RAND() function in E3:E12, any time you change any cell in the spreadsheet, the values in E3:E12 change. This is a desirable side effect of using RAND().</p>
<p>E3:E12 simulates one run of ten sprints. We&#8217;d like, though, to simulate 100, 200 or even 1000 runs of the project (each with ten sprints in it). To do this is slightly tricky because we&#8217;re going to use something a lot of people aren&#8217;t familiar with in Excel: a Data Table. In our spreadsheet, the Data Table is in G3 through H202, a portion of which is shown below.</p>
<p><a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/first-13-simulations.jpg"><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/first-13-simulations.jpg" alt="The first 13 simulations" title="first-13-simulations" width="162" height="244" class="alignleft size-full wp-image-1171" /></a></p>
<p>&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp; <br />&nbsp;<br />&nbsp;</p>
<p>The G column shows a sprint number, the H column shows a sum of ten velocities, representing one ten-sprint project in our case. In the example, in the figure at left you can see that the first simulation of the project yielded a total of 230 points done in the ten sprints of the project. In the next row (cell H4, but labeled &#8217;2&#8242; in column G of the spreadsheet), the team got a much higher simulated velocity, 264. In the spreadsheet, I repeated this 200 times but you can do more or less as you prefer.</p>
<p>For brief instructions on how to create a data table, see the end of this post. For more complete instructions, see the Excel documentation.</p>
<p>Armed with 200 simulations of the ten sprints of the project (or ideally even more), we can now answer the question we started with, which is, How much can this team finish in ten sprints? Cells E17 and E18 of the spreadsheet show the average total work finished from the 200 simulations and the standard deviation around that work. </p>
<p><a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/averages.jpg"><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/averages.jpg" alt="" title="averages" width="176" height="48" class="alignleft size-medium wp-image-1181" /></a></p>
<p>&nbsp;<br />&nbsp;<br />&nbsp;</p>
<p>In this case the resampled average is 240 points (in ten sprints) with a standard deviation of 12. This means our single best guess (50/50) of how much the team can complete is 240 points. Knowing that 95% of the time the value will be within two standard deviations we know that there is a 95% chance of finishing between 240 +/- (2*12), which is 216 to 264 points.</p>
<p>If my boss wants a guarantee, I might say, &#8220;We can pretty much guarantee 216.&#8221; Technically I know the math doesn&#8217;t support the guarantee. There&#8217;s about a 2.5% chance we fall below that. However, humans are involved and just about any good team I&#8217;ve been on would be happy to kick in some extra effort sometime over the ten sprints to finish the 216 we committed to rather finishing with 210 if that 2.5% chance does occur. </p>
<p>Another interesting issue we can address with this type of simulation is the boss who says, &#8220;I need you to get 250 points done in the next 10 sprints.&#8221; You can see how likely this is to occur by scanning down the resampled values (the H column) and seeing how often the value there equals or exceeds the value the boss, client or customer wants. The spreadsheet is set to do this automatically as shown in this figure:</p>
<p><a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/meeting-the-boss-expectations.jpg"><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/meeting-the-boss-expectations.jpg" alt="seeing if the team can meet expectations" title="meeting-the-boss-expectations" width="422" height="68" class="alignleft size-full wp-image-1183" /></a></p>
<p>&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;</p>
<p>Type in the total number of points desired in L20, the spreadsheet will see how many times that number or higher occurred in the simulations (L21) and then report it as a percentage (L22). In this example, if the boss wants 250 points in 10 sprints, we can reply that while the team will try to achieve that, historical data shows that there is only a 20% chance of that occurring. </p>
<p>Hopefully you&#8217;ve found these examples of working with resampling to simulate projects helpful. There are many more things that can be done using this technique. I&#8217;ll provide additional examples in future posts.</p>
<p>You can download the <a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/ResamplingVelocity.xls" title="resampling spreadsheet">velocity resampling spreadsheet</a> used in this examples.</p>
<h3>Note on Creating a Table Table</h3>
<p>To create a Data Table, in cell H2 (the cell above where you want to put the simulation results), enter the formula you want to calculate as a result of each simulation. Because we&#8217;re interested in the sum of their ten sprints worth of velocity, I&#8217;ve entered:<br />
=SUM($E$3:$E$12)</p>
<p>Next, if you&#8217;re interested fill the sprint cells (the G column) with numbers from 1 to 200. Then highlight cells G2:through 202 (assuming you want to do 200 simulations as I&#8217;ve done here). Notice you&#8217;re highlighting starting one row above our simulations through the last row of simulations. Now create the data table. In my version of Excel (Mac 2011), I do this by selecting Data | What If | Data Tables. You&#8217;ll get a little dialog box asking for the row or column input cell. Move the cursor to Column Input cell and select G2. Close the dialog and you&#8217;ll see the 200 rows fill with simulation results.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/simulating-a-project-by-resampling-velocity/feed</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Seeing How Well a Team&#8217;s Story Points Align from One to Eight</title>
		<link>http://blog.mountaingoatsoftware.com/seeing-how-well-a-teams-story-points-align-from-one-to-eight</link>
		<comments>http://blog.mountaingoatsoftware.com/seeing-how-well-a-teams-story-points-align-from-one-to-eight#comments</comments>
		<pubDate>Mon, 19 Sep 2011 09:13:01 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Agile Estimating]]></category>
		<category><![CDATA[Agile Planning]]></category>
		<category><![CDATA[agile estimation]]></category>
		<category><![CDATA[metrics]]></category>
		<category><![CDATA[story points]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=1148</guid>
		<description><![CDATA[The topic of how well a team estimates two point stories relative to one point stories (and so on) has come up in a couple of comments and replies on this blog recently, so let&#8217;s discuss it. Here&#8217;s a graph showing relevant data from one company: Each column of data and pair of bars shows [...]]]></description>
			<content:encoded><![CDATA[<p>The topic of how well a team estimates two point stories relative to one point stories (and so on) has come up in a couple of comments and replies on this blog recently, so let&#8217;s discuss it. Here&#8217;s a graph showing relevant data from one company:</p>
<p><a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/graph-relating-points-to-hours.jpg"><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/graph-relating-points-to-hours.jpg" alt="A graph showing the measured relationship between points and hours " title="graph-relating-points-to-hours" width="600" height="450" class="aligncenter size-full wp-image-1149" /></a></p>
<p>Each column of data and pair of bars shows data from stories of the size given in the Points row. The first set of data is for one-point stories, the second set of data is for two-point stories and so on. Looking at the one-point data, we see that the median number of hours to complete a one-point story (at this company) was 21 hours. The shortest (From) took 6 hours and the longest (To) took 36 hours. The shortest and longest are shown in the green and blue bars above the table. The median is graphed as the red line.</p>
<p>Let&#8217;s look at the two-point stories. We see there a median effort of 52 hours and a range from 31 to 73. If we assume the 1-point stories were perfectly estimated, we would expect 2 point stories to have a median of 42 instead of the 52 we see here. Or perhaps the 2-point stories were done perfectly and the 52 is right. In that case, the median for one-point stories should have been 26. Most likely, neither is perfect and the &#8220;perfect&#8221; estimates are somewhere between. Either way, the team has drifted a little bit because the median of the 2-pointers does not equal twice the median of the 1-pointers. </p>
<p>But let&#8217;s look at the three-point stories. Three-point stories should presumably be triple the median of the 1-point stories. The median should be 63 and we see that it is 64. Wow. Very close. </p>
<p>The five-point stories should presumably have a median of 5&#215;21=105 and they come in at 100. The eight-point stories should presumably have a a median of 8&#215;21=166 but they only come in at 111. But, hold on, we have to make a bit of an adjustment in this thinking for the 5- and 8-point stories. If you use these numbers the way I recommend, you know to think of them as buckets. An 8 is a bucket that holds all stories from six through eight points in size. That is, if you have a story you think is a six, you can&#8217;t fit it into the five-point bucket so it goes into the eight-point bucket.</p>
<p>This means that our five-point stories are really fours and fives. If we have the same number of each, the average size of a story in the five-point bucket is really 4.5 points. Multiplying 4.5 points x 21 hours (length of the 1-point story) give 94.5, off by about 5% from our measured median of 101 hours. Not so bad.</p>
<p>Since the 8-point bucket holds stories of size 6, 7, and 8, we can assume the average story given an 8 is really worth 7 points. And 7 points times 21 hours = 147 hours. The 8-point stories should have a median of 147. They don&#8217;t, they have a median observed value of 111. So this team has definitely drifted by the time they reach their 8-point stories.</p>
<p>(Let me add a sidenote here that rather than simply assuming the 1-point stories were perfect and using their 21 for all this mulitplication, a better approach would be to do linear regression analysis, which can be done with Excel. You can then look at the r-squared value to see how well the values fit. But, I didn&#8217;t want to go through all that math here and with data like this, we can, I believe, see that things work out pretty well up to 8.)</p>
<p>I encourage you to think about collecting data like this at your company. You need to be careful though. Because you&#8217;ll be collecting actual effort expended on each user story, it&#8217;s possible that team members feel more than the normal amount of pressure to finish within any estimates they give. They may then respond by padding their estimates. This defeats the whole purpose. So, show a graph like the one above to the team and be clear that having this data can help them. For example, the team above could learn that they put 8s on stories that should perhaps have been 5s. (Looking at the data, they could also learn that they estimated correctly but that they really had more sixes in the eight bucket.)</p>
<p>Most teams who do this will find that they are good through about 8, as in this example. With some awareness of data like this and some additional practice and calibration, just about any team can get good across a 1-13 range. Beyond that is tough and numbers above 13 (and possibly starting with 13) should be used with caution or only for answering rough, long-term questions like, &#8220;Is this project a couple of months or are we talking about a year to do it?&#8221;</p>
<p>If you collect data like this for your teams, I would appreciate it if you would share it with me. You can just email it to mike@mountaingoatsoftware.com rather than posting it here. I&#8217;ve been working on some analysis of data like this and the more teams I have, the better.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/seeing-how-well-a-teams-story-points-align-from-one-to-eight/feed</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>Estimating a Full Backlog Based on a Sample of It</title>
		<link>http://blog.mountaingoatsoftware.com/estimating-a-full-backlog-based-on-a-sample</link>
		<comments>http://blog.mountaingoatsoftware.com/estimating-a-full-backlog-based-on-a-sample#comments</comments>
		<pubDate>Fri, 16 Sep 2011 16:46:24 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Agile Estimating]]></category>
		<category><![CDATA[Agile Planning]]></category>
		<category><![CDATA[agile estimation]]></category>
		<category><![CDATA[agile release planning]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=1131</guid>
		<description><![CDATA[I want to address a question I was sent recently and that I get asked about once a month. The question has to do with how we estimate how many hours it will take to deliver a given product backlog if we have no historical data at all. My first bit of advice is always [...]]]></description>
			<content:encoded><![CDATA[<p>I want to address a question I was sent recently and that I get asked about once a month. The question has to do with how we estimate how many hours it will take to deliver a given product backlog if we have no historical data at all. </p>
<p>My first bit of advice is always to try to put off answering until you&#8217;re able to get even one sprint of historical data. But that&#8217;s not always possible. When it&#8217;s not my general recommendation is to conduct one or more commitment-driven sprint planning meetings and use those to forecast likely velocity. </p>
<p>However, some people are still more comfortable thinking in hours and rather than forecast velocity, they want to forecast the number of hours a product backlog will take. From there they will usually estimate the duration of the project (something that could be done more directly with a velocity estimate). But, since it&#8217;s a common question, I&#8217;d like to address it.</p>
<p>Here&#8217;s essentially the question I was asked. I&#8217;ve paraphrased, simplified and left out extraneous information:</p>
<blockquote><p>We have no historical velocity data. We have a product backlog of 300 user stories. Each user story has been estimated, most in the range of 3-13 points. Would the following approach be reasonable:</p>
<ol>
<li>Grab a random sample of 40 stories.</li>
<li>Break each of those stories into tasks and estimate the tasks.</li>
<li>From the task estimates come up with an average number of hours per story.</li>
</ol>
<p>For example, suppose the randomly selected 40 user stories total 150 points and that the tasks identified for those 40 user stories total 600 hours. We would then theorize that it is about 4 hours per story point?
</p></blockquote>
<p>Well, yes, the idea here is fine with two problems: </p>
<ol>
<li>It&#8217;s important to remember that the relationship between points and hours is not an equivalence. It is not that 1 point equals 4 hours (which is what our example showed above). It is that 1 point equals a mean of four hours with a standard deviation of plus or minus say 45 minutes. This would mean that most of the time (68% of the time) the relationship would be that 1 point takes from 3:15 to 4:45 to finish. It would mean that almost always (98% of the time), one point would take between 2-1/2 and 5-1/2 hours to finish (two standard deviations). </li>
<li>The above approach assumes that 1-point stories and 13-point stories are estimated perfectly in relative terms. In other words, it assumes that if the mean duration of a one-point story is 4 hours, the mean of a 13-point story will be 13&#215;4=52 hours. For many reasons, this is unlikely to be true. And the data I&#8217;ve collected from a variety of teams, shows that&#8211;as we&#8217;d expect&#8211;teams are not perfect, even though many are amazingly consistent.</li>
</ol>
<p>So, what can we do to address these problems? A first really simple improvement is to calculate the average number of hours for stories of each size rather than one overall average. For example, in the example above we said that the 40 stories were 150 points in total and 600 hours for an average of 4 hours per point. But, if we averaged the 1-point stories on their own we might find that they were 3.2 hours per point, and the 2-point stories that were broken into tasks were 4.3 hours per point, and the 3-point stories were 4.1 hours, and so on.</p>
<p>We can then multiply that average number of hours by the number of stories on the product backlog of each size. An example using the average hours given above is shown in the following table:</p>
<table border="1">
<tr>
<th>Points</th>
<th>Hours Per Story</th>
<th># of Stories</th>
<th>Total Hours</th>
</tr>
<tr>
<td>1</td>
<td>3.2</td>
<td>5</td>
<td>16.0</td>
</tr>
<tr>
<td>2</td>
<td>8.6</td>
<td>8</td>
<td>68.8</td>
</tr>
<tr>
<td>3</td>
<td>12.3</td>
<td>7</td>
<td>86.1</td>
</tr>
</table>
<p>First, notice in the above that the second column is hours per story, not hours per point. The two-point stories were assumed to take 4.3 hours per point so 8.6 (4.3&#215;2) hours per story is shown in that column.</p>
<p>This table shows that we have five 1-point user stories. Each is expected to be about 3.2 hours so we expect to spend 16 hours total on the 1-point stories. Summing the last column in this table gives an expected total of 170.9 hours. </p>
<p>Note that this approach is subject to all the shortcomings that will have been introduced during the task identification and estimation step. Most importantly that the team will fail to identify all tasks. So this approach will estimate the number of hours to deliver the tasks identified. Some adjustment will need to be made to estimate the amount of work that the team failed to identify and the duration adjusted accordingly.</p>
<p>I&#8217;ll write about other improvements to this simple approach in upcoming blog posts.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/estimating-a-full-backlog-based-on-a-sample/feed</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Should Story Points Be Assigned to A Bug-Fixing Story</title>
		<link>http://blog.mountaingoatsoftware.com/should-story-points-be-assigned-to-a-bug-fixing-story</link>
		<comments>http://blog.mountaingoatsoftware.com/should-story-points-be-assigned-to-a-bug-fixing-story#comments</comments>
		<pubDate>Sun, 14 Nov 2010 02:22:41 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Agile Planning]]></category>
		<category><![CDATA[Agile Estimating]]></category>
		<category><![CDATA[defect management]]></category>
		<category><![CDATA[velocity]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=908</guid>
		<description><![CDATA[When migrating a product from a traditional approach to an agile one, teams commonly bring along a large database of bugs. These are the result of an inadequate focus on continuously high quality. Shortly into their agile initiative, many teams (and their product owners) decide to aggressively work through the bug backlog. A common approach [...]]]></description>
			<content:encoded><![CDATA[<p>When migrating a product from a traditional approach to an agile one, teams commonly bring along a large database of bugs. These are the result of an inadequate focus on continuously high quality. Shortly into their agile initiative, many teams (and their product owners) decide to aggressively work through the bug backlog. A common approach for doing so is to plan to fix x bugs per sprint or spend y hours on bugs per sprint. Sometimes teams write a user story for this activity such as &#8220;As a user, I want at least 15 bugs fixed&#8221; or &#8220;As a user, I want you to spend about 50 hours this sprint fixing bugs so that the application becomes gradually more high quality.&#8221; Even a team that doesn&#8217;t explicitly write such a user story will usually include a row on its taskboard to make the bug fixing visible and to track it.</p>
<p>In these situations a common question is whether the team should assign some number of story points to the work of fixing these legacy bugs.</p>
<p>If the team does not assign a story point value to this work, velocity will show the amount of &#8220;forward progress&#8221; the team is making each sprint. This has the advantage of making visible that the team is going more slowly through the work than it could if these legacy bugs had been fixed when originally found.</p>
<p>On the other hand, if the team does assign points to the bug-fixing effort, velocity comes to represent the team&#8217;s true capacity to accomplish work. </p>
<p>My usual recommendation is to assign points to the bug fixing. This really achieves the best of both worlds. We are able to see how much work the team is really able to accomplish but also able to look at the historical data and see how much went into the bug-fixing story each sprint. Knowing this can be helpful to a team and its product owner. For example, imagine a situation in which the product owner is considering suspending bug fixing for the next six sprints in order to add a valuable different feature into a release. If we know that the team&#8217;s full historical average velocity was 25 but that 5 points went to bug fixing each sprint, we know that suspending bug fixing for the next six sprints will result in 30 (6*5) more points of new functionality. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/should-story-points-be-assigned-to-a-bug-fixing-story/feed</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>The Problems with Estimating Business Value</title>
		<link>http://blog.mountaingoatsoftware.com/the-problems-with-estimating-business-value</link>
		<comments>http://blog.mountaingoatsoftware.com/the-problems-with-estimating-business-value#comments</comments>
		<pubDate>Sun, 19 Sep 2010 08:47:55 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Agile Estimating]]></category>
		<category><![CDATA[Agile Planning]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=859</guid>
		<description><![CDATA[I occasionally see teams that want to put an estimate of &#8220;business value&#8221; on each user story. They usually do this for either or both of two reasons: to be able to measure the amount of &#8220;business value&#8221; delivered to the organization, usually graphing this sprint by sprint to be able to prioritize user stories [...]]]></description>
			<content:encoded><![CDATA[<p>I occasionally see teams that want to put an estimate of &#8220;business value&#8221; on each user story. They usually do this for either or both of two reasons:</p>
<ol>
<li>to be able to measure the amount of &#8220;business value&#8221; delivered to the organization, usually graphing this sprint by sprint</li>
<li>to be able to prioritize user stories by comparing the business value of each story to its cost</li>
</ol>
<p>There are, unfortunately, some problems with these practices. </p>
<p>First, the value of small bits of functionality are often intertwined.  When we get features that are too small (as good user stories are), it is very difficult to put a discrete value on each. Economists call this hedonic pricing. The classic example is putting values on the individual components of a house&#8217;s value&#8212;size, location, view, etc. How would you value each of those aspects of your house? You can see more on hedonic pricing on <a href="http://www.investopedia.com/terms/h/hedonicpricing.asp">Investopedia</a> and this example of <a href="http://www.bls.gov/cpi/cpidryer.htm">pricing clothes dryers</a> shows how complex hedonic pricing can get.</p>
<p>Second, the value of a small bit of functionality can often be said to be the total value of the product. For example, what is the value of the left front wheel of a car? Well, since I don&#8217;t want a car without that wheel, the value of it is the total value of the car. </p>
<p>Having identified two problems with assessing the &#8220;business value&#8221; of a user story, let&#8217;s look at a problem with determining the cost of the story. </p>
<h3>The Problem of Shared Cost</h3>
<p>Finally, when attempting to put business value points on small features (such as user stories) there is the additional problem of determining the cost of the feature. There is often a desire to do some form of return on investment (ROI) analysis on features by comparing the business value points to the cost in story points. However, with small features it is often the case that the true cost of implementing a feature is the sum of the cost of implementing multiple smaller parts of the system, some of which (e.g., architectural work) may not be separately estimated. </p>
<p>For example, the cost of refunding money to a credit card purchase should include some of the infrastructural work done to accept credit cards in the first place. That cost, however, was likely estimated as part of the story to &#8220;buy the items in my shopping cart.&#8221; Failure to share the cost of this credit card processing infrastructure between both the purchase and refund stories will lead to incorrect ROI decisions. </p>
<p>As with hedonic pricing, this is something economists have wrestled with for years. A simple example  is a cow raised and sold for beef and leather. How should the costs of raising the cow be apportioned between the user stories of &#8220;beef&#8221; and &#8220;leather&#8221;?  We could say the beef cost it all and we get the leather for free but that would be no more correct than the opposite. The benefits (beef and leather) need to be considered together in comparison to the cost of raising the cow.</p>
<h3>What Do We Do?</h3>
<p>So does this mean that we should never assign business value to features and that we should forego ROI analysis of user stories? Not necessarily. But this type of analysis is best used at the level of epics (large user stories) and themes (groups of stories) because value and cost can be appropriately assessed at those levels.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/the-problems-with-estimating-business-value/feed</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Sliding Toward Success</title>
		<link>http://blog.mountaingoatsoftware.com/sliding-toward-success</link>
		<comments>http://blog.mountaingoatsoftware.com/sliding-toward-success#comments</comments>
		<pubDate>Mon, 24 May 2010 16:50:14 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Agile Planning]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Scrum/Agile Roles]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=809</guid>
		<description><![CDATA[You may have noticed we’ve been adding agile project management tools to the Mountain Goat Software website occasionally. We have a tool for calculating a confidence interval around your velocity data as well as various tools for prioritizing user stories or projects against one another. I’ve got a new tool to announce today—Project Success Sliders. [...]]]></description>
			<content:encoded><![CDATA[<p>You may have noticed we’ve been adding <a href="http://www.mountaingoatsoftware.com/topics/agile-project-management">agile project management</a> tools to the Mountain Goat Software website occasionally. We have a tool for calculating a confidence interval around your velocity data as well as various tools for prioritizing user stories or projects against one another. I’ve got a new tool to announce today—Project Success Sliders.</p>
<p>Project Success Sliders were initially created and devised by Rob Thomsett in his book, <a href="http://www.amazon.com/exec/obidos/ASIN/%200130094862/mountaingoats-20">Radical Project Management</a>. Sliders are a way for a product owner (or collectively all key stakeholders) to convey expectations to the team. By default there are six sliders, each of which reflects some dimension by which project success can be determined—for example, delivery of all planned features, quality, meeting an agreed upon schedule.  This can be seen in this figure:</p>
<p><a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/sliders1.jpg"><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/sliders1.jpg" alt="These sliders are all balanced" title="Sliders" width="478" height="472" class="alignnone size-full wp-image-811" /></a></p>
<p>Each slider starts at a value of three along a continuum from one to five. The product owner or key stakeholders then moves sliders up or down to reflect the appropriate mix of factors in determining the success of the project. Stakeholders are prevented from simply moving all sliders to five by a rule that that every movement up must be offset by a corresponding move down. </p>
<p>If sliders are out of balance (e.g., too many have been moved to higher numbers), the green checkmark in the upper right is replaced by a red circle and number showing how far out of balance the sliders are as you can see in this figure:</p>
<p><a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/sliders2.jpg"><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/sliders2.jpg" alt="Sliders are out of balance" title="Sliders are out of balance" width="488" height="475" class="alignnone size-full wp-image-814" /></a></p>
<p>Sliders are brought back into balance when the product owner or stakeholders made additional adjustments to the sliders as shown in this example:</p>
<p><a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/sliders3.jpg"><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/sliders3.jpg" alt="Sliders brought back into balance" title="Sliders brought back into balance" width="471" height="471" class="alignnone size-full wp-image-818" /></a></p>
<p>Project success sliders can be a useful way to create an appropriate dialogue between stakeholders and team members about how success will be defined on the project. </p>
<p>Be sure to check out our <a href="http://www.mountaingoatsoftware.com/tools/project-success">Project Success Sliders</a> tool and let me know what you think</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/sliding-toward-success/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Managing Risk on Agile Projects with the Risk Burndown Chart</title>
		<link>http://blog.mountaingoatsoftware.com/managing-risk-on-agile-projects-with-the-risk-burndown-chart</link>
		<comments>http://blog.mountaingoatsoftware.com/managing-risk-on-agile-projects-with-the-risk-burndown-chart#comments</comments>
		<pubDate>Thu, 08 Apr 2010 22:51:01 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Agile Planning]]></category>
		<category><![CDATA[risk]]></category>
		<category><![CDATA[sprint planning]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=795</guid>
		<description><![CDATA[Risk management is a central part of traditional project management and is included as one of the knowledge areas in the Project Management Institute’s (PMI) body of knowledge. In many of my classes, participants ask how Scrum and agile address risk management. Some are concerned that agile or Scrum ignore risk management completely. Let’s see [...]]]></description>
			<content:encoded><![CDATA[<p>Risk management is a central part of traditional project management and is included as one of the knowledge areas in the Project Management Institute’s (PMI) body of knowledge. In many of my classes, participants ask how Scrum and agile address risk management. Some are concerned that agile or Scrum ignore risk management completely. Let’s see why this is the case.</p>
<p>First, a great deal of explicit risk management becomes unnecessary when a project uses an agile approach. The short iterations, single-minded focus on working software, heavy emphasis on automated tests, and frequent customer deliveries help teams avoid the biggest risk most projects face—that of eventually delivering nothing. So, it is not surprising that many agile projects forgo any form of explicit risk management. To put it in risk management terms, for these projects the likely savings from explicitly managing risks is outweighed by the cost of explicitly managing risk.</p>
<p>So while some short and inherently low-risk projects can be safely undertaken without any formal risk management, other projects are likely to benefit from explicitly managing risk. To see how we can do this, I want to describe a technique originally introduced by John Brothers in <em>The Agile Times</em> in 2004: the risk burndown chart. </p>
<p>Before we create a risk burndown chart we first need something akin to the typical risk census, which is merely a list of a project’s top risks along with the probability of the risk occurring and the size of the loss that would occur if it did. An example is shown in the following table, which I’ve simplified by eliminating a few columns that are not essential to this post:</p>
<p><a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/risk-census.jpg"><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/risk-census.jpg" alt="A risk census" title="risk-census" width="620" height="381" class="alignnone size-full wp-image-798" /></a></p>
<p>Our simple risk census here describes each risk, provides an estimate of how likely the risk is to occur, the impact to the schedule if the risk did occur, and then the expected exposure to the risk which is the probability multiplied by the size of the loss. I recommend creating a risk census during the first sprint planning meeting and then updating it quickly during subsequent planning meetings as new risks are identified or as the probabilities or sizes of known risks change. </p>
<p>The risk burndown chart is then created by plotting the sum of the risk exposure values from the census. My recommendation is to sum only the top ten risks even if the team has identified more. Do this even if the top ten change over the course of the project. A sample risk burndown chart will look like this:</p>
<p><a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/risk-burndown-1.jpg"><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/risk-burndown-1.jpg" alt="" title="risk-burndown-1" width="620" height="452" class="alignnone size-full wp-image-799" /></a></p>
<p>As with a regular release burndown chart, we should see a linear drop in risk over the course of the project, as shown in the red line of this next risk burndown chart.</p>
<p><a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/risk-burndown-2.jpg"><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/risk-burndown-2.jpg" alt="a risk burndown chart." title="risk-burndown-2" width="620" height="454" class="alignleft size-full wp-image-800" /></a></p>
<p>When risk is not coming down at the appropriate rate, the team may want to budget some time in the next sprint to work directly on risk mitigation.</p>
<p>So as we can see from these examples, it is possible for risk management and <a href="http://www.mountaingoatsoftware.com/topics/agile-project-management">agile project management</a> to coexist on projects that need to explicitly do so. And the risk burndown chart provides a convenient way of visualizing changes in risk.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/managing-risk-on-agile-projects-with-the-risk-burndown-chart/feed</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Mix the Sizes of the Product Backlog Items You Commit To</title>
		<link>http://blog.mountaingoatsoftware.com/mix-the-sizes-of-the-product-backlog-items-you-commit-to</link>
		<comments>http://blog.mountaingoatsoftware.com/mix-the-sizes-of-the-product-backlog-items-you-commit-to#comments</comments>
		<pubDate>Wed, 30 Dec 2009 15:58:55 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Agile Planning]]></category>
		<category><![CDATA[product backlog]]></category>
		<category><![CDATA[sprint planning]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=479</guid>
		<description><![CDATA[To avoid having multiple product backlog items wrapping up the last few days of the sprint, mix the size of the product backlog items you choose to bring into each sprint.  ]]></description>
			<content:encoded><![CDATA[<p>Teams used to a sequential development process have become accustomed to hand-offs between specialists. Analysts hand their work to designers who hand it to programmers who pass it on to testers. Each of these hand-offs includes some overhead in the form of meetings, documents to read and perhaps sign, and so on. In part because of this overhead, the hand-offs tend to be of large amounts of functionality. In the purest meaning of a waterfall process, the entire application is handed from group to group.</p>
<p>Teams that are new to <a href="http://www.mountaingoatsoftware.com/topics/agile-project-management">agile project management</a> often do not go far enough in eliminating these hand-offs. They often make the assumption that the programmers should finish programming a product backlog item before handing it off to the testers. This results in lengthy delays at the start of a sprint, when the testers are waiting for a first product backlog item to be handed to them. On a Scrum project, the unit of transfer between disciplines should be smaller than an individual product backlog item. That is, although there will always be some hand-offs (not everyone can be working on everything all the time), the amount of work being transferred from one person to the next should generally be as small as possible.</p>
<p>To facilitate these small transfers, Scrum teams learn to work by doing a little of everything all the time. Rather than an analysis phase (done without the programmer and tester) followed by a programming phase followed by a testing phase, a little of each of those activities is happening at all times. </p>
<p>Even with an emphasis on minimal hand-offs, there will be some product backlog items that will require a week or more of programming time before the programmer can give something even beginning to be testable to a tester. That’s OK. Not everything can be split as small as we might like. To avoid a flurry of testing activity toward the end-of-sprint, avoid bringing a bunch of these complex items into the same sprint. Instead of planning a sprint with, for example, three very large items that cannot be partially implemented, bring one or two large items into the sprint along with two or three smaller items. Some of the programmers can work on the large items, handing them over to testers whenever possible. The remaining programmers can work on the smaller items, ensuring a somewhat smoother flow of work to testers early in the sprint.</p>
<p>While your goal in each sprint should be to do a little bit of everything all the time, some backlog items are complex by nature and will not be completed until near or on the last day of a sprint. To avoid having multiple product backlog items wrapping up the last few days of the sprint, mix the size of the product backlog items you choose to bring into each sprint.  </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/mix-the-sizes-of-the-product-backlog-items-you-commit-to/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

