<?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>Agile Design - by David Draper &#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>Achieving business agility through IT</description>
	<lastBuildDate>Thu, 19 Jan 2012 16:52:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Driving out uncertainty</title>
		<link>http://www.agiledesign.co.uk/2011/driving-out-uncertainty</link>
		<comments>http://www.agiledesign.co.uk/2011/driving-out-uncertainty#comments</comments>
		<pubDate>Wed, 23 Feb 2011 13:57:01 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[Agile Management]]></category>
		<category><![CDATA[Cone of uncertainty]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/?p=269</guid>
		<description><![CDATA[Agile practice irrespective of flavour (Scrum Kanban XP …)can often be reduced to: Work in small batches Deliver often Build the most valuable chunk first And it’s the “value” 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&#8230;]]></description>
			<content:encoded><![CDATA[<div>
<p>Agile practice irrespective of flavour (Scrum Kanban XP …)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’s the “value” 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?<br />
<span id="more-269"></span></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 “agile” 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’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’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’t new; I often use the “cone of uncertainty” 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"><img style="margin: 4px; border: 1px solid black;" src="http://blogs.sun.com/fifors/resource/cone-of-uncertainty.png" border="1" alt="Cone-Of-Uncertainty" hspace="4" vspace="4" /></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’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>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.agiledesign.co.uk/2011/driving-out-uncertainty/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What I learnt from Tom Gilb</title>
		<link>http://www.agiledesign.co.uk/2010/what-i-learnt-from-tom-gilb</link>
		<comments>http://www.agiledesign.co.uk/2010/what-i-learnt-from-tom-gilb#comments</comments>
		<pubDate>Mon, 04 Oct 2010 19:38:04 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[Agile Management]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/2011/what-i-learnt-from-tom-gilb</guid>
		<description><![CDATA[Last week I had the opportunity to spend a day with Tob Gilb, this was my first introduction to his methods for establishing project goals. I have spent plenty of time this year working with clients who required help in initiating new projects and each time I have emphasised the importance of establishing the drivers&#8230;]]></description>
			<content:encoded><![CDATA[<p>Last week I had the opportunity to spend a day with <a href="http://gilb.com" target="_blank" title="Tom Gilb">Tob Gilb</a>, this was my first introduction to his methods for establishing project goals.</p>
<p>I have spent plenty of time this year working with clients who required help in initiating new projects and each time I have emphasised the importance of establishing the drivers for the project in order to provide direction and purpose. Even knowing how important this process is it surprised me the degree to which Tom wishes to emphasise the value being derived from a project and more specifically the metric for it&#8217;s measurement.<br />
<span id="more-313"></span></p>
<p>Of course metrics are important but the rigour that Tom encourages makes his methods different and (to me at least) interesting. I&#8217;m not seeking a silver bullet, but I do recognise that Tom&#8217;s methods may indeed be right in some situations where we must show measurable progress towards a set of objectives.</p>
<p>The workflow Tom introduced for establishing Goals was deceptively simple at it&#8217;s core; check out his web site or book if you want the detailed / in depth version.</p>
<ul>
<li><strong>Objectives</strong></li>
</ul>
<p>The project sponsor(s) is asked to brainstorm up to ten strategic drivers for the project. These might include aspects such as usability or quality as well as outcomes such as reduce system operating costs. These must be phrased carefully to ensure that they really do represent the project goals. In practice the group I was working with found it difficult initially to pitch these at the right level. Very high level goals can prove difficult to work with while lower level goals may be strategies in disguise.</p>
<ul>
<li><strong>Ambition</strong></li>
</ul>
<p>An ambition level describes what the objective would look like once fulfilled. This should contain something compelling and forms the basis of the later steps. For example;</p>
<p style="text-indent:20pt;"><em>Objective</em>: Increase customer satisfaction<br />
<em>Ambition</em>: Customers are delighted with our service</p>
<ul>
<li><strong>Scale</strong></li>
</ul>
<p>The scale is the critical step that leads us to metrics. It is important that we establish a scale rather than a measure (a distinction that does not come naturally), thinking about the units can help here. We also need to suspend our disbelief over if this could ever really be measured. In our example the scale could simply be &#8211; annual customer renewal rate, or might include &#8211; average satisfaction level recorded in annual customer survey.</p>
<ul>
<li><strong>Meter</strong></li>
</ul>
<p>This is the specific approach to be taken in measuring achievement of the objective. So, in our case the meter might be &#8211; percentage of customers who, when up for renewal, do renew subscriptions per calendar year. However, that is not all, the Meter should also include the current state, a goal and potentially a stretch goal.</p>
<p>Our team have used Objectives, Ambition level and Scale to ensure that we share a common understanding of the objective, what Tom refers to as clarity. This has been a little time consuming but has demonstrated numerous issues with mistaken assumptions and different opinions. In all I do believe it has been time well spent.</p>
<ul>
<li><strong>Strategies</strong></li>
</ul>
<p>The next step is to think about fulfilling these objectives. There may be many possible ways to fulfil objectives, each candidate approach is called a strategy. Strategies can be compared in an Impact Assessment table where each is considered and compared through it&#8217;s estimated ability to impact the objectives.</p>
<p>Today myself and colleagues had our objectives on post-its on the wall vertically with strategies running horizontally as we began to identify where strategies contribute to fulfilling an objective. This agile take on impact assessment lead us to re-evaluate our objectives in light of strategies we felt were right but who&#8217;s underlying objective was not properly represented in our list. We also considered those strategies we had decided against, the ability to defend such a decision through the impact on objectives was considered beneficial.</p>
<p>The next step will be to review how strategies contribute to our goals when their effect is factored by cost. This should lead us to select the most cost effective strategies possible to achieve our intended outcome.</p>
<p><strong>Conclusion</strong></p>
<p>Often, in agile circles, we are accused of lacking rigour and make decisions that appear to be gut feel rather than numerically defensible. I will be looking out for opportunities to bring Tom&#8217;s approaches to bear on problems where that addition of rigour can facilitate defensible decision making and a shared view on what is important.</p>
<p><!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/Tom Gilb" rel="tag">Tom Gilb</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.agiledesign.co.uk/2010/what-i-learnt-from-tom-gilb/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prioritising stories within a sprint?</title>
		<link>http://www.agiledesign.co.uk/2010/prioritising-stories-within-a-sprint</link>
		<comments>http://www.agiledesign.co.uk/2010/prioritising-stories-within-a-sprint#comments</comments>
		<pubDate>Wed, 03 Feb 2010 08:30:05 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[Agile Management]]></category>
		<category><![CDATA[Prioritisation]]></category>
		<category><![CDATA[User Stories]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/scrum/prioritising-stories-within-a-sprint/</guid>
		<description><![CDATA[In a recent post Karl Scotland drew my attention to this post by Craig Dickson on Agile DZone. Karl and Craig differ on their approach (when working with Scrum) to prioritisation of stories by the product owner within a sprint. Craig has a valid concern that we might loose sight of our Sprint commitment if&#8230;]]></description>
			<content:encoded><![CDATA[<p>In a recent post <a title="Scrum anti pattern: NOT prioritising stories within sprints" href="http://availagility.co.uk/2010/01/20/scrum-anti-pattern-not-prioritising-stories-within-sprints/" target="_blank">Karl Scotland</a> drew my attention to <a title="Scrum anti pattern: Prioritising stories within sprints" href="http://agile.dzone.com/articles/scrum-anti-pattern" target="_blank">this</a> post by Craig Dickson on Agile DZone. Karl and Craig differ on their approach (when working with Scrum) to prioritisation of stories by the product owner within a sprint.</p>
<p>Craig has a valid concern that we might loose sight of our Sprint commitment if we have high and low priorities within the sprint, what if we don&#8217;t get to low priority stuff, well it was only low priority! He also raises concern over the degree to which the team is empowered if the Product Owner specifies a priority order for within the sprint.</p>
<p>By contrast Karl has his focus firmly on WiP (work in process), and through that lens the sprint is secondary to a focus on flow, prioritisation will encourage the team to focus on flow. I have some sympathy with this point of view.</p>
<p><span id="more-258"></span>As is so often the case I feel that I fall between these two camps.</p>
<ul>
<li>I believe in an empowered team who pull from the backlog</li>
<li>I believe in the team making a commitment to a sprint scope</li>
<li>I believe in the team self-organising around moving that scope through to releasable product</li>
</ul>
<p>But, there is always a but, these things don&#8217;t preclude prioritisation.</p>
<p>We pull from the backlog in order to take into account team capacity / capability. We pull in the correct amount of work with an appropriate profile e.g. not all database heavy wok if we have limited DBA capability. This means that the team may not always pull items from the very top of the backlog. The team commitment is an open honest expectation that this work can and will be achieved by the end of the sprint. We don&#8217;t sack or punish the team if a commitment is missed, in fact it could be argued that the commitment should be missed from time to time due to special causes. We don&#8217;t want to pad sprint plans with high amounts of contingency. Finally the team self-organise around achieving the goal.</p>
<p>When I introduce teams to Scrum I recommend working against a prioritised sprint backlog. Why? The prioritisation helps in a number of ways:</p>
<ul>
<li>The team is challenged to find ways to move stories to Done faster</li>
<li>The team is encouraged to collaborate and help each other out in favour of picking new tasks</li>
<li>We bind people to tasks late, prioritisation helps them select tasks according to team need rather than specialisation</li>
<li>Where a sprint commitment is missed we loose 1 story rather than a bit from each story.</li>
</ul>
<p>So in short, I agree with much of what Craig has said, it should not be the responsibility of the PO to prioritise the sprint backlog. However, I do see the need for the team and PO to collaborate in order to ensure that the needs of the business do not take second place to the needs of the process. I also share much of Karl&#8217;s motivation with respect to limiting WiP and achieving Flow.</p>
<p>For me prioritisation is a strategy that a team can use to self organise around a given sprint commitment. It encourages collaboration and mitigates risk, how can that be bad?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agiledesign.co.uk/2010/prioritising-stories-within-a-sprint/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Reviewing a project initiation</title>
		<link>http://www.agiledesign.co.uk/2010/reviewing-a-project-initiation</link>
		<comments>http://www.agiledesign.co.uk/2010/reviewing-a-project-initiation#comments</comments>
		<pubDate>Mon, 25 Jan 2010 08:08:40 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[Agile Management]]></category>
		<category><![CDATA[Minimum Marketable Features]]></category>
		<category><![CDATA[Project kick-off]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/agile/reviewing-a-project-initiation/</guid>
		<description><![CDATA[I was recently asked to help a client kick-off development of a new product. This was to be their first &#8220;agile&#8221; project so the kick-off had to set the scene for the collaborative development approach that was to follow. I used a variety of tools and techniques to bring the project to life. As is&#8230;]]></description>
			<content:encoded><![CDATA[<p>I was recently asked to help a client kick-off development of a new product. This was to be their first &#8220;agile&#8221; project so the kick-off had to set the scene for the collaborative development approach that was to follow.</p>
<p>I used a variety of tools and techniques to bring the project to life. As is usually the case, some worked better than others so I thought I&#8217;d review the approach and describe some of the issues and possible reasons.</p>
<p>The agenda for the day was:</p>
<ol>
<li>Review project vision and goals</li>
<li>Establish key priorities and concerns</li>
<li>Establish candidate releasable chunks</li>
<li>Decide what to do first</li>
</ol>
<p>Attendees included the development team, development management and business sponsors.</p>
<p><span id="more-242"></span></p>
<p><strong>Project Vision</strong></p>
<p>After some general discussion about the product we set about defining the Vision. The group were split into smaller groups each mixing development and business folk. Each team was asked to come up with an elevator pitch for the project of the form:</p>
<p>For <em>__Customer__</em> who __<em>has some need</em>__<br />
the __<em>product name</em>__ is a __<em>product type</em>__<br />
that __<em>will provide some benefit</em>__<br />
unlike __<em>competing products</em>__<br />
out product will __<em>key differentiator</em>__.</p>
<p>In reviewing each groups proposed vision statement we settled on a single elevator pitch that embodied the purpose of the project and began to focus the team on what might be important.</p>
<p><strong>Project goals</strong></p>
<p>To further cement the way in which the product could be judged a success we went on to identify candidate goals. These included some consideration of how we might measure success.</p>
<p>These two exercises were received with some enthusiasm as the sub teams collaborated over achieving an accurate representation of the product. The need to measure outcomes causes business sponsors to work with those who were more technically minded in order to achieve measures that were specific, measurable and representative of the desired outcome.</p>
<p>Goals in this example included areas such as customer and sales force satisfaction as well as specific operational cost reduction goals.</p>
<p><strong>Sliders</strong></p>
<p>This is a technique that I picked up from Rob Thomsett&#8217;s <a href="http://www.amazon.co.uk/gp/product/0130094862?ie=UTF8&amp;tag=agiledesign-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0130094862">Radical Project Management</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=0130094862" border="0" alt="" width="1" height="1" />. I have used it to great effect in the past where trade-off was a critical demand of the project.</p>
<p>The sliders technique works by selecting a set of traits that could be considered to be in tension. These are represented as sliders that can be fully on, fully off or anywhere in-between. The stakeholders and team can discuss the implications of various slider positions. For example when considering cost and budget to be fixed we may choose to allow for some flexibility in scope in order to ensure quality.</p>
<p>Thomsett uses these seven measures of success; satisfied stakeholders, meet requirements, meet agreed budget, deliver on time, meet quality requirements, satisfy the team. I have used the same technique with other measures such as maintainability, time to market etc.</p>
<p>This technique was less well received than the previous two. While the discussion that was provoked was valuable some members of the group were unhappy with the somewhat arbitrary nature of the measures. One sponsor suggested that he felt that he was having to trade off his goals before even the project has started.</p>
<p>I believe that this early trade-off is a valid concern and it came up more than a couple of times throughout the project. When we apply agile principles to product development we look for small meaningful increments. This can be uncomfortable where a sponsor has internalised a grand vision.</p>
<p><strong>Establishing releasable chunks</strong></p>
<p>This exercise starts with the suggestion that it is good for the project to reach a releasable state early. We begin by identifying a set of capabilities of the system. These are grouped  based on cohesion. I use the notion of <a href="http://www.agiledesign.co.uk/?p=275" target="_blank">Minimal Marketable Features</a> to focus on achieving small releasable increments. We begin to prioritise these and work to make the first chunk as small as is reasonable in order to achieve marketability.</p>
<p>This was the most valuable and effective part of the day. The notion of MMF was used extensively through the project with the business sponsor often stating that a feature was &#8220;important but not necessary for this MMF&#8221;. Further, the focus on marketability places some focus on needs that can often be deferred such as security testing, performance testing and help facilities.</p>
<p>The following day would include beginning to identify the User Stories that would be necessary in order to achieve MMF 1.</p>
<p><strong>Lessons learnt<br />
</strong><br />
In reflecting on this exercise there are things I would do the same and things I would consider doing differently. The initial Vision and Goals exercise was well worth while. While I know that the success sliders approach can be useful I may not have used that technique in this particular context.</p>
<p>A technique that I chose not to use, on reflection, would have been a good choice. As a part of the identification of releasable chunks we should have begun to identify those personas that we could address and how they related to different feature sets. I believe that this would have increased our focus on specific features and aspects of features.</p>
<p>We live and learn <img src='http://www.agiledesign.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Thanks for taking part in my mini retrospective on this workshop, I hope it can be of use to others. Please do feel free to ask questions of make comments below.</p>
<p><!-- technorati tags start --></p>
<p style="text-align: right; font-size: 10px;">
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.agiledesign.co.uk/2010/reviewing-a-project-initiation/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Theory of constraints for beginners</title>
		<link>http://www.agiledesign.co.uk/2010/theory-of-constraints-for-beginners</link>
		<comments>http://www.agiledesign.co.uk/2010/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[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&#8230;]]></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/2010/theory-of-constraints-for-beginners/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lean decision making</title>
		<link>http://www.agiledesign.co.uk/2009/lean-decision-making</link>
		<comments>http://www.agiledesign.co.uk/2009/lean-decision-making#comments</comments>
		<pubDate>Wed, 11 Nov 2009 21:56:26 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[Agile Management]]></category>
		<category><![CDATA[Lean thinking]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/kanban/lean-decision-making/</guid>
		<description><![CDATA[Take-away #2 from David Anderson&#8217;s Kanban Coaching workshop. This post will be short and sweet. It&#8217;s not a revelation but it is a simple pattern that can support us in making the right decisions as we evolve and improve development processes. Value trumps Flow Flow trumps Waste reduction Eliminate waste to improve efficiency This mantra&#8230;]]></description>
			<content:encoded><![CDATA[<p><em>Take-away #2 from David Anderson&#8217;s Kanban Coaching workshop.<br />
</em><br />
This post will be short and sweet. It&#8217;s not a revelation but it is a simple pattern that can support us in making the right decisions as we evolve and improve development processes.</p>
<p style="text-indent:20pt;">Value trumps Flow<br />
Flow trumps Waste reduction<br />
Eliminate waste to improve efficiency</p>
<p>This mantra might be deceptively simple. We need to consider each aspect in turn.</p>
<p><strong>Value</strong><br />
In a Lean sense value is in the eyes of the consumer. Activities can be classified as value adding and non-value adding. Classifying activities isn&#8217;t always as simple as it sounds; development = value adding, fixing defects = non-value adding but what about testing? If you&#8217;re not sure then answer this, would you do more of it if you could? Remember, not every non-value adding activity can be eradicated in the short term.</p>
<p><strong>Flow</strong><br />
In this context flow refers to the uninterrupted adding of value from concept through to realisation. When presented with a need we should seek to fulfil it in a continuous chain of activities with minimal time in queues and minimal delay.</p>
<p><strong>Waste</strong><br />
There have been a number of attempts to define waste in software development through comparison with manufacturing industries. In the Kanban class David chose to classify wastes as transaction &#38; co-ordination costs, failure load and depreciation of assets. I believe that this could form a useful framework assuming that we accept a certain amount of waste as necessary.<br />
For example daily stand-up meetings are certainly not value adding and fall under the category of coordination costs, however, they are a necessity in the contexts of many teams. Perhaps more on waste in another post.</p>
<p>So, to reiterate, value will trump flow where we choose to disrupt flow in order to meet an opportunity. An example of this would be a new requirement that must be expedited in order to minimise the cost of delay. An expedited request will cause delay in all of the other in-flight requests. </p>
<p>Next we choose to trump waste reduction with flow. This is most visible where we introduce buffers to ensure maximum utilisation of a bottleneck activity. Recall that the theory of constraints teaches us that the throughput of the bottleneck determines the throughput of the entire system. Where flow is somewhat ragged we will introduce a buffer to ensure that work is available. Buffers can be considered wasteful, however, the benefits of the increased throughput out-way the benefits of reducing inventory. Another example might be the introduction of non-value adding activities at non bottleneck stations that, while wasteful in them selves, might serve to improve flow through the bottleneck.</p>
<p>Finally we aggressively eliminate waste from the system in order to improve efficiency while remaining conscious of two temptations:</p>
<ul>
<li>to use economies of scale to hide transaction costs</li>
<li>drift into &#8216;analysis paralysis&#8217; for fear of failure load</li>
</ul>
<p><!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/Kanban" rel="tag">Kanban</a>, <a href="http://www.technorati.com/tag/Kanban Coaching" rel="tag">Kanban Coaching</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.agiledesign.co.uk/2009/lean-decision-making/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Kanban</title>
		<link>http://www.agiledesign.co.uk/2009/why-kanban-2</link>
		<comments>http://www.agiledesign.co.uk/2009/why-kanban-2#comments</comments>
		<pubDate>Thu, 05 Nov 2009 20:41:59 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[Agile Management]]></category>
		<category><![CDATA[Kanban]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/kanban/why-kanban-2/</guid>
		<description><![CDATA[Take-away #1 from David Anderson&#8217;s Kanban Coaching workshop. Kanban (as applied to software development) has created something of a buzz over the past few years growing out of a couple of case studies of David&#8217;s along with the experiences of the likes of Arlo Balshee now we have many more experiences from a variety of&#8230;]]></description>
			<content:encoded><![CDATA[<p><em>Take-away #1 from David Anderson&#8217;s Kanban Coaching workshop.<br />
</em><br />
Kanban (as applied to software development) has created something of a buzz over the past few years growing out of a couple of case studies of David&#8217;s along with the experiences of the likes of Arlo Balshee now we have many more experiences from a variety of contexts.</p>
<p>Given this it was interesting to reflect on why a Kanban approach might be right for a team or organisation looking to adopt an agile way of working.</p>
<p>David highlighted a number of reasons why Kanban might be the right approach including:</p>
<ul>
<li>Optimising an existing process is easier and more effective than trying to introduce a new one</li>
<li>Provide what execs want</li>
<li>Achieving high maturity</li>
</ul>
<p>The first of these points challenges the approach that many process improvement initiatives have taken in providing new job titles, new process, new document templates and more. By contrast where an organisation has an existing process, possibly with specialisations and tooling in place, a Kanban initiative would seek to model existing workflows and expose issues leaving job titles and working methods intact. This approach is likely to meet less opposition since it cut&#8217;s less to what individual contributors care about and identify with. In addition a Kanban system should generate metrics that inform further improvements, for example to working practices. With luck, by this point sufficient buy in will have been achieved to minimise objections.</p>
<p>The second point cuts to one of David&#8217;s mantra&#8217;s. Exec&#8217;s, he asserts, all want the following:</p>
<ol>
<li>Predictability</li>
<li>Business Agility</li>
<li>Good governance</li>
</ol>
<p>In addition David likes to emphasise</p>
<ul>
<li>Empowerment without loss of control</li>
<li>Self organisation without fear</li>
</ul>
<p>Two aspects of David&#8217;s approach to applying Kanban appear to contribute a great deal to keeping these promises. The first is an emphasis on metrics. Particularly where an electronic tool is employed a Kanban system can inform a wide variety of management decisions. This is often missing where agile teams rely on a more emotional output from retrospectives. The second aspect is the exposing of policies. Many classes of issues that constrain the performance of development teams can be described as policies. Once de-personalised these can be considered with respect to the risk that they serve to mitigate and the benefit they bring as contrasted to the over-head.</p>
<p>And finally we come to the maturity argument. A high maturity organisation will be able to; make statistically defensible decisions, implement causal analysis and resolution and effectively deploy process improvements.</p>
<p>While a Kanban system will provide a rich set of metrics and enables the application of a great deal of knowledge accrued in the management of pull systems, it&#8217;s great strength (from my perspective) is process improvement. A Kanban system will make any mismatch in capacity between specialists visibile. The board can be annotated with information regarding blocking issues. But, best of all, where a blockage occurs the Kanban system will release resources to deal with the constraint.</p>
<p>Given this focus it seems likely that a Kanban approach may appeal to a class of organisation who see little appeal in more developer centric approaches. Kanban offers a tool set for the management of knowledge work. However, while Scrum and XP expose trust and respect as key principles these remain a choice for the manager applying Kanban.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agiledesign.co.uk/2009/why-kanban-2/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Kanban Coaching Workshop</title>
		<link>http://www.agiledesign.co.uk/2009/kanban-coaching-workshop</link>
		<comments>http://www.agiledesign.co.uk/2009/kanban-coaching-workshop#comments</comments>
		<pubDate>Thu, 05 Nov 2009 20:17:10 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[Agile Management]]></category>
		<category><![CDATA[Kanban Coaching]]></category>

		<guid isPermaLink="false">http://www.agiledesign.co.uk/kanban/kanban-coaching-workshop/</guid>
		<description><![CDATA[OK, I&#8217;m a little slow on the uptake here since &#8220;real work&#8221; is proving to be something of a distraction. Last month I was fortunate enough to attend David Anderson&#8217;s Kanban Coaching Workshop. Here is how David described it: This 3 day workshop is for experienced Agile coaches, existing Kanban practitioners, and those who have&#8230;]]></description>
			<content:encoded><![CDATA[<p>OK, I&#8217;m a little slow on the uptake here since &#8220;real work&#8221; is proving to be something of a distraction.</p>
<p>Last month I was fortunate enough to attend David Anderson&#8217;s Kanban Coaching Workshop. Here is how David described it:</p>
<p style="text-indent:20pt;">This 3 day workshop is for experienced Agile coaches, existing Kanban practitioners, and those who have previously taken <a href="http://www.agilemanagement.net/" target="_blank" title="Agile Management">David J. Anderson&#8217;s</a> Kanban class. This workshop is intended to be an interactive collaborative session designed to facilitate knowledge sharing and learning. The class will be divided into approximately 10 sections with a slide presentation or tutorial from David to introduce each section. The goal is to enable participants to go back into the field and successfully coach Agile/Lean transitions using the Kanban approach. Each participant will received a personal recommendation from David J. Anderson as a result of participating in the class.</p>
<p>The three days were run in a very interactive style with 8 delegates including myself. Since all of the delegates were either Kanban practitioners or practicing agile coaches the discussion was both lively and in depth.</p>
<p>Subject matter covered a wide range including:</p>
<ul>
<li>Motivations for introducing Kanban</li>
<li>Getting started with Kanban</li>
<li>Comparing Agile and Lean decision making</li>
<li>David&#8217;s &#8220;recipe for success&#8221;</li>
<li>Reviewing David&#8217;s Microsoft XIT case study</li>
</ul>
<p>Rachel Davies has already blogged some of her isights from the workshop <a href="http://agilecoach.typepad.com/agile-coaching/2009/10/kanban-coaching-insights.html" target="_blank" title="Kanban Coaching Insights">here</a> and I plan to add a few of my own key take-aways over the next few posts, these will be grouped under the <a href="http://www.agiledesign.co.uk/tag/kanban-coaching/" target="_blank" title="Kanban Coaching">Kanban Coaching tag</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agiledesign.co.uk/2009/kanban-coaching-workshop/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Three questions about leaders</title>
		<link>http://www.agiledesign.co.uk/2009/three-questions-about-leaders</link>
		<comments>http://www.agiledesign.co.uk/2009/three-questions-about-leaders#comments</comments>
		<pubDate>Mon, 07 Sep 2009 13:17:35 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[Agile Management]]></category>

		<guid isPermaLink="false">http://agiledesign.amplify.com/2009/09/07/three-questions-about-leaders/</guid>
		<description><![CDATA[Clipped from an article entitled - Are Leaders Born or Made?Clipped from www.vanguardscotland.co.uk&#160;I had three questions.&#160;
1.&#160;What do good leaders achieve?
2.&#160;What do good leaders do?
3.&#160;How do they do it?Read more at www.vanguardscotland.co.uk&#160;]]></description>
			<content:encoded><![CDATA[<div class="Clog_Commentary_Wrap">
<div class="Clog_Post_Text">
<p>Clipped from an article entitled &#8211; Are Leaders Born or Made?</p>
</div>
</div>
<div class="Clog_Content_Outer"><!-- BEGIN_CLOG_CONTENT ID: 8BB5F3DA-D665-4135-835B-0E3C2A034AF5 CLOGS.CLIPMARKS.COM -->
<div class="Clog_Top_Wrap">
<div class="Clog_Source_First"><span>Clipped from <a rel="clipsource"  title="http://www.vanguardscotland.co.uk/blog/?p=38" href="http://www.vanguardscotland.co.uk/blog/?p=38">www.vanguardscotland.co.uk</a></span></div>
</div>
<div class="Clog_Middle_Wrap">
<blockquote class="Clog_Content_Item" cite="http://www.vanguardscotland.co.uk/blog/?p=38">
<table cellpadding="0" cellspacing="0">
<tr>
<td>&#160;I had three questions.&#160;<BR /><br />
1.&#160;What do good leaders achieve?<BR /><br />
2.&#160;What do good leaders do?<BR /><br />
3.&#160;How do they do it?<span class="Clog_Source_Button"><a rel="clipsource"  title="http://www.vanguardscotland.co.uk/blog/?p=38" href="http://www.vanguardscotland.co.uk/blog/?p=38">Read more at www.vanguardscotland.co.uk</a></span></td>
</tr>
</table>
</blockquote>
</div>
<div class="Clog_Bottom_Wrap">&nbsp;</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.agiledesign.co.uk/2009/three-questions-about-leaders/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

