<?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>David Draper on agile &#38; design &#187; Agile Management</title>
	<atom:link href="http://www.agiledesign.co.uk/category/agile-management/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.agiledesign.co.uk</link>
	<description>Building business agility though software</description>
	<lastBuildDate>Wed, 21 Jul 2010 09:28:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Driving out uncertainty</title>
		<link>http://www.agiledesign.co.uk/agile-management/driving-out-uncertainty/</link>
		<comments>http://www.agiledesign.co.uk/agile-management/driving-out-uncertainty/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 09:28:31 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Agile Management]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/agile-management/driving-out-uncertainty/</guid>
		<description><![CDATA[Agile practice irrespective of flavour (Scrum Kanban XP &#8230;)can often be reduced to:

Work in small batches
Deliver often
Build the most valuable chunk first

And it&#8217;s the &#8220;value&#8221; bit that can get us in trouble.
How do we determine which is the most valuable bit? Particularly early on in a project we need to be careful about how we [...]]]></description>
			<content:encoded><![CDATA[<p>Agile practice irrespective of flavour (Scrum Kanban XP &#8230;)can often be reduced to:</p>
<ul>
<li>Work in small batches</li>
<li>Deliver often</li>
<li>Build the most valuable chunk first</li>
</ul>
<p>And it&#8217;s the &#8220;value&#8221; bit that can get us in trouble.</p>
<p>How do we determine which is the most valuable bit? Particularly early on in a project we need to be careful about how we prioritise. Do we just get a bunch of business folk to fight for their favourite features or do we have some hard won lessons to apply from many years of technology project management?</p>
<p>One of the first projects I was responsible for was fixed scope and fixed price. The customer was documenting requirements to be handed into the &#8220;agile&#8221; development team who built and tested software prior to a traditional system test cycle. Not very agile!</p>
<p>However, we benefitted greatly from the rhythm or scrum, the rigour of agile engineering practice and the predictability the the planning and tracking approach provided.</p>
<p>Most significantly, by taking the Product Owner role I was able to prioritise according to my own definition of value. Put yourself in my seat, you work for a software consultancy, it&#8217;s your first project and it is fixed everything, what makes one feature more valuable than another? The answer is risk. When everything is fixed value is in the reduction of risk. In fact I combined prioritisation according to risk with other engineering considerations such as profile of the work to bring the project to a successful conclusion.</p>
<p>So what about other interpretations of value? I&#8217;ve been helping a client with a project initiation over the past couple of weeks and found myself using the word uncertainty a great deal. It seems that driving out uncertainty held a great deal of value in that context. In fact, when kicking of a project we look for information generation first, then seek to identify key risk areas and mitigation strategies such as finding new stakeholders or driving out technical risk with proof of concept work.</p>
<p>Uncertainty isn&#8217;t new; I often use the &#8220;cone of uncertainty&#8221; model to express the value of reducing uncertainty. As <a href="http://en.wikipedia.org/wiki/Cone_of_Uncertainty">wikipedia</a> will tell you, this model is primarily concerned with project estimation. At the beginning of a project, skilled estimators may have a factor of 4 error in either direction. Over time error should rapidly reduce as information arrives and the project progresses. This dynamic is known as the Cone of Uncertainty and is the inner line on the graph.</p>
<p><a href="http://blogs.sun.com/fifors/resource/cone-of-uncertainty.png" onclick="window.open('http://blogs.sun.com/fifors/resource/cone-of-uncertainty.png','popup','width=531,height=290,scrollbars=no,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=yes,left=0,top=0');return false"><img src="http://www.agiledesign.co.uk/wp-content/uploads/2010/07/cone-of-uncertainty-tm.jpg" height="290" width="531" border="1" hspace="4" vspace="4" alt="Cone-Of-Uncertainty" /></a></p>
<p>The outer line is the cloud of uncertainty. This is what could happen if uncertainty is not driven out of the project. Right to near the end of the project there is significant error in estimating the size due to missing information.</p>
<p>When we execute agile projects lets not forget the value of driving out uncertainty. This isn&#8217;t an excuse to analyse everything to death. Our goal is to recognise where the uncertainty that matters is hiding. Those innocuous features that come along and prove the architecture is flawed are a prime example. We must do enough to understand the risk we are carrying while being sensitive to the cost of gathering detailed information pertaining to speculative requirements.</p>
<p><!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/cone of uncertainty" rel="tag">cone of uncertainty</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.agiledesign.co.uk/agile-management/driving-out-uncertainty/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Theory of constraints for beginners</title>
		<link>http://www.agiledesign.co.uk/agile-management/theory-of-constraints-for-beginners/</link>
		<comments>http://www.agiledesign.co.uk/agile-management/theory-of-constraints-for-beginners/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 09:40:05 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Agile Management]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Kanban Coaching]]></category>
		<category><![CDATA[Theory of Constraints]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/kanban/theory-of-constraints-for-beginners/</guid>
		<description><![CDATA[Take-away #3 from David Anderson&#8217;s Kanban Coaching workshop.
A discussion of Kanban can only go on for so long before the subject of the Theory of Constraints comes up. In this post I&#8217;ll try to explain just enough to show this connection.
Theory of Constraints (TOC) is a large subject that I was first introduced to some [...]]]></description>
			<content:encoded><![CDATA[<p>Take-away #3 from David Anderson&#8217;s Kanban Coaching workshop.</p>
<p>A discussion of Kanban can only go on for so long before the subject of the Theory of Constraints comes up. In this post I&#8217;ll try to explain just enough to show this connection.</p>
<p>Theory of Constraints (TOC) is a large subject that I was first introduced to some time ago by <a href="http://blog.nayima.be" target="_blank">Pascal Van Cauwenberghe</a> and his explanation of the 5 focusing steps for process improvement. Since then I&#8217;ve seen TOC pop up at a few Agile conferences. The most notable aspects that tend to be discussed are the 5 focusing steps mentioned earlier and the TOC thinking tools. The Thinking tools offer techniques for root cause analysis, problems solving, conflict resolution and planning. While there have been a number of books explaining these techniques the source material is a set of novels written by Eliyahu Goldratt the first being <a href="http://www.amazon.co.uk/gp/product/0566086654?ie=UTF8&amp;tag=agiledesign-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0566086654">The Goal: A Process of Ongoing Improvement</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.co.uk/e/ir?t=agiledesign-21&amp;l=as2&amp;o=2&amp;a=0566086654" border="0" alt="" width="1" height="1" />.</p>
<p>David&#8217;s first book (<a href="http://www.amazon.co.uk/gp/product/0131424602?ie=UTF8&amp;tag=agiledesign-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0131424602">Agile Management for Software Engineering</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.co.uk/e/ir?t=agiledesign-21&amp;l=as2&amp;o=2&amp;a=0131424602" border="0" alt="" width="1" height="1" />) was focused on applying TOC in a software engineering context so I guess it&#8217;s not surprising that he wold choose to spend a little time explaining the connection between Kanban and TOC.</p>
<p>At this stage I should say that where David has applied TOC he has subsequently realised that a Kanban approach would have led to an equivalent result and is a conceptually more simple approach.</p>
<p>The areas of TOC that David chose to focus on were the classification of bottlenecks and the application of Goldratt&#8217;s 5 focusing steps.<span id="more-236"></span></p>
<ol>
<li>Identify the bottleneck</li>
<li>Decide how to exploit the bottleneck</li>
<li>Subordinate the system to the bottleneck</li>
<li>Elevate the bottleneck</li>
<li>Repeat</li>
</ol>
<p>These steps carry with them a set of pre-suppositions.</p>
<ul>
<li>We understand the goal of the system</li>
<li>A system has a single bottleneck that constrains it&#8217;s throughput</li>
<li>It is better to undertake changes that have no cost first i.e. improve utilisation of existing resources before adding resources</li>
</ul>
<p>While for most types of system I am willing to hold with these pre-suppositions we should accept that while bottlenecks can move in a manufacturing context they are likely to move more quickly within a software context due to the greater degree of variability.</p>
<p>So, an example of applying these steps in a software development context might be;</p>
<blockquote><p>Our goal is to construct, test and deploy software.<br /> Our constraint is in system test, this is apparent due to a build up of software that has not been tested.<br /> We identify exploit opportunities by considering where we loose test capacity e.g. recording timesheets. Since test is the bottleneck, time spent doing administration is directly reducing the output of the system.<br /> We subordinate the system to the bottleneck by changing responsibilities e.g. PM to take on some administrative tasks from testers.</p>
<p>At this stage we return to assessing where the bottleneck is. If we run out of exploit / subordinate opportunities we may choose to elevate the constraint. This is where we consider adding resources, automation or training.</p>
</blockquote>
<p>To close we should consider how a bottleneck might manifest it&#8217;s self in a system. Though others have suggested classifications for bottlenecks David&#8217;s approach is to consider 2 types.<br /> Capacity constrained resource<br /> Non-instantly available resource</p>
<p>For example compare a bridge with a ferry. A bridge has a fixed capacity, congestion occurs where too many cars attempt to cross. A car ferry will cause queues even where capacity is sufficient due to it&#8217;s non-instant availability.</p>
<p><!-- technorati tags start --></p>
<p style="text-align:right;font-size:10px;">Technorati Tags: <a rel="tag" href="http://www.technorati.com/tag/Kanban Coaching">Kanban Coaching</a>, <a rel="tag" href="http://www.technorati.com/tag/Theory of Constraints">Theory of Constraints</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.agiledesign.co.uk/agile-management/theory-of-constraints-for-beginners/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
