<?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"
	>
<channel>
	<title>Comments on: Division of Labor in Lean Software Development Workflows</title>
	<atom:link href="http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/feed/" rel="self" type="application/rss+xml" />
	<link>http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/</link>
	<description>Essays on the Continuous Delivery of High Quality Information Systems</description>
	<pubDate>Fri, 05 Sep 2008 23:45:35 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Not all activities are best handled by generalists &#124; Lean Software Engineering</title>
		<link>http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/#comment-1945</link>
		<dc:creator>Not all activities are best handled by generalists &#124; Lean Software Engineering</dc:creator>
		<pubDate>Tue, 19 Feb 2008 22:51:55 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/#comment-1945</guid>
		<description>[...] When we can get the benefits of both generalization and specialization. We do this by hiring generalists, but having them rotate into specialized roles (like test, project management, architecture, etc.) for the duration of a project or two. This is an excellent strategy to gain the benefits of focus through specialization, while retaining a flexible, low-overhead organization. TSP is a well-known adopter of this strategy. This is also a variation of the recommendation here of division of labor in lean software development workflows. [...]</description>
		<content:encoded><![CDATA[<p>[...] When we can get the benefits of both generalization and specialization. We do this by hiring generalists, but having them rotate into specialized roles (like test, project management, architecture, etc.) for the duration of a project or two. This is an excellent strategy to gain the benefits of focus through specialization, while retaining a flexible, low-overhead organization. TSP is a well-known adopter of this strategy. This is also a variation of the recommendation here of division of labor in lean software development workflows. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad Appleton ACME Blog</title>
		<link>http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/#comment-1933</link>
		<dc:creator>Brad Appleton ACME Blog</dc:creator>
		<pubDate>Wed, 13 Feb 2008 10:21:45 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/#comment-1933</guid>
		<description>&lt;strong&gt;Katch the KanBan Kraze!...&lt;/strong&gt;

For those who haven&#39;t been keeping up with &#34;Agile 2.0&#34; or &#34;Post-Agile&#34;, one of...</description>
		<content:encoded><![CDATA[<p><strong>Katch the KanBan Kraze!&#8230;</strong></p>
<p>For those who haven&#39;t been keeping up with &quot;Agile 2.0&quot; or &quot;Post-Agile&quot;, one of&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Corey Ladas</title>
		<link>http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/#comment-1932</link>
		<dc:creator>Corey Ladas</dc:creator>
		<pubDate>Wed, 13 Feb 2008 08:41:23 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/#comment-1932</guid>
		<description>I certainly agree that it is a good idea to cross-train and develop generalist skills.  However, just because you have a broad set of skills, doesn't mean you should always use all of them.  Or, perhaps a good way to think of that is that training in a skill improves your ability to &lt;i&gt;consume&lt;/i&gt; the product of that skill as well as produce it.  That is especially important in a pull system.  Also, it's important to recognize that the division of labor I gave in the examples is &lt;i&gt;situational&lt;/i&gt;.  If there were other people on the team with different aptitudes, you might end up with different task assignments.  Teams don't last forever either, so if you're the designated tester on one team, you might end up as a coder on the next one.  

To that end, a brand new team might start in more of a generalist mode until you learn your comparative strengths and begin to develop cooperative strategies.  I'll have more to say about that in the near future.</description>
		<content:encoded><![CDATA[<p>I certainly agree that it is a good idea to cross-train and develop generalist skills.  However, just because you have a broad set of skills, doesn&#8217;t mean you should always use all of them.  Or, perhaps a good way to think of that is that training in a skill improves your ability to <i>consume</i> the product of that skill as well as produce it.  That is especially important in a pull system.  Also, it&#8217;s important to recognize that the division of labor I gave in the examples is <i>situational</i>.  If there were other people on the team with different aptitudes, you might end up with different task assignments.  Teams don&#8217;t last forever either, so if you&#8217;re the designated tester on one team, you might end up as a coder on the next one.  </p>
<p>To that end, a brand new team might start in more of a generalist mode until you learn your comparative strengths and begin to develop cooperative strategies.  I&#8217;ll have more to say about that in the near future.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Campbell</title>
		<link>http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/#comment-1930</link>
		<dc:creator>Steve Campbell</dc:creator>
		<pubDate>Wed, 13 Feb 2008 04:19:23 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/#comment-1930</guid>
		<description>Of course, there are other unspoken benefits to the team of generalists (morale, spreading of technical knowledge, avoiding development silos).   

Still, I'm mostly convinced.</description>
		<content:encoded><![CDATA[<p>Of course, there are other unspoken benefits to the team of generalists (morale, spreading of technical knowledge, avoiding development silos).   </p>
<p>Still, I&#8217;m mostly convinced.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Synesthesia &#187; Links roundup for 2008-02-11</title>
		<link>http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/#comment-1924</link>
		<dc:creator>Synesthesia &#187; Links roundup for 2008-02-11</dc:creator>
		<pubDate>Tue, 12 Feb 2008 00:36:38 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/#comment-1924</guid>
		<description>[...] Division of Labor in Lean Software Development WorkflowsCorey Ladas prods the assumption about all members of a team needing to be generalists&#8230; agile lean development [...]</description>
		<content:encoded><![CDATA[<p>[...] Division of Labor in Lean Software Development WorkflowsCorey Ladas prods the assumption about all members of a team needing to be generalists&#8230; agile lean development [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Corey Ladas</title>
		<link>http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/#comment-1923</link>
		<dc:creator>Corey Ladas</dc:creator>
		<pubDate>Mon, 11 Feb 2008 19:00:58 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/#comment-1923</guid>
		<description>It could be broad processes like design, development, test.  It could also be more detailed than that.  It depends on the size of the team, and the steps in the workflow.  The states in the workflow represent known intermediate states of work in process, that you expect to see done in a certain order, with certain quality criteria.

Different software teams will have different detailed workflows, because the kind of software you produce is different.  Game developers produce different artifacts than web application developers, or industrial control system developers.  If you have some specialized workers on your team like interaction designers or database developers, then it makes sense to allocate space for them in the workflow, because they a may be scarce resource that will need regulation.

So, you could have a workflow state like "user interaction design".  You might have a UI designer available to the team as a resource.  By focusing on the product, rather than the person, then somebody else can step in and produce a "user interaction design" if the UI designer isn't available.  Most of the time, you let the UI designer do it because she is better and faster.  Most of the time, she wants to do it because that's her role and she likes it.

Workflows will also differ according to what kind of process you use.  XP has one kind of workflow, TSP has a different workflow.  Maybe your workflow includes producing unit tests, maybe it doesn't because you write formal specifications instead.  Code review might appear in different places depending on process.  Maybe you do security reviews for user-accessible features.  There might be a few steps to deploying to a big server farm, or updating firmware on a consumer electronics production line.

also: http://leansoftwareengineering.com/2007/05/09/workflow-examples/</description>
		<content:encoded><![CDATA[<p>It could be broad processes like design, development, test.  It could also be more detailed than that.  It depends on the size of the team, and the steps in the workflow.  The states in the workflow represent known intermediate states of work in process, that you expect to see done in a certain order, with certain quality criteria.</p>
<p>Different software teams will have different detailed workflows, because the kind of software you produce is different.  Game developers produce different artifacts than web application developers, or industrial control system developers.  If you have some specialized workers on your team like interaction designers or database developers, then it makes sense to allocate space for them in the workflow, because they a may be scarce resource that will need regulation.</p>
<p>So, you could have a workflow state like &#8220;user interaction design&#8221;.  You might have a UI designer available to the team as a resource.  By focusing on the product, rather than the person, then somebody else can step in and produce a &#8220;user interaction design&#8221; if the UI designer isn&#8217;t available.  Most of the time, you let the UI designer do it because she is better and faster.  Most of the time, she wants to do it because that&#8217;s her role and she likes it.</p>
<p>Workflows will also differ according to what kind of process you use.  XP has one kind of workflow, TSP has a different workflow.  Maybe your workflow includes producing unit tests, maybe it doesn&#8217;t because you write formal specifications instead.  Code review might appear in different places depending on process.  Maybe you do security reviews for user-accessible features.  There might be a few steps to deploying to a big server farm, or updating firmware on a consumer electronics production line.</p>
<p>also: <a href="http://leansoftwareengineering.com/2007/05/09/workflow-examples/" rel="nofollow">http://leansoftwareengineering.....-examples/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jiri Ludvik</title>
		<link>http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/#comment-1922</link>
		<dc:creator>Jiri Ludvik</dc:creator>
		<pubDate>Mon, 11 Feb 2008 17:47:47 +0000</pubDate>
		<guid isPermaLink="false">http://leansoftwareengineering.com/2008/02/10/division-of-labor-in-lean-software-development-workflows/#comment-1922</guid>
		<description>"we don’t organize our workflow by role. We organize it by task or process, and let team members apply themselves to the workflow in the most efficient manner"

Corey, I think I get what you mean but a a practical example would be useful. What do you mean by tasks/process? Design, development, test? or something more specific? Thanks</description>
		<content:encoded><![CDATA[<p>&#8220;we don’t organize our workflow by role. We organize it by task or process, and let team members apply themselves to the workflow in the most efficient manner&#8221;</p>
<p>Corey, I think I get what you mean but a a practical example would be useful. What do you mean by tasks/process? Design, development, test? or something more specific? Thanks</p>
]]></content:encoded>
	</item>
</channel>
</rss>

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