<?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: Accounting for bugs and rework</title>
	<atom:link href="http://leansoftwareengineering.com/2007/11/25/accounting-for-bugs-and-rework/feed/" rel="self" type="application/rss+xml" />
	<link>http://leansoftwareengineering.com/2007/11/25/accounting-for-bugs-and-rework/</link>
	<description>Essays on the Continuous Delivery of High Quality Information Systems</description>
	<lastBuildDate>Mon, 22 Feb 2010 09:08:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Bugs and rework &#171; Lean and Kanban</title>
		<link>http://leansoftwareengineering.com/2007/11/25/accounting-for-bugs-and-rework/comment-page-1/#comment-5124</link>
		<dc:creator>Bugs and rework &#171; Lean and Kanban</dc:creator>
		<pubDate>Wed, 08 Apr 2009 18:55:03 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2007/11/24/accounting-for-bugs-and-rework/#comment-5124</guid>
		<description>[...] http://leansoftwareengineering.com/2007/11/25/accounting-for-bugs-and-rework/ [...]</description>
		<content:encoded><![CDATA[<p>[...] <a href="http://leansoftwareengineering.com/2007/11/25/accounting-for-bugs-and-rework/" rel="nofollow">http://leansoftwareengineering.....nd-rework/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Answers to common Kanban questions &#171; Lean and Kanban</title>
		<link>http://leansoftwareengineering.com/2007/11/25/accounting-for-bugs-and-rework/comment-page-1/#comment-5095</link>
		<dc:creator>Answers to common Kanban questions &#171; Lean and Kanban</dc:creator>
		<pubDate>Sat, 04 Apr 2009 10:34:07 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2007/11/24/accounting-for-bugs-and-rework/#comment-5095</guid>
		<description>[...] Moving an item back seems to blow the ability to track using CFDs. No right answer but options here We raise a bug (pink Post-it) and place this in the dev ready queue. Written on the Post-it is the [...]</description>
		<content:encoded><![CDATA[<p>[...] Moving an item back seems to blow the ability to track using CFDs. No right answer but options here We raise a bug (pink Post-it) and place this in the dev ready queue. Written on the Post-it is the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Anderson</title>
		<link>http://leansoftwareengineering.com/2007/11/25/accounting-for-bugs-and-rework/comment-page-1/#comment-1656</link>
		<dc:creator>David Anderson</dc:creator>
		<pubDate>Sat, 05 Jan 2008 05:30:17 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2007/11/24/accounting-for-bugs-and-rework/#comment-1656</guid>
		<description>Some interesting news from the Alchemy team... While they originally opted for an option 1 type approach, there is now an opinion that they need to switch to option 2. The advocacy for the change was led by the test manager and the project managers.

The &quot;stop the line&quot; nature of option 2 makes it less palatable but the &quot;take the pain early&quot; aspect of option 2 also means that the team focuses on delivery of working code - desirable from a project reporting perspective - and learns to reduce the number of inserted defects in order to reduce the flow interrupting expedite nature of bug fixing.

Hence, I think it might be a natural maturity progression that teams will start with option 1 and then change their process to option 2 when they are mature enough to emotionally handle its affect.

David</description>
		<content:encoded><![CDATA[<p>Some interesting news from the Alchemy team&#8230; While they originally opted for an option 1 type approach, there is now an opinion that they need to switch to option 2. The advocacy for the change was led by the test manager and the project managers.</p>
<p>The &#8220;stop the line&#8221; nature of option 2 makes it less palatable but the &#8220;take the pain early&#8221; aspect of option 2 also means that the team focuses on delivery of working code &#8211; desirable from a project reporting perspective &#8211; and learns to reduce the number of inserted defects in order to reduce the flow interrupting expedite nature of bug fixing.</p>
<p>Hence, I think it might be a natural maturity progression that teams will start with option 1 and then change their process to option 2 when they are mature enough to emotionally handle its affect.</p>
<p>David</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: software developer</title>
		<link>http://leansoftwareengineering.com/2007/11/25/accounting-for-bugs-and-rework/comment-page-1/#comment-1476</link>
		<dc:creator>software developer</dc:creator>
		<pubDate>Tue, 18 Dec 2007 16:00:11 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2007/11/24/accounting-for-bugs-and-rework/#comment-1476</guid>
		<description>I like the second way, the most intelligent and professional. I will think how to apply it into my practical work.</description>
		<content:encoded><![CDATA[<p>I like the second way, the most intelligent and professional. I will think how to apply it into my practical work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bernie Thompson</title>
		<link>http://leansoftwareengineering.com/2007/11/25/accounting-for-bugs-and-rework/comment-page-1/#comment-1371</link>
		<dc:creator>Bernie Thompson</dc:creator>
		<pubDate>Thu, 06 Dec 2007 05:16:20 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2007/11/24/accounting-for-bugs-and-rework/#comment-1371</guid>
		<description>This is a great post and topic.

David&#039;s post (linked above) advocates Option #2 as the one with ultimately better throughput, partially because David feels option #1 is more tolerant of rework.

Based on my experience, I&#039;d actually bet on the other -- that strategy #1 will be better at managing resources in the short term, with appropriate feedback (that is, of course, pain) to create better long-term behavior, and ultimately better throughput.

The problem I fear with #2 is as long as there are special rework stations, side-by-side with the new feature stations, I think a key feedback loop won&#039;t be closed.  The result will be that the new feature work can keep chugging along, piling up WIP in front of the test station, while test is piling up bugs in front of the rework station.

Option #1, by contrast, provides less opportunity for WIP to pile up anywhere.

Note most teams that I&#039;ve been on haven&#039;t managed rework WIP well, so either of these options might be a better starting point. I&#039;ve generally seen the typical -- that features sent to test keep spinning in test, while the dev team fixes the found bugs on an interrupt basis. So at Microsoft, WIP limits were introduced with the concept of &quot;bug caps,&quot; which worked like this: when the count of active bugs hit some limit (usually a certain # of bugs per team based on the size of the team), all new feature work would halt until the bug backlog was shrunk.

It did actually work quite well. And Option #1 is much like this, but with a more granular bug cap (every defect escape delays a new feature that otherwise would have started). I am a bit worried  that making bug fixes non-interrupting will be more painful than management and the organization can stand (and could create a long feedback loop if the bugs, in fact, relate to knowledge that is being created in test).  But it definitely is strong motivation to prevent defect escapes!

An example where knowledge is created in test: a domain like device drivers, where a big part of the functional requirements is patching over undocumented and subtle OS/hardware differences. In this case, some key knowledge is only discovered when the otherwise &quot;working code&quot; is deployed out to the big matrix of real-world devices and platforms.

All-in-all these options feel like great starting points to explore -- but I also suspect that both options might have some pretty severe side-effects that might dominate the benefits for some teams.

It&#039;ll be interesting more people comment on what they&#039;ve seen, and what works for them ...</description>
		<content:encoded><![CDATA[<p>This is a great post and topic.</p>
<p>David&#8217;s post (linked above) advocates Option #2 as the one with ultimately better throughput, partially because David feels option #1 is more tolerant of rework.</p>
<p>Based on my experience, I&#8217;d actually bet on the other &#8212; that strategy #1 will be better at managing resources in the short term, with appropriate feedback (that is, of course, pain) to create better long-term behavior, and ultimately better throughput.</p>
<p>The problem I fear with #2 is as long as there are special rework stations, side-by-side with the new feature stations, I think a key feedback loop won&#8217;t be closed.  The result will be that the new feature work can keep chugging along, piling up WIP in front of the test station, while test is piling up bugs in front of the rework station.</p>
<p>Option #1, by contrast, provides less opportunity for WIP to pile up anywhere.</p>
<p>Note most teams that I&#8217;ve been on haven&#8217;t managed rework WIP well, so either of these options might be a better starting point. I&#8217;ve generally seen the typical &#8212; that features sent to test keep spinning in test, while the dev team fixes the found bugs on an interrupt basis. So at Microsoft, WIP limits were introduced with the concept of &#8220;bug caps,&#8221; which worked like this: when the count of active bugs hit some limit (usually a certain # of bugs per team based on the size of the team), all new feature work would halt until the bug backlog was shrunk.</p>
<p>It did actually work quite well. And Option #1 is much like this, but with a more granular bug cap (every defect escape delays a new feature that otherwise would have started). I am a bit worried  that making bug fixes non-interrupting will be more painful than management and the organization can stand (and could create a long feedback loop if the bugs, in fact, relate to knowledge that is being created in test).  But it definitely is strong motivation to prevent defect escapes!</p>
<p>An example where knowledge is created in test: a domain like device drivers, where a big part of the functional requirements is patching over undocumented and subtle OS/hardware differences. In this case, some key knowledge is only discovered when the otherwise &#8220;working code&#8221; is deployed out to the big matrix of real-world devices and platforms.</p>
<p>All-in-all these options feel like great starting points to explore &#8212; but I also suspect that both options might have some pretty severe side-effects that might dominate the benefits for some teams.</p>
<p>It&#8217;ll be interesting more people comment on what they&#8217;ve seen, and what works for them &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Project Shrink Links 5-12-2007</title>
		<link>http://leansoftwareengineering.com/2007/11/25/accounting-for-bugs-and-rework/comment-page-1/#comment-1369</link>
		<dc:creator>Project Shrink Links 5-12-2007</dc:creator>
		<pubDate>Wed, 05 Dec 2007 19:24:03 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2007/11/24/accounting-for-bugs-and-rework/#comment-1369</guid>
		<description>[...] Accounting for bugs and rework [...]</description>
		<content:encoded><![CDATA[<p>[...] Accounting for bugs and rework [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Corey Ladas</title>
		<link>http://leansoftwareengineering.com/2007/11/25/accounting-for-bugs-and-rework/comment-page-1/#comment-1261</link>
		<dc:creator>Corey Ladas</dc:creator>
		<pubDate>Thu, 29 Nov 2007 07:08:06 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2007/11/24/accounting-for-bugs-and-rework/#comment-1261</guid>
		<description>I can think of a few ways to deal with a situation like that.  David&#039;s sustaining engineering process was designed for this sort of thing, where kanbans are allocated to each project in proportion to a percentage of total engineering capacity of the organization.  Each project gets its own board, and there&#039;s a &quot;central bank&quot; that controls both the total supply of kanbans in the system and their allocation to projects.  We&#039;re still doing that today.  

A related approach is to manage multiple projects on the same board, with hard partitions between them.  Everything is visible to everybody, but each team is only responsible for its own cell/partition.  A departmental manager might be responsible for distributing resources across the project, and those choices would be visible to all on the board.  There&#039;s a team here that does it this way, too.

Another approach would be a &quot;heijunka&quot; scheduling rule that mixes work items from each of the projects through a common workflow and with some shared resources.  This is a good way to make the most out of specialist or constrained resources, and allows you to respond gracefully to changes in business priority.  Say you have 3 project backlogs, each with their own queue limits.  Each project&#039;s stakeholder is responsible for the content and prioritization of his/her own queue.  The production manager dequeues from each backlog according to an algorithm and places them in a single engineering ready queue.  This is my favorite, but it&#039;s been harder to get people to understand this one.</description>
		<content:encoded><![CDATA[<p>I can think of a few ways to deal with a situation like that.  David&#8217;s sustaining engineering process was designed for this sort of thing, where kanbans are allocated to each project in proportion to a percentage of total engineering capacity of the organization.  Each project gets its own board, and there&#8217;s a &#8220;central bank&#8221; that controls both the total supply of kanbans in the system and their allocation to projects.  We&#8217;re still doing that today.  </p>
<p>A related approach is to manage multiple projects on the same board, with hard partitions between them.  Everything is visible to everybody, but each team is only responsible for its own cell/partition.  A departmental manager might be responsible for distributing resources across the project, and those choices would be visible to all on the board.  There&#8217;s a team here that does it this way, too.</p>
<p>Another approach would be a &#8220;heijunka&#8221; scheduling rule that mixes work items from each of the projects through a common workflow and with some shared resources.  This is a good way to make the most out of specialist or constrained resources, and allows you to respond gracefully to changes in business priority.  Say you have 3 project backlogs, each with their own queue limits.  Each project&#8217;s stakeholder is responsible for the content and prioritization of his/her own queue.  The production manager dequeues from each backlog according to an algorithm and places them in a single engineering ready queue.  This is my favorite, but it&#8217;s been harder to get people to understand this one.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carl Joseph</title>
		<link>http://leansoftwareengineering.com/2007/11/25/accounting-for-bugs-and-rework/comment-page-1/#comment-1259</link>
		<dc:creator>Carl Joseph</dc:creator>
		<pubDate>Thu, 29 Nov 2007 05:57:20 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2007/11/24/accounting-for-bugs-and-rework/#comment-1259</guid>
		<description>This post got me thinking about using a kanban system to manage various &quot;projects&quot; at the same time.

Our team would be working on a number of different projects/products at any given time and managing the throughput of them as a whole is sometimes difficult (due to lack of transparency). 

Have you used kanban in an environment similar to that before?</description>
		<content:encoded><![CDATA[<p>This post got me thinking about using a kanban system to manage various &#8220;projects&#8221; at the same time.</p>
<p>Our team would be working on a number of different projects/products at any given time and managing the throughput of them as a whole is sometimes difficult (due to lack of transparency). </p>
<p>Have you used kanban in an environment similar to that before?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ronpih's weblog</title>
		<link>http://leansoftwareengineering.com/2007/11/25/accounting-for-bugs-and-rework/comment-page-1/#comment-1249</link>
		<dc:creator>ronpih's weblog</dc:creator>
		<pubDate>Wed, 28 Nov 2007 19:38:04 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2007/11/24/accounting-for-bugs-and-rework/#comment-1249</guid>
		<description>&lt;strong&gt;Lean Software Engineering Blog...&lt;/strong&gt;

I need to add this to my blogroll... http://leansoftwareengineering.com/...</description>
		<content:encoded><![CDATA[<p><strong>Lean Software Engineering Blog&#8230;</strong></p>
<p>I need to add this to my blogroll&#8230; <a href="http://leansoftwareengineering.com/.." rel="nofollow">http://leansoftwareengineering.com/..</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Agile Management by David Anderson</title>
		<link>http://leansoftwareengineering.com/2007/11/25/accounting-for-bugs-and-rework/comment-page-1/#comment-1209</link>
		<dc:creator>Agile Management by David Anderson</dc:creator>
		<pubDate>Tue, 27 Nov 2007 21:59:49 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2007/11/24/accounting-for-bugs-and-rework/#comment-1209</guid>
		<description>&lt;strong&gt;Bugs and Kanban...&lt;/strong&gt;

Corey Ladas takes a look at two ways to treat bugs in a kanban system . The second option is the more...</description>
		<content:encoded><![CDATA[<p><strong>Bugs and Kanban&#8230;</strong></p>
<p>Corey Ladas takes a look at two ways to treat bugs in a kanban system . The second option is the more&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.912 seconds -->
