<?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: Feature Crews: kanban systems for software engineering in the large</title>
	<atom:link href="http://leansoftwareengineering.com/2009/04/07/feature-crews/feed/" rel="self" type="application/rss+xml" />
	<link>http://leansoftwareengineering.com/2009/04/07/feature-crews/</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: A Quick Survey of Development Methods &#171; Z303</title>
		<link>http://leansoftwareengineering.com/2009/04/07/feature-crews/comment-page-1/#comment-6083</link>
		<dc:creator>A Quick Survey of Development Methods &#171; Z303</dc:creator>
		<pubDate>Fri, 25 Sep 2009 20:46:24 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/?p=1212#comment-6083</guid>
		<description>[...] Tasks progress from Agreed to Ready to In progress to Done. Each developer works on a single task at a time, which once started will be finished unless it becomes blocked for some reason. The ready queue is prioritised and of limited size to focus development on the next most important tasks for the project. [...]</description>
		<content:encoded><![CDATA[<p>[...] Tasks progress from Agreed to Ready to In progress to Done. Each developer works on a single task at a time, which once started will be finished unless it becomes blocked for some reason. The ready queue is prioritised and of limited size to focus development on the next most important tasks for the project. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Corey Ladas</title>
		<link>http://leansoftwareengineering.com/2009/04/07/feature-crews/comment-page-1/#comment-6013</link>
		<dc:creator>Corey Ladas</dc:creator>
		<pubDate>Wed, 05 Aug 2009 17:13:38 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/?p=1212#comment-6013</guid>
		<description>Hi Mark,

Sounds like a very interesting paper, would love to read it.</description>
		<content:encoded><![CDATA[<p>Hi Mark,</p>
<p>Sounds like a very interesting paper, would love to read it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Kennaley</title>
		<link>http://leansoftwareengineering.com/2009/04/07/feature-crews/comment-page-1/#comment-6010</link>
		<dc:creator>Mark Kennaley</dc:creator>
		<pubDate>Mon, 03 Aug 2009 23:13:20 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/?p=1212#comment-6010</guid>
		<description>Hi Cory,

I ran across this post and it smells alot like what I advocated and deployed back in 2000 for a large Japanese systems integrator for the re-engineering of the Japanese Banking System.  Again - $160M+ efforts do exist and seem to be a challenge for prima-facia Agile approaches.  I have recently written a paper focused on the importance of going beyond the physical form of Kanban boards and leveraging common workflow technologies (that is currently creating the ALM buzz, whether it be based on the Jazz platform, or VSTS);  my thought (and a point in my paper I try to make) is that form follows function, and that abstracting Kanban yields a nested state machine - a common pattern for workflow`.  My concern has always been purists trying to spin their wares without understanding the core abstractions and principles behind these (somewhat) longstanding practices.  I have seen some Agile purists being closed-minded to the management science behind flow and pull.  My paper is titled Applying Lean Manufacturing and JIT to Software Product Maintenance.  I then discovered (after the fact) that David Anderson wrote about this very topic back around the same time, but again leveraging the same physical form.  I&#039;m thinking that for reasons you describe above related to branching complexities, the industry and perhaps the Agile community needs to move beyond the &quot;tool is a four letter word&quot; idea and explore what &quot;Digital Kanban&quot; really means.  Would love to share the thoughts I have packaged in my paper as they seem to be quite consistent with what you have been advocating for what looks like the past while.  And some feedback would be great.

Cheers.</description>
		<content:encoded><![CDATA[<p>Hi Cory,</p>
<p>I ran across this post and it smells alot like what I advocated and deployed back in 2000 for a large Japanese systems integrator for the re-engineering of the Japanese Banking System.  Again &#8211; $160M+ efforts do exist and seem to be a challenge for prima-facia Agile approaches.  I have recently written a paper focused on the importance of going beyond the physical form of Kanban boards and leveraging common workflow technologies (that is currently creating the ALM buzz, whether it be based on the Jazz platform, or VSTS);  my thought (and a point in my paper I try to make) is that form follows function, and that abstracting Kanban yields a nested state machine &#8211; a common pattern for workflow`.  My concern has always been purists trying to spin their wares without understanding the core abstractions and principles behind these (somewhat) longstanding practices.  I have seen some Agile purists being closed-minded to the management science behind flow and pull.  My paper is titled Applying Lean Manufacturing and JIT to Software Product Maintenance.  I then discovered (after the fact) that David Anderson wrote about this very topic back around the same time, but again leveraging the same physical form.  I&#8217;m thinking that for reasons you describe above related to branching complexities, the industry and perhaps the Agile community needs to move beyond the &#8220;tool is a four letter word&#8221; idea and explore what &#8220;Digital Kanban&#8221; really means.  Would love to share the thoughts I have packaged in my paper as they seem to be quite consistent with what you have been advocating for what looks like the past while.  And some feedback would be great.</p>
<p>Cheers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Corey Ladas</title>
		<link>http://leansoftwareengineering.com/2009/04/07/feature-crews/comment-page-1/#comment-5894</link>
		<dc:creator>Corey Ladas</dc:creator>
		<pubDate>Tue, 07 Jul 2009 19:20:39 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/?p=1212#comment-5894</guid>
		<description>Hi Sebastiano, 

Great questions as always.  Part of the value of MMFs is exactly that they can vary in size.  Then it follows that you can use story count as a measure of size.

Now, given the chance, I prefer using a method like QFD for requirements definition.  However not everybody is up to that level, so MMFs and stories are a reasonable backup method for existing Agile or other medium-capability teams.</description>
		<content:encoded><![CDATA[<p>Hi Sebastiano, </p>
<p>Great questions as always.  Part of the value of MMFs is exactly that they can vary in size.  Then it follows that you can use story count as a measure of size.</p>
<p>Now, given the chance, I prefer using a method like QFD for requirements definition.  However not everybody is up to that level, so MMFs and stories are a reasonable backup method for existing Agile or other medium-capability teams.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sebastiano</title>
		<link>http://leansoftwareengineering.com/2009/04/07/feature-crews/comment-page-1/#comment-5892</link>
		<dc:creator>Sebastiano</dc:creator>
		<pubDate>Tue, 07 Jul 2009 15:14:42 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/?p=1212#comment-5892</guid>
		<description>Hi there :),

it&#039;s a long time I want to ask you something about MMF.
It looks like there isn&#039;t a standard definition of MMF, expect the one that one can find in the software by numbers book that I haven&#039;t read yet.
You write: MMFs are business-valued. User stories are merely user-valued.
And it looks like that in your case you use feature crew MMF that you split into user stories (maybe developed by one member only?) and you don&#039;t use tasks. This is a vision that I actually share with you.
Some people though say that MMF are actually user stories, like here: http://aaron.sanders.name/agile/naked-planning-explained-kanban-in-the-small .
Now let&#039;s say that one uses the method he likes most, that in your case, if I got correctly, you use MMF split into user stories. In this case you told me that is better to try to create equal-size stories, if this is possible, is it possible to estimate the MMF size in terms of number of user stories or you think even the MMF must be equal sized?
About the branching, I agree with Brad, I think it&#039;s better to branch by user stories, at least this is what I have done succesfully so far, even if I can understand your point of view.
Thanks for your replies :)</description>
		<content:encoded><![CDATA[<p>Hi there <img src='http://leansoftwareengineering.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ,</p>
<p>it&#8217;s a long time I want to ask you something about MMF.<br />
It looks like there isn&#8217;t a standard definition of MMF, expect the one that one can find in the software by numbers book that I haven&#8217;t read yet.<br />
You write: MMFs are business-valued. User stories are merely user-valued.<br />
And it looks like that in your case you use feature crew MMF that you split into user stories (maybe developed by one member only?) and you don&#8217;t use tasks. This is a vision that I actually share with you.<br />
Some people though say that MMF are actually user stories, like here: <a href="http://aaron.sanders.name/agile/naked-planning-explained-kanban-in-the-small" rel="nofollow">http://aaron.sanders.name/agil.....-the-small</a> .<br />
Now let&#8217;s say that one uses the method he likes most, that in your case, if I got correctly, you use MMF split into user stories. In this case you told me that is better to try to create equal-size stories, if this is possible, is it possible to estimate the MMF size in terms of number of user stories or you think even the MMF must be equal sized?<br />
About the branching, I agree with Brad, I think it&#8217;s better to branch by user stories, at least this is what I have done succesfully so far, even if I can understand your point of view.<br />
Thanks for your replies <img src='http://leansoftwareengineering.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad Appleton</title>
		<link>http://leansoftwareengineering.com/2009/04/07/feature-crews/comment-page-1/#comment-5398</link>
		<dc:creator>Brad Appleton</dc:creator>
		<pubDate>Sat, 30 May 2009 02:36:44 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/?p=1212#comment-5398</guid>
		<description>Hi Corey! Speaking as someone with a  LOT of expertise in branching and having seen branching by feature as well as branching by everything else ...

I can say that &quot;branch by feature&quot; only works well if you get REALLY good at making MMFs as small and minimal as humanly feasible. The longer your features branches go without being integrated with &quot;the other stuff&quot; the more integration complexity you are risking.

If MMFs can&#039;t be kept down to a certain threshold size/duration, then it actually starts to make sense to integrate them anyway to avoid the impending &quot;big bang!&quot; at the end.

How do you do that? Well, you can create a &quot;pre-integration&quot; branch that integrates the features and makes sure they all build+test okay, but no one is allowed to base their changes off that branch (and if they fix any problems, they have to find a way to fix it on the feature-specific branch so that it still works there AND on the pre-integration branch.) This may not always be feasible.

Another way that is no small task but also can have big payoff is solving your problem by a means other than branching, specifically in the architecture and design of the interaction/impacts between features.

This often takes the from of build-time, install/deploy-time, or run-time configuration that can enable/disable features while still allowing you to integrate the code. This can be very hard to do, even though it can pay big dividends in the long run.

The simplest solution is to keep the MMFs &quot;sufficiently small&quot; (e.g, anything that goes more than #N weeks before being integrated to mainline is quite likely a significant risk. A typical range for N here would be 2-6, with 4-5 being very common.)

Just make sure folks understand that branch-by-feature-and-don&#039;t-integrate-until-its-complete isn&#039;t necessarily all that desirable unless the features are *minimal* sized.</description>
		<content:encoded><![CDATA[<p>Hi Corey! Speaking as someone with a  LOT of expertise in branching and having seen branching by feature as well as branching by everything else &#8230;</p>
<p>I can say that &#8220;branch by feature&#8221; only works well if you get REALLY good at making MMFs as small and minimal as humanly feasible. The longer your features branches go without being integrated with &#8220;the other stuff&#8221; the more integration complexity you are risking.</p>
<p>If MMFs can&#8217;t be kept down to a certain threshold size/duration, then it actually starts to make sense to integrate them anyway to avoid the impending &#8220;big bang!&#8221; at the end.</p>
<p>How do you do that? Well, you can create a &#8220;pre-integration&#8221; branch that integrates the features and makes sure they all build+test okay, but no one is allowed to base their changes off that branch (and if they fix any problems, they have to find a way to fix it on the feature-specific branch so that it still works there AND on the pre-integration branch.) This may not always be feasible.</p>
<p>Another way that is no small task but also can have big payoff is solving your problem by a means other than branching, specifically in the architecture and design of the interaction/impacts between features.</p>
<p>This often takes the from of build-time, install/deploy-time, or run-time configuration that can enable/disable features while still allowing you to integrate the code. This can be very hard to do, even though it can pay big dividends in the long run.</p>
<p>The simplest solution is to keep the MMFs &#8220;sufficiently small&#8221; (e.g, anything that goes more than #N weeks before being integrated to mainline is quite likely a significant risk. A typical range for N here would be 2-6, with 4-5 being very common.)</p>
<p>Just make sure folks understand that branch-by-feature-and-don&#8217;t-integrate-until-its-complete isn&#8217;t necessarily all that desirable unless the features are *minimal* sized.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Todd Morrison</title>
		<link>http://leansoftwareengineering.com/2009/04/07/feature-crews/comment-page-1/#comment-5180</link>
		<dc:creator>Todd Morrison</dc:creator>
		<pubDate>Tue, 28 Apr 2009 00:00:33 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/?p=1212#comment-5180</guid>
		<description>I love the white-board photo! Its great to see these concepts in practice.
Here are my thoughts on the Feature Crew: http://www.deepelement.com/blog/post/2009/04/08/Feature-Crew-Model-for-Small-Agile-Teams.aspx

If you have any ideas, or can bust any holes in the process, I invite your input!</description>
		<content:encoded><![CDATA[<p>I love the white-board photo! Its great to see these concepts in practice.<br />
Here are my thoughts on the Feature Crew: <a href="http://www.deepelement.com/blog/post/2009/04/08/Feature-Crew-Model-for-Small-Agile-Teams.aspx" rel="nofollow">http://www.deepelement.com/blo.....Teams.aspx</a></p>
<p>If you have any ideas, or can bust any holes in the process, I invite your input!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Definition of a Bottleneck</title>
		<link>http://leansoftwareengineering.com/2009/04/07/feature-crews/comment-page-1/#comment-5145</link>
		<dc:creator>Definition of a Bottleneck</dc:creator>
		<pubDate>Mon, 13 Apr 2009 14:15:37 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/?p=1212#comment-5145</guid>
		<description>[...] Feature Crews: kanban systems for software engineering in the &#8230; [...]</description>
		<content:encoded><![CDATA[<p>[...] Feature Crews: kanban systems for software engineering in the &#8230; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Troy Tuttle</title>
		<link>http://leansoftwareengineering.com/2009/04/07/feature-crews/comment-page-1/#comment-5134</link>
		<dc:creator>Troy Tuttle</dc:creator>
		<pubDate>Thu, 09 Apr 2009 15:03:54 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/?p=1212#comment-5134</guid>
		<description>Very informative.  Thanks!

I experience something close to this in a hybrid Agile approach.  No one knew about feature crews, but the result was sub teams organized around feature completion and integration of results in an iterative process.  

Nice to see a relationship to Kanban too.</description>
		<content:encoded><![CDATA[<p>Very informative.  Thanks!</p>
<p>I experience something close to this in a hybrid Agile approach.  No one knew about feature crews, but the result was sub teams organized around feature completion and integration of results in an iterative process.  </p>
<p>Nice to see a relationship to Kanban too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: A sensible approach to source code branching &#171; Scale or die</title>
		<link>http://leansoftwareengineering.com/2009/04/07/feature-crews/comment-page-1/#comment-5125</link>
		<dc:creator>A sensible approach to source code branching &#171; Scale or die</dc:creator>
		<pubDate>Wed, 08 Apr 2009 19:09:39 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/?p=1212#comment-5125</guid>
		<description>[...] an excerpt from Lean Software Engineering. FC in this context means &#8220;feature [...]</description>
		<content:encoded><![CDATA[<p>[...] an excerpt from Lean Software Engineering. FC in this context means &#8220;feature [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

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