<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: How Do You Plan for Unplanned Work? &#8212; Part 3</title>
	<atom:link href="http://www.rallydev.com/agileblog/2009/03/how-do-you-plan-for-unplanned-work-part-3/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rallydev.com/agileblog/2009/03/how-do-you-plan-for-unplanned-work-part-3/</link>
	<description>Adopt, Scale and Succeed with Agile Development</description>
	<lastBuildDate>Wed, 17 Mar 2010 14:33:06 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jean Tabaka</title>
		<link>http://www.rallydev.com/agileblog/2009/03/how-do-you-plan-for-unplanned-work-part-3/#comment-329</link>
		<dc:creator>Jean Tabaka</dc:creator>
		<pubDate>Tue, 10 Mar 2009 22:22:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.rallydev.com/agileblog/?p=805#comment-329</guid>
		<description>Richard, thank you for your post. I see some differences between how we view unplanned work. For me, this is not about the Product Owner ADDING features to the Sprint Backlog. Rather, it is about teams that KNOW that production issues will have to be dealt with during their Sprint because it happens almost every Sprint. They just can&#039;t plan exactly for it. It is work they know they can&#039;t know a lot about.  SO, what I have suggested is that teams DON&#039;T allocate all of their capacity to KNOWN work.  This is the buffer the team holds back so that, as they make their commitment, they don&#039;t overcommit AND can still be responsive for the production issues that come up. Does that help?

Here is a second concern you might want to address: never allocate everyone&#039;s hours completely. This is not just because of questions that they need to ask. It is because they can&#039;t know exactly what complexities they may run into with the work they are signing up for. So, imagine that someone takes on an assignment that they estimate will take 10 hours. Then 5 more tasks that will take 5 hours each. That is now 10 + 25 total hours they of effort they are committing to in order to complete the work. To make sure that they have slack to take up any complexity or inaccuracy in their estimates, be careful about where you go from here. If the most truly productive hours anyone can have per day is 6 hours (a fairly standard number), look at what their total available hours for two weeks is: 6 * 10 = 60. If you allow slack for what they may not know about the work, say an additional hour per day, that is now 50 hours of work they can commit to. In this example, the team member has committed to 35 hours of work. Until they can prove that they are very good at calculating complexity and estimating the work to complete it, they should not take on more than 15 additional estimated hours of effort.

Once teams learn more about how accurate they are with their estimates, and how many interruptions they have during the day, this slack number can go done or go up. The main intent is to only use a capacity number that helps guide to a commitment they can truly meet.

Finally, this should address you issue in item (3). There is no such thing as extensions in Agile. A timebox is never extended. Either work got done in the timebox or it didn&#039;t. At the end of the timebox we evaluate the reasons it didn&#039;t get done: it was more complex than we thought, the developer didn&#039;t have the appropriate skill set, the tester wasn&#039;t available, both developer and tester were pulled into an emergency. The timebox doesn&#039;t change ever. What changes is what we commit to in the next timebox. Given that work wasn&#039;t completed, what should we do in this next timebox.

Does this help?</description>
		<content:encoded><![CDATA[<p>Richard, thank you for your post. I see some differences between how we view unplanned work. For me, this is not about the Product Owner ADDING features to the Sprint Backlog. Rather, it is about teams that KNOW that production issues will have to be dealt with during their Sprint because it happens almost every Sprint. They just can&#8217;t plan exactly for it. It is work they know they can&#8217;t know a lot about.  SO, what I have suggested is that teams DON&#8217;T allocate all of their capacity to KNOWN work.  This is the buffer the team holds back so that, as they make their commitment, they don&#8217;t overcommit AND can still be responsive for the production issues that come up. Does that help?</p>
<p>Here is a second concern you might want to address: never allocate everyone&#8217;s hours completely. This is not just because of questions that they need to ask. It is because they can&#8217;t know exactly what complexities they may run into with the work they are signing up for. So, imagine that someone takes on an assignment that they estimate will take 10 hours. Then 5 more tasks that will take 5 hours each. That is now 10 + 25 total hours they of effort they are committing to in order to complete the work. To make sure that they have slack to take up any complexity or inaccuracy in their estimates, be careful about where you go from here. If the most truly productive hours anyone can have per day is 6 hours (a fairly standard number), look at what their total available hours for two weeks is: 6 * 10 = 60. If you allow slack for what they may not know about the work, say an additional hour per day, that is now 50 hours of work they can commit to. In this example, the team member has committed to 35 hours of work. Until they can prove that they are very good at calculating complexity and estimating the work to complete it, they should not take on more than 15 additional estimated hours of effort.</p>
<p>Once teams learn more about how accurate they are with their estimates, and how many interruptions they have during the day, this slack number can go done or go up. The main intent is to only use a capacity number that helps guide to a commitment they can truly meet.</p>
<p>Finally, this should address you issue in item (3). There is no such thing as extensions in Agile. A timebox is never extended. Either work got done in the timebox or it didn&#8217;t. At the end of the timebox we evaluate the reasons it didn&#8217;t get done: it was more complex than we thought, the developer didn&#8217;t have the appropriate skill set, the tester wasn&#8217;t available, both developer and tester were pulled into an emergency. The timebox doesn&#8217;t change ever. What changes is what we commit to in the next timebox. Given that work wasn&#8217;t completed, what should we do in this next timebox.</p>
<p>Does this help?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Lynn Paul</title>
		<link>http://www.rallydev.com/agileblog/2009/03/how-do-you-plan-for-unplanned-work-part-3/#comment-314</link>
		<dc:creator>Richard Lynn Paul</dc:creator>
		<pubDate>Mon, 09 Mar 2009 17:02:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.rallydev.com/agileblog/?p=805#comment-314</guid>
		<description>(1) If the business side or executives bring over unexpected work, and add x hours of work that needs doing &quot;right now&quot; then they have to help decide which x hours of work to take off (defer).  By doing this they usually say, &quot;oh, those projects they are coding are higher priority than this&quot;.  Rarely, they say, this new project is higher priority, the hours are swapped out, and everybody stays fully allocated.

(2) Perhaps your way of breaking down projects into pieces is entirely different than ours, but for us each piece is a different size so we may commit to anywhere from 10 to 20 assignments in our 2-week iteration for programmers and with 2.3 programmers per QA member, that makes double that for the QA role, so occasionally a programmer or analyst may help QA.

How can you have a set number of assignments?  We vary because each person estimates how long each assignment will take them than fills up their commitment/allocation.  The hours per iteration that we allocate is not 80 hours for programmers and QA, but rather 70 hours for programmers and 65 hours for QA because we answer a lot of questions for another department as well as do our work.  We put in meetings and presentation/demo preparation time as part of those 65 or 70 hours to be fully allocated.  That is, our issue tracking system handles bugs/defects, stories/enhancements, and tasks and each gets estimates of how long it will take the analyst, programmer, code reviewer, and QA.

(3) The downside of (2) is that if you estimate your hours incorrectly you have to talk to your manager and get an extension, which may result in a re-assignment of projects among the programmers, or you just have to work overtime.  Because of this, over time we all became very accurate at estimating how long something would take us.

(4) The benefit of such estimating is that if it will take one programmer 8 hours and another 6 hours, you may want to have the programmer that will take less time get the project.  This way more gets done and programmers work in their areas of expertise.</description>
		<content:encoded><![CDATA[<p>(1) If the business side or executives bring over unexpected work, and add x hours of work that needs doing &#8220;right now&#8221; then they have to help decide which x hours of work to take off (defer).  By doing this they usually say, &#8220;oh, those projects they are coding are higher priority than this&#8221;.  Rarely, they say, this new project is higher priority, the hours are swapped out, and everybody stays fully allocated.</p>
<p>(2) Perhaps your way of breaking down projects into pieces is entirely different than ours, but for us each piece is a different size so we may commit to anywhere from 10 to 20 assignments in our 2-week iteration for programmers and with 2.3 programmers per QA member, that makes double that for the QA role, so occasionally a programmer or analyst may help QA.</p>
<p>How can you have a set number of assignments?  We vary because each person estimates how long each assignment will take them than fills up their commitment/allocation.  The hours per iteration that we allocate is not 80 hours for programmers and QA, but rather 70 hours for programmers and 65 hours for QA because we answer a lot of questions for another department as well as do our work.  We put in meetings and presentation/demo preparation time as part of those 65 or 70 hours to be fully allocated.  That is, our issue tracking system handles bugs/defects, stories/enhancements, and tasks and each gets estimates of how long it will take the analyst, programmer, code reviewer, and QA.</p>
<p>(3) The downside of (2) is that if you estimate your hours incorrectly you have to talk to your manager and get an extension, which may result in a re-assignment of projects among the programmers, or you just have to work overtime.  Because of this, over time we all became very accurate at estimating how long something would take us.</p>
<p>(4) The benefit of such estimating is that if it will take one programmer 8 hours and another 6 hours, you may want to have the programmer that will take less time get the project.  This way more gets done and programmers work in their areas of expertise.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jean Tabaka</title>
		<link>http://www.rallydev.com/agileblog/2009/03/how-do-you-plan-for-unplanned-work-part-3/#comment-313</link>
		<dc:creator>Jean Tabaka</dc:creator>
		<pubDate>Mon, 09 Mar 2009 16:35:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.rallydev.com/agileblog/?p=805#comment-313</guid>
		<description>Brendan, Thank you for emphasizing this need to create burning visibility &quot;sprint over sprint&quot; in order to recognize patterns or trends. These patterns inform us more about the unplanned work and how we tend to treat it (and ourselves!) I also like that your teams explicitly add information about unplanned work into their working agreements. Alistair Cockburn has a team agreement pattern called &quot;Sacrificing the One&quot; where team members take turns carrying the burden of work or a task that no-one particularly cares for. This might be a place where a team could institute a practice of &quot;Sacrifice the One&quot;.  Thanks!</description>
		<content:encoded><![CDATA[<p>Brendan, Thank you for emphasizing this need to create burning visibility &#8220;sprint over sprint&#8221; in order to recognize patterns or trends. These patterns inform us more about the unplanned work and how we tend to treat it (and ourselves!) I also like that your teams explicitly add information about unplanned work into their working agreements. Alistair Cockburn has a team agreement pattern called &#8220;Sacrificing the One&#8221; where team members take turns carrying the burden of work or a task that no-one particularly cares for. This might be a place where a team could institute a practice of &#8220;Sacrifice the One&#8221;.  Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brendan</title>
		<link>http://www.rallydev.com/agileblog/2009/03/how-do-you-plan-for-unplanned-work-part-3/#comment-310</link>
		<dc:creator>Brendan</dc:creator>
		<pubDate>Mon, 09 Mar 2009 11:16:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.rallydev.com/agileblog/?p=805#comment-310</guid>
		<description>Great post Jean! For those new to Agile, this is always a hard lesson to learn and this post outlines great guidelines. Early on in our adoption of Agile this was a constant problem, and it was not very visible. We implemented #s2, 3 &amp; 5  -  tracking unplanned work withing the sprint and measuring for patterns sprint over sprint in order to provide burning visibility into what was going on. What do you know, just after a couple sprints, we were able to determine patterns that allowed us to make adjustments to our capacity so this unplanned work did not hurt the overall commitment. In addition, we were able to build into our team practices working agreements for how we as a team would deal with unplanned work.</description>
		<content:encoded><![CDATA[<p>Great post Jean! For those new to Agile, this is always a hard lesson to learn and this post outlines great guidelines. Early on in our adoption of Agile this was a constant problem, and it was not very visible. We implemented #s2, 3 &amp; 5  &#8211;  tracking unplanned work withing the sprint and measuring for patterns sprint over sprint in order to provide burning visibility into what was going on. What do you know, just after a couple sprints, we were able to determine patterns that allowed us to make adjustments to our capacity so this unplanned work did not hurt the overall commitment. In addition, we were able to build into our team practices working agreements for how we as a team would deal with unplanned work.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
