<?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>AvailAgility &#187; Lean</title>
	<atom:link href="http://availagility.co.uk/category/lean/feed/" rel="self" type="application/rss+xml" />
	<link>http://availagility.co.uk</link>
	<description>Karl Scotland - Using Agile to Deliver Value</description>
	<lastBuildDate>Tue, 27 Jul 2010 09:11:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>A Pattern for Using Scrum and Kanban</title>
		<link>http://availagility.co.uk/2010/07/27/a-pattern-for-using-scrum-and-kanban/</link>
		<comments>http://availagility.co.uk/2010/07/27/a-pattern-for-using-scrum-and-kanban/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 09:05:57 +0000</pubDate>
		<dc:creator>Karl</dc:creator>
				<category><![CDATA[Lean]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Pattern]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://availagility.co.uk/?p=657</guid>
		<description><![CDATA[I’ve noticed a pattern that I’ve found myself using recently when I’ve worked with new teams that makes use of both Scrum and Kanban ideas. I’ve already said that I believe the two are complimentary, and this should help show how. I’ll often begin with a &#8220;Canonical Scrum&#8221; implementation. This gives a relatively simple introduction <a href="http://availagility.co.uk/2010/07/27/a-pattern-for-using-scrum-and-kanban/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I’ve noticed a pattern that I’ve found myself using recently when I’ve worked with new teams that makes use of both Scrum and Kanban ideas. I’ve already said that I believe the two are <a href="http://availagility.co.uk/2010/06/17/kanban-and-scrum-intention-and-implementation/" target="_self">complimentary</a>, and this should help show how.</p>
<ol>
<li>I’ll often begin with a &#8220;Canonical Scrum&#8221; implementation. This gives a relatively simple introduction due to the ubiquitous language, standard training and often client demand. I also find that its a very good way of quickly exposing the real underlying workflow. Stressing a team by introducing a new way of working soon makes the current way of working apparent.</li>
<li>After a few Sprints,once the team understands both what the desired outcome is and the current context is, I’ll ease back into what many people might call &#8220;ScrumBut&#8221;. Rather than continuing to highlight and struggle against impediments and constraints which are out of the teams control, I will apply <a href="http://availagility.co.uk/2010/06/20/aspects-of-kanban-in-methods-and-tools/" target="_self">kanban aspects</a> to help the team acknowledge, but deal with their context without feeling dogmatic.</li>
<li>Finally I’ll help both the team and the organisation improve, by seeing where the issues are, whilst continuing to be able to deliver. Sometimes the current workflow is appropriate for the team and it is smaller batches and queues that are needed. Sometimes the current workflow is a symptom of silos and poor collaboration.</li>
</ol>
<p>So I find Scrum to be a good way of showing teams what could be possible, and finding out where I can help make improvements. Then I find Kanban a good way of enabling a smoother transition for those improvements in a way which is appropriate for the teams’ contexts.</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2010/07/27/a-pattern-for-using-scrum-and-kanban/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The Flow Experiment</title>
		<link>http://availagility.co.uk/2010/07/16/the-flow-experiment/</link>
		<comments>http://availagility.co.uk/2010/07/16/the-flow-experiment/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 11:28:11 +0000</pubDate>
		<dc:creator>Karl</dc:creator>
				<category><![CDATA[Lean]]></category>
		<category><![CDATA[Experiment]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[Phase]]></category>
		<category><![CDATA[SPA2010]]></category>
		<category><![CDATA[Time-box]]></category>

		<guid isPermaLink="false">http://availagility.co.uk/?p=646</guid>
		<description><![CDATA[I put together a small simulation for the SPA Conference this year which seemed to go well, and which I re-ran at the London Limited WIP Society, and hope to run again. You can download the materials, and this is a short write-up of how it works so people can run it and experiment with <a href="http://availagility.co.uk/2010/07/16/the-flow-experiment/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I put together a small simulation for the <a href="http://www.spaconference.org/spa2010/index.php" target="_blank">SPA Conference</a> this year which seemed to go well, and which I re-ran at the <a href="http://skillsmatter.com/event/agile-scrum/the-flow-experiment/" target="_blank">London Limited WIP Society</a>, and hope to run again. You can <a href="http://availagility.co.uk/wp-content/uploads/2010/05/KanbanExperiment.zip">download</a> the materials, and this is a short write-up of how it works so people can run it and experiment with it themselves.</p>
<h1>Overview</h1>
<p>The basic aim of the simulation is to solve maths problems. This idea was inspired by <a href="http://consultingblogs.emc.com/simonbennett/" target="_blank">Simon Bennett</a> and <a href="http://consultingblogs.emc.com/marksummers/" target="_blank">Mark Summers</a> session <a href="http://consultingblogs.emc.com/marksummers/archive/2010/03/16/the-incentive-trap.aspx" target="_blank">The Incentive Trap</a> which also uses maths as the problem domain. The solving of equations introduces variability into the exercise using some simple knowledge work which is hopefully more interesting and engaging than rolling dice.</p>
<p>The maths problems flow through the following value stream:</p>
<ul>
<li>
<div>Options</div>
</li>
<li>
<div>Analysis</div>
</li>
<li>
<div>Solve</div>
</li>
<li>
<div>Check</div>
</li>
<li>
<div>Accepts</div>
</li>
<li>
<div>Done</div>
</li>
</ul>
<p>The following roles are involved in the value stream:</p>
<ul>
<li>
<div>Analyst</div>
</li>
<li>
<div>Solver</div>
</li>
<li>
<div>Checker</div>
</li>
<li>
<div>Accepter</div>
</li>
<li>
<div>Manager</div>
</li>
</ul>
<p>The following scenarios are used to experiment with the flow:</p>
<ul>
<li>
<div>Phase Driven</div>
</li>
<li>
<div>Time Boxed</div>
</li>
<li>
<div>Flow Based</div>
</li>
</ul>
<h1>Stages</h1>
<h4>Options</h4>
<p>Each scenario starts with a portfolio of possible problems to solve, in the following format:</p>
<table border="1" cellspacing="0" cellpadding="2" width="401">
<tbody>
<tr>
<td width="133" valign="top"><strong>ID</strong></td>
<td width="133" valign="top"><strong>Operands</strong></td>
<td width="133" valign="top"><strong>Solution</strong></td>
</tr>
<tr>
<td width="133" valign="top">1</td>
<td width="148" valign="top">3</td>
<td width="164" valign="top">25</td>
</tr>
</tbody>
</table>
<p>In this example  we have an option to create an equation with 3 operands and a solution of 25.</p>
<h4>Analysis</h4>
<p>When an option is selected, it is transformed into an equation during analysis. Rather than expecting participants to come up with their own equations, which could result in trivial equations, a lookup is provided.  The equations in the lookup are in a different order to those in the portfolio so some effort is required!</p>
<table border="1" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td width="133" valign="top"><strong>Operands</strong></td>
<td width="133" valign="top"><strong>Solution</strong></td>
<td width="133" valign="top"><strong>Equation</strong></td>
</tr>
<tr>
<td width="133" valign="top">3</td>
<td width="133" valign="top">25</td>
<td width="133" valign="top">3 * 7 + 4</td>
</tr>
</tbody>
</table>
<h4>Solve</h4>
<p>The equations are then solved independently i.e. the solution is not available</p>
<h4>Check</h4>
<p>In order to check that the Solve stage produces a correct result, the equation is solved independently again.</p>
<h4>Accept</h4>
<p>Finally the two independent solutions are compared, along with the actual equation, to ensure it has been solved correctly</p>
<table border="1" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td width="100" valign="top"><strong>ID</strong></td>
<td width="100" valign="top"><strong>Operands</strong></td>
<td width="100" valign="top"><strong>Solution</strong></td>
<td width="100" valign="top"><strong>Equation</strong></td>
</tr>
<tr>
<td width="100" valign="top">1</td>
<td width="100" valign="top">3</td>
<td width="100" valign="top">25</td>
<td width="100" valign="top">3 * 7 + 4</td>
</tr>
</tbody>
</table>
<h4>Done</h4>
<p>When the correct equation has been independently solved correctly twice, then the problem can be considered Done.</p>
<h1>Roles</h1>
<h4>Analyst</h4>
<p>The analyst selects the options from the portfolio, matches them against the available equations, and writes them onto index cards. Each index card should contain the option ID and the equation as follows:</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/07/analyst.png"><img style="display: inline; border-width: 0px;" title="analyst" src="http://availagility.co.uk/wp-content/uploads/2010/07/analyst_thumb.png" border="0" alt="analyst" width="240" height="147" /></a></p>
<h4>Solver</h4>
<p>The solver takes each index card with an equation on it, and solves it. Any intermediate calculations should be written on a separate sheet, and calculators should not be used (although someone who did use a calculator at SPA didn’t seem to gain any advantage!) The answer is to be written on the back of the <em>back</em> of the index card, to the <em>left</em> side, and covered with a small post-it so that is hidden and can’t be copied.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/07/solver.png"><img style="display: inline; border-width: 0px;" title="solver" src="http://availagility.co.uk/wp-content/uploads/2010/07/solver_thumb.png" border="0" alt="solver" width="240" height="146" /></a></p>
<h4>Checker</h4>
<p>The checker also takes each index card with an equation on it, and solves it. Again, any intermediate calculations should be written on a separate sheet, and calculators should not be used. this time, the answer is to be written on the back of the <em>back</em> of the index card, to the <em>right </em>side, and again covered with a small post-it so that is hidden.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/07/checker.png"><img style="display: inline; border-width: 0px;" title="checker" src="http://availagility.co.uk/wp-content/uploads/2010/07/checker_thumb.png" border="0" alt="checker" width="240" height="146" /></a></p>
<h4>Accepter</h4>
<p>The accepter takes the index card and confirms whether the ID and equation match correctly, and that the two answers are both the same and correct. The they are, the the problem is Done, otherwise they reject it. Each scenario will handle rejection differently.</p>
<h4>Manager</h4>
<p>The managers job is to keep time, ensure the process is being followed and capture metrics. Every 30 seconds they should count how many of the maths problems are in each stage of the value stream and record it on a worksheet. It is these numbers which can be fed into a spreadsheet to generate a Cumulative Flow Diagram to visualise the flow.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/07/manager.png"><img style="display: inline; border-width: 0px;" title="manager" src="http://availagility.co.uk/wp-content/uploads/2010/07/manager_thumb.png" border="0" alt="manager" width="640" height="308" /></a></p>
<h1>Scenarios</h1>
<p>Each scenario is 5 minutes each.</p>
<h4>Phase Driven</h4>
<p>For a phase driven approach, the team should initially plan how many of the set of options they think that they can complete in the 5 minutes available. Then all the selected options are worked on phase by phase. Thus they are all analysed, then all handed over to be solved, then all handed over to be checked, and finally all handed over to be accepted. Any rejected work can only be moved back to the beginning once everything else has been accepted as Done.</p>
<h4>Time Boxed</h4>
<p>For the time boxed approach, the team should plan how many of the set of options they think that they can complete in the 1st of the 5 minutes. Those options are then worked on by the team individually. Specialism still applies, but once a problem has been analysed, it can move to be solved, check and analysed without waiting for the whole batch. At the end of the 1 minute time-box, the team should stop, review and re-plan the next minute, deciding how many problems to work on next. This is repeated until the 5 minutes are up i.e. there are 5 x 1 minutes time boxes. Any rejected work can be passed back immediately.</p>
<h4>Flow Based</h4>
<p>For the flow based approach, the team should pick 1 problem at a time to solve. As with the time boxed scenario, specialism still applies, so once a problem has been analysed, it can move to be solved, check and analysed. However, there should only be one problem in each stage of the value stream at a time, thus creating a pull system. Any rejected work can be passed back immediately (which may result in the WIP limits being broken), or the accepter can <em>pull</em> in the appropriate role to resolve the issue.</p>
<h1>Results</h1>
<p>The metrics from the managers worksheets can be fed into an excel spreadsheet (included in the download package) to generate CFD diagrams. Here are 3 from one of the teams at SPA.</p>
<h6>Phase Driven</h6>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/07/image.png"><img style="display: inline; border: 0px;" title="image" src="http://availagility.co.uk/wp-content/uploads/2010/07/image_thumb.png" border="0" alt="image" width="640" height="386" /></a></p>
<h6>Time Boxed</h6>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/07/image1.png"><img style="display: inline; border: 0px;" title="image" src="http://availagility.co.uk/wp-content/uploads/2010/07/image_thumb1.png" border="0" alt="image" width="640" height="391" /></a></p>
<h6>Flow Based</h6>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/07/image14.png"><img style="display: inline; border: 0px;" title="image" src="http://availagility.co.uk/wp-content/uploads/2010/07/image14_thumb.png" border="0" alt="image" width="640" height="391" /></a></p>
<h1>Variations</h1>
<p>There are a number of variations I’d like to try.</p>
<ul>
<li>One of the things I’ve noticed is that the maths problems may be just a little bit too difficult for some teams, and the take too long sometimes to get any really useful results. One option would be to extend the time for each scenario to 10 minutes to allow more time. I wonder whether this could make it less snappy though.</li>
<li>The time-boxed scenario never really plays out how I envisaged it. This is partly down to the short time frames. Stopping, reviewing and replanning every minute doesn’t seem right – especially when you can only manage 1 problem in a minute! What i was trying to show was the small-batching nature a time-box can have. One way round this is to explicitly create the batches in a similar way to the Penny Game.</li>
<li>Some people don’t like the mental exercise involved in the maths! Katherine Kirk described a variation to me where the teams used a &#8220;Pictionary&#8221; <a href="http://availagility.co.uk/2009/01/25/model-workflow-stages-not-people-or-roles/">workflow</a> instead. Options –&gt; Describing –&gt; Drawing –&gt; Guessing –&gt; Checking –&gt; Done</li>
<li>Its quite likely that the Flow scenario comes out &#8220;best&#8221; because its the last one. It would be interesting to run the scenarios in different orders to see what impact that had. Especially if there are 3 or more teams so that each team can start with a different scenario. This would possibly be more complicated to run, but with enough facilitation could be done.</li>
</ul>
<p>Feel free to <a href="http://availagility.co.uk/wp-content/uploads/2010/05/KanbanExperiment.zip">download</a> the pack, which contains:</p>
<ul>
<li>Handouts – PDFs of the options, analysis and accepter worksheets for each scenario</li>
<li>Spreadsheets – one with all the details used to create the worksheets, and one to be used to create the CFDs</li>
<li>Powerpoint – slides with simple instructions for running the experiment</li>
</ul>
<p>All I ask is that you let me know how you got on, and what variations you come up with. Here are the <a href="http://availagility.co.uk/wp-content/uploads/2010/07/SPA-Results.zip">SPA results</a> and <a href="http://availagility.co.uk/wp-content/uploads/2010/07/LWS-Results.zip">LWS results</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2010/07/16/the-flow-experiment/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Does A Kanban System Eschew Estimation?</title>
		<link>http://availagility.co.uk/2010/07/14/does-a-kanban-system-eschew-estimation/</link>
		<comments>http://availagility.co.uk/2010/07/14/does-a-kanban-system-eschew-estimation/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 15:48:51 +0000</pubDate>
		<dc:creator>Karl</dc:creator>
				<category><![CDATA[Lean]]></category>
		<category><![CDATA[Estimation]]></category>
		<category><![CDATA[FAQ]]></category>
		<category><![CDATA[Kanban]]></category>

		<guid isPermaLink="false">http://availagility.co.uk/?p=627</guid>
		<description><![CDATA[I was recently involved in a brief twitter conversation which started when Mike Sutton tweeted: estimation is not about the number that pops out. It is about exploring effort and discovering that you don&#8217;t know stuff. Paul Dyson responded: spot on! This is fundamentally what I don&#8217;t like about the kanban &#8220;if people find estimation <a href="http://availagility.co.uk/2010/07/14/does-a-kanban-system-eschew-estimation/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I was recently involved in a brief twitter conversation which started when Mike Sutton <a href="http://twitter.com/mhsutton/statuses/17933389854" target="_blank">tweeted</a>:</p>
<blockquote><p>estimation is not about the number that pops out. It is about exploring effort and discovering that you don&#8217;t know stuff.</p></blockquote>
<p>Paul Dyson <a href="http://twitter.com/pauldyson/statuses/17933823957" target="_blank">responded</a>:</p>
<blockquote><p>spot on! This is fundamentally what I don&#8217;t like about the kanban &#8220;if people find estimation hard, don&#8217;t make them do it&#8221; mantra.</p></blockquote>
<p>Which is where I <a href="http://twitter.com/kjscotland/status/17935037410" target="_blank">jumped in</a>:</p>
<blockquote><p>where did you hear that &#8220;kanban mantra&#8221;? Not one I&#8217;m familiar with.</p></blockquote>
<p>Only to be <a href="http://twitter.com/pauldyson/status/17935269534" target="_blank">told</a>:</p>
<blockquote><p>err, it was actually in the talk you gave at mini-Spa!</p></blockquote>
<p>Since then, Paul has blogged some more <a href="http://pauldyson.wordpress.com/2010/07/12/on-estimation/">on estimation</a>, and this is my response, hopefully clearing up what I said, or at least meant to say at mini-Spa, in addition to what I’ve already written on <a href="http://availagility.co.uk/2008/08/19/estimation-and-waste/" target="_blank">estimation and waste</a>.</p>
<p>A simple summary and paraphrasing of Paul’s post would be:</p>
<blockquote><p>Estimation, as part of time-box planning, leads to whole team interaction and collaboration, to create learning about past capability and forecasts of future capability</p></blockquote>
<p>Lets start by drilling into these key points from Paul’s post. Essentially the implication is that by eschewing iteration, we cannot have whole team interaction and collaboration, cannot learn about past capability and cannot forecast future capability.</p>
<h6>Whole team interaction and collaboration</h6>
<p>I can think of 3 ways a team a whole team can interact and collaborate around planning a new piece of work without estimating in a time-box planning meeting:</p>
<ul>
<li><a href="http://availagility.co.uk/2009/07/21/what-is-cadence/" target="_blank">Cadence</a>. The team agrees a cadence at which they will all get together to collaboratively plan new work. This planning cadence looks at what new items the team may be able to pull, given their current work-in-process, rather than estimating what items they may be able to complete.</li>
<li><a href="http://availagility.co.uk/2009/01/25/model-workflow-stages-not-people-or-roles/">Workflow</a>. The team explicitly models there workflow to make transparent that fact that they need to get together to plan new pieces of work when they are pulled. This stage could be a stage called “Planning”, or even ”Analysis”!</li>
<li>Just do it! When the team pulls a new work item, they spontaneously swarm on it to plan it. This probably requires a small and high performing team.</li>
</ul>
<p>Even so, this is assuming the whole team <em>really</em> does need to interact and collaborate on <em>every</em> piece of work. However, not every piece of work is equal, and there may be some smaller, simpler features that can be planned and delivered by a smaller group.</p>
<h6>Create learning about past capability</h6>
<p>We can learn about our past capability by measuring data such as cycle time, and tracking it with a Statistical Process Control chart. Common cause variation is to be expected within a stable system. However, special cause variation is something we can look at in more detail to see what we can learn (as long as we don’t change the system in response to special cause variation).</p>
<h6>Forecast future capability</h6>
<p>Once we understand our past (or current) capability we can use that information to forecast future capability. By understanding how long things have typically taken in the past (with natural variability) we can determine how long things will take in the future (with natural variability). Dennis Stevens has recently written some great posts discussing <a href="http://www.dennisstevens.com/2010/06/07/kanban-and-when-will-this-be-done/" target="_blank">knowing when we will be done</a>, using <a href="http://www.dennisstevens.com/2010/06/14/kanban-what-are-classes-of-service-and-why-should-you-care/" target="_blank">classes of service</a> and <a href="http://www.dennisstevens.com/2010/06/22/kanban-negotiating-and-managing-service-level-agreements/" target="_blank">service level agreements</a> to <a href="http://www.dennisstevens.com/2010/06/30/shorten-and-reduce-variability-in-lead-times-using-kanban/" target="_blank">manage variability</a>.</p>
<p>So kanban teams do not eschew estimation simply because it is <em>hard.</em> Some teams choose not to estimate because they can realise the same benefits that estimation gives with a lower cost. The old joke does still apply (“Doctor, Doctor it hurts when I do this”, “Don’t do that then”). If it hurts to estimate, then find other ways to encourage whole team interaction and collaboration, learn about past capability and forecast future capability. On the other hand, if estimation doesn’t hurt, or costs too much, then it may be the right thing to do in your context.</p>
<p>What I think we do agree on is that when we are planning, we should decompose work for understanding, rather than sizing (thanks to <a href="http://manicprogrammer.com/cs/blogs/willeke/" target="_blank">Eric Willeke</a> for this phrasing). As Mike says, the estimate is just a number that pops out of the discovery.</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2010/07/14/does-a-kanban-system-eschew-estimation/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Kanban and Scrum &#8211; Intention and Implementation</title>
		<link>http://availagility.co.uk/2010/06/17/kanban-and-scrum-intention-and-implementation/</link>
		<comments>http://availagility.co.uk/2010/06/17/kanban-and-scrum-intention-and-implementation/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 10:09:21 +0000</pubDate>
		<dc:creator>Karl</dc:creator>
				<category><![CDATA[Lean]]></category>
		<category><![CDATA[Implementation]]></category>
		<category><![CDATA[Intention]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://availagility.co.uk/?p=617</guid>
		<description><![CDATA[In my last post I introduced the idea of a PVC System &#8211; one which exemplifies Pull, Value and Capability &#8211; and closed by posing the question as to whether Scrum could be considered to be a PVC System. In answering that question myself, I realised that there is another distinction which I will describe <a href="http://availagility.co.uk/2010/06/17/kanban-and-scrum-intention-and-implementation/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>In my last post I introduced the idea of a <a href="http://availagility.co.uk/2010/06/14/from-kfc-development-to-pvc-systems/" target="_self">PVC System</a> &#8211; one which exemplifies Pull, Value and Capability &#8211; and closed by posing the question as to whether Scrum could be considered to be a PVC System. In answering that question myself, I realised that there is another distinction which I will describe in this post. In doing so, I am also re-entering the great Kanban and Scrum debate, with the goal of learning rather than fighting!</p>
<p>The XP Community popularised the concept of programming by intent; writing code which describes what it is doing rather than how it is doing it (programming by implementation). I believe the same distinction can be used to describe methods, and can help differentiate Kanban and Scrum. Kanban is an intention-revealing method. The intention is to reveal the workflow, visualise the work, limit work in progress, establish a cadence and continuously improve. How to do that is up to the team. They can use any workflow, visualisation, WIP limits, cadence or improvement mechanisms. Scrum on the other hand is an implementation-revealing method. The implementation is described in terms of the Sprint and the associated roles, meetings and artefacts. Even if the implementation is described in abstract terms, as <a href="http://agileanarchy.wordpress.com/2009/10/08/scrum-roles-an-abstraction/" target="_blank">Tobias Mayer does</a>, (and Tobias&#8217;s interpretation of Scrum is one I respect greatly) I still consider it to be focussed on implementation.</p>
<p>This is not to say one is better than the other. An implementation is ultimately required, and Scrum has proven to be a very good one with which I have had considerable success. But is Scrum a PVC System? I think it <em>can</em> be, if implemented with an intention-revealing mindset. If the Sprint, roles, meetings and artefacts are implemented in way which reveals the workflow, visualises the work, limits work in progress, establishes a cadence and continuously improves, then it will be implemented with the right intent. I expect that most cases of &#8220;Good Scrum&#8221; will fall into this category. On the other hand, if the Scrum Sprint, roles, meetings and artefacts are implemented in a mechanical way, then I suspect that the workflow will remain hidden, the work will not be visualised, work in process will not be limited, a cadence will not be established, and continuous improvement will not happen. This is when we get cases of &#8220;Bad Scrum&#8221;. Thus ScrumBut is not when the Scrum practices aren&#8217;t followed per-se, but when they are followed with the wrong (or no) intent.</p>
<p>So Kanban and Scrum are like apples and oranges (to jump to an different analogy). Both are good for you, and both can go together &#8211; with other fruit &#8211; to create a tasty fruit salad. But they are different. Kanban is intention-based and Scrum is implementation-based.</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2010/06/17/kanban-and-scrum-intention-and-implementation/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>From KFC Development to PVC Systems</title>
		<link>http://availagility.co.uk/2010/06/14/from-kfc-development-to-pvc-systems/</link>
		<comments>http://availagility.co.uk/2010/06/14/from-kfc-development-to-pvc-systems/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 20:01:50 +0000</pubDate>
		<dc:creator>Karl</dc:creator>
				<category><![CDATA[Lean]]></category>
		<category><![CDATA[Capability]]></category>
		<category><![CDATA[KFC Development]]></category>
		<category><![CDATA[Pull]]></category>
		<category><![CDATA[PVC Systems]]></category>
		<category><![CDATA[Value]]></category>

		<guid isPermaLink="false">http://availagility.co.uk/?p=614</guid>
		<description><![CDATA[I&#8217;ve been revisiting my earlier KFC Development work in light of my more recent focus on five primary practices. This is an brief overview of what&#8217;s changed, and what my mental model looks like now. Firstly, I&#8217;ve stopped referring to the practices as such, in favour of calling them aspects. Practices always felt slightly wrong, <a href="http://availagility.co.uk/2010/06/14/from-kfc-development-to-pvc-systems/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been revisiting my earlier <a href="http://availagility.co.uk/2008/10/28/kanban-flow-and-cadence/" target="_self">KFC Development</a> work in light of my more recent focus on <a href="http://availagility.co.uk/2009/06/15/how-is-kanban-different-from-other-approaches/" target="_self">five</a> <a href="http://availagility.co.uk/2009/06/30/the-fifth-primary-practice-of-kanban/" target="_self">primary</a> practices. This is an brief overview of what&#8217;s changed, and what my mental model looks like now.</p>
<p>Firstly, I&#8217;ve stopped referring to the practices as such, in favour of calling them aspects. Practices always felt slightly wrong, but at the time I couldn&#8217;t think of a better way of describing what I wanted to be practical, rather than theoretical points. I think aspects still allows that practical focus, without giving the impression of being a prescriptive process. So the aspects are:</p>
<ul>
<li>workflow</li>
<li>visualisation</li>
<li>work in process</li>
<li>cadence</li>
<li>continuous improvement</li>
</ul>
<p>How does the KFC triad fit into that then. Here&#8217;s my thought process, which focusses more on conceptual ideas.</p>
<ul>
<li><strong>Kanban</strong>. In this context, Kanban is the tool. As I have become more interested in Systems Thinking, I have become less focussed on the tool. What is more important is the concept behind the tool. Kanban is a great way to create a pull system, but there are others; drum-buffer-rope and CONWIP are a couple. Kanban seems to be the one that&#8217;s easiest to explain, and the one that caught people&#8217;s imagination, but really its about <strong>Pull</strong>.</li>
<li><strong>Flow</strong>. Given the first concept is Pull, and we should flow where we can and pull where we must, then I think Flow comes under the concept of Pull. What I tended to find myself talking about with Flow, however, was <em>what</em> should flow. There&#8217;s not point having a pull system where work flows smoothly if the work is useless, so the second concept is really about <strong>Value</strong>.</li>
<li><strong>Cadence</strong>. Having identified Cadence as a Aspect, it can&#8217;t really be a concept as well. I talk about Cadence as a means of achieving predictability and reliability and of demonstrating capability. Cadence is just one way of doing this however, so the third concept is really about <strong>Capability</strong>.</li>
</ul>
<p>So instead of KFC Development, I have moved to thinking of a Kanban System as a <span style="text-decoration: underline;"><em>PVC System</em></span> &#8211; one which exemplifies Pull, Value and Capability, and that can be described in terms of workflow, visualisation, work in process, cadence and continuous improvement. I quite like the &#8216;plasticity&#8217; metaphor that springs to mind with this new triad; &#8220;the  capability  of  being  moulded,  receiving  shape,  or  being  made  to  assume  a  desired  form&#8221;. Its probably not very environmentally friendly though!</p>
<p>For me this also leads to the question of whether a process (such as, for example, Scrum) is a PVC System. That&#8217;s the subject of another blog post though!</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2010/06/14/from-kfc-development-to-pvc-systems/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Kanban Multiverse &#8211; not from LeanSSC Atlanta</title>
		<link>http://availagility.co.uk/2010/04/21/a-kanban-multiverse-not-from-leanssc-atlanta/</link>
		<comments>http://availagility.co.uk/2010/04/21/a-kanban-multiverse-not-from-leanssc-atlanta/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 10:01:38 +0000</pubDate>
		<dc:creator>Karl</dc:creator>
				<category><![CDATA[Lean]]></category>

		<guid isPermaLink="false">http://availagility.co.uk/?p=592</guid>
		<description><![CDATA[I should have been at the LeanSSC Conference in Atlanta this week, but unfortunately Eyjafjallajokull intervened. This is the Prezi I was going to use. It may not make much sense on its own but hopefully gives a flavour of what sort of things I was going to talk about. I&#8217;m hoping to put together <a href="http://availagility.co.uk/2010/04/21/a-kanban-multiverse-not-from-leanssc-atlanta/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<div>I should have been at the <a href="http://atlanta2010.leanssc.org/" target="_blank">LeanSSC Conference</a> in Atlanta this week, but unfortunately <a href="http://en.wikipedia.org/wiki/Eyjafjallajokull" target="_blank">Eyjafjallajokull</a> intervened. This is the Prezi I was going to use. It may not make much sense on its own but hopefully gives a flavour of what sort of things I was going to talk about. I&#8217;m hoping to put together a post together to flesh out the details.</div>
<div><strong>Update</strong>: I posted a write-up on the <a href="http://www.management30.com/profiles/blogs/visual-management-creating-a" target="_blank">Management 3.0 site</a></div>
<div><object id="prezi_z4fgqz6ijzsc" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="name" value="prezi_z4fgqz6ijzsc" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="prezi_id=z4fgqz6ijzsc&amp;lock_to_path=1&amp;color=ffffff&amp;autoplay=no" /><param name="src" value="http://prezi.com/bin/preziloader.swf" /><embed id="prezi_z4fgqz6ijzsc" type="application/x-shockwave-flash" width="550" height="400" src="http://prezi.com/bin/preziloader.swf" flashvars="prezi_id=z4fgqz6ijzsc&amp;lock_to_path=1&amp;color=ffffff&amp;autoplay=no" bgcolor="#ffffff" allowscriptaccess="always" allowfullscreen="true" name="prezi_z4fgqz6ijzsc"></embed></object></p>
<div>
<p><a href="http://prezi.com/z4fgqz6ijzsc/">A Kanban Multiverse</a> on <a href="http://prezi.com">Prezi</a></p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2010/04/21/a-kanban-multiverse-not-from-leanssc-atlanta/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Defining the Last Responsible Moment</title>
		<link>http://availagility.co.uk/2010/04/06/defining-the-last-responsible-moment/</link>
		<comments>http://availagility.co.uk/2010/04/06/defining-the-last-responsible-moment/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 12:17:12 +0000</pubDate>
		<dc:creator>Karl</dc:creator>
				<category><![CDATA[Lean]]></category>
		<category><![CDATA[Benefit of Delay]]></category>
		<category><![CDATA[Cost of Delay]]></category>
		<category><![CDATA[Last Responsible Moment]]></category>
		<category><![CDATA[Real Options]]></category>

		<guid isPermaLink="false">http://availagility.co.uk/?p=574</guid>
		<description><![CDATA[I was involved in a recent twitter discussion with Chris Matts about Lean&#8217;s &#8220;Last Responsible Moment&#8221;, and he set a challenge to come up with a usable definition. Chris&#8217;s opinion is that there isn&#8217;t one, compared to the Real Options equivalent. This then, is my response to that challenge. I will define the Last Responsible <a href="http://availagility.co.uk/2010/04/06/defining-the-last-responsible-moment/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I was involved in a recent twitter discussion with Chris Matts about Lean&#8217;s &#8220;Last Responsible Moment&#8221;, and he set a challenge to come up with a usable definition. Chris&#8217;s opinion is that there isn&#8217;t one, compared to the <a href="http://decision-coach.com/lean-and-real-options/" target="_blank">Real Options equivalent</a>. This then, is my response to that challenge.</p>
<p>I will define the Last Responsible Moment (LRM) in terms of Cost of Delay, as used by <a href="http://www.reinertsenassociates.com/" target="_blank">Don Reinertsen</a>, and Benefit of Delay, a related term that came up in an email conversation with <a href="http://julianeverett.wordpress.com/" target="_blank">Julian Everett</a>. In short, the Last Responsible Moment is just before the Cost of Delay outweighs the Benefit of Delay. Its not necessary to be able to quantify the costs and benefits very accurately because any evaluation is going to be better than none!</p>
<p>In his challenge, Chris used the example of knowing the Last Responsible moment to submit a session for Agile2010. I&#8217;ll use that example to explain my definition.</p>
<p>Firstly, the Cost of Delay for submitting to Agile2010 goes up at the submission deadline, because when you can no longer submit, can can no longer get accepted, and thus can no longer receive speaker benefits including conference registration, complimentary hotel nights. However, that does not make the submission deadline the LRM, because there is no benefit in delaying submission due to the open commenting and review process. Thus the LRM is actually as soon as the submission system opens. From then on, submitters are losing the opportunity to improve their submission.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/04/LRM-1.png"><img class="alignnone size-large wp-image-581" style="border: 0pt none;" title="LRM 1" src="http://availagility.co.uk/wp-content/uploads/2010/04/LRM-1-1024x616.png" alt="" width="614" height="370" /></a></p>
<p>What would happen if the Agile2010 submission process wasn&#8217;t as open or iterative? In that case, then there would be benefit in delaying, because it would allow more time to refine a submission before entering it. The Benefit of Delay would drop off just before the deadline, however, so the LRM would be then.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/04/LRM-2.png"><img class="alignnone size-large wp-image-582" title="LRM 2" src="http://availagility.co.uk/wp-content/uploads/2010/04/LRM-2-1024x615.png" alt="" width="614" height="369" /></a></p>
<p>A third scenario, as suggested by Chris, is that a speaker might have something so important and valuable to say, that the Benefit of Delay doesn&#8217;t actually drop off at the submission deadline. There may be a Benefit right up to the conference itself because a speaker can turn up with a <a href="http://en.wikipedia.org/wiki/Soap_box" target="_blank">Soap Box</a>, or propose a session for <a href="http://en.wikipedia.org/wiki/Open_Space_Technology" target="_blank">Open Space</a>. The Cost of Delay remains the same, due to the loss of speaker compensation, but the Benefit might always outweighs the Cost.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/04/LRM-3.png"><img class="alignnone size-large wp-image-583" title="LRM 3" src="http://availagility.co.uk/wp-content/uploads/2010/04/LRM-3-1024x615.png" alt="" width="614" height="369" /></a></p>
<p>Finally, in this scenario, a speaker might choose to register for the conference early anyway to take advantage of any early bird deals, and book flights and hotels early to get good prices. This would reduce the Cost of Delay, and thus potentially reduce the Benefit needed to make it worthwhile not requiring an official speaking slot on the program.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/04/LRM-4.png"><img class="alignnone size-large wp-image-580" title="LRM 4" src="http://availagility.co.uk/wp-content/uploads/2010/04/LRM-4-1023x617.png" alt="" width="614" height="370" /></a></p>
<p>To summarise, understanding both the Cost of Delay and Benefit of Delay can be a practical way of defining the Last Responsible Moment. Real Options thinking provides ways of influencing the Costs and Benefits of Delays to gain some flexibility.</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2010/04/06/defining-the-last-responsible-moment/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Facilitating A Kanban Konversation</title>
		<link>http://availagility.co.uk/2010/03/24/facilitating-a-kanban-konversation/</link>
		<comments>http://availagility.co.uk/2010/03/24/facilitating-a-kanban-konversation/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 15:25:43 +0000</pubDate>
		<dc:creator>Karl</dc:creator>
				<category><![CDATA[Lean]]></category>
		<category><![CDATA[Conversation]]></category>
		<category><![CDATA[Facilitation]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Scrum Gathering]]></category>

		<guid isPermaLink="false">http://availagility.co.uk/?p=568</guid>
		<description><![CDATA[As I mentioned in my Scrum Gathering Musings, I came up with a twist on the Goldfish Bowl format which I used during the Kanban Exploration Deep Dive.  Here are some more details. The Goldfish Bowl format works really well for facilitating a focussed discussion with a large number of people. It keeps the active <a href="http://availagility.co.uk/2010/03/24/facilitating-a-kanban-konversation/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>As I mentioned in my <a href="http://availagility.co.uk/2010/03/17/scrum-gathering-musings/" target="_self">Scrum Gathering Musings</a>, I came up with a twist on the <a href="http://c2.com/cgi/wiki?GoldfishBowl" target="_blank">Goldfish Bowl</a> format which I used during the Kanban Exploration Deep Dive.  Here are some more details.</p>
<p>The Goldfish Bowl format works really well for facilitating a focussed discussion with a large number of people. It keeps the active voices to a manageable number, while being open for anyone to join in if they have something to add. Apart from providing a solution to my challenge &#8211; keeping a spirited debate under control &#8211; it also seemed appropriate that the limited number of chairs provided a means of limiting &#8220;Voices In Conversation&#8221;.</p>
<p>However, there was one thing about the Goldfish Bowl which didn&#8217;t seem appropriate. With a Goldfish Bowl, when someone wants to join the discussion, they fill an empty chair as part of the conversation, and force someone to leave to free up a seat again. That seemed to be like &#8220;pushing&#8221; in to the discussion. What it no-one wants to leave? So instead, I moved the empty chair out of the discussion, and made it a Queue. If someone had something to contribute, they could fill the &#8220;Waiting to Talk&#8221; seat, which would be a signal to the &#8220;In Conversation&#8221; people that one of them should leave <em>when ready</em>. I was pleased to find that this change worked really well. Rather than the discussions being interrupted when people moved around as they figured out who would leave, the conversations flowed smoothly as people moved in and out naturally. Initially the &#8220;Waiting&#8221; person had to wait some time, but once we got used to the system, this seemed to be less of a problem.</p>
<div>These are the instructions I used:</div>
<ul>
<li>4 “In Conversation” seats and 1 “Waiting to Talk” seat</li>
<li>Only “In Conversation” people may speak</li>
<li>If you want to join the conversation, fill the “Waiting to Talk” seat (if it’s empty)</li>
<li>When someone “In Conversation” leaves, that is a signal to move from &#8220;Waiting to Talk&#8221; to be &#8220;In Conversation&#8221;</li>
</ul>
<p>I wondered whether we would evolve the system, by increasing or decreasing the number of seats in each state, but that didn&#8217;t happen. Its something I&#8217;ll look out for in the future. I&#8217;d also love to hear if anyone uses this format, or has already done something similar.</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2010/03/24/facilitating-a-kanban-konversation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Systems Thinking, The Vanguard Method and Software Development</title>
		<link>http://availagility.co.uk/2010/02/25/systems-thinking-the-vanguard-method-and-software-development/</link>
		<comments>http://availagility.co.uk/2010/02/25/systems-thinking-the-vanguard-method-and-software-development/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 19:58:09 +0000</pubDate>
		<dc:creator>Karl</dc:creator>
				<category><![CDATA[Lean]]></category>
		<category><![CDATA[John Seddon]]></category>
		<category><![CDATA[Purpose]]></category>
		<category><![CDATA[Systems Thinking]]></category>
		<category><![CDATA[Vanguard Method]]></category>

		<guid isPermaLink="false">http://availagility.co.uk/?p=547</guid>
		<description><![CDATA[I&#8217;ve recently read John Seddon&#8217;s &#8220;Freedom from Command and Control&#8220;, which introduces his approach to Systems Thinking &#8211; the Vanguard Method. A few key points really struck home with me and helped clarify my thoughts on some of the challenges I&#8217;ve come across recently. First is the following simple diagram, which shows that Management is <a href="http://availagility.co.uk/2010/02/25/systems-thinking-the-vanguard-method-and-software-development/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently read John Seddon&#8217;s &#8220;<a href="http://www.amazon.co.uk/Freedom-Command-Control-Better-Make/dp/0954618300" target="_blank">Freedom from Command and Control</a>&#8220;, which introduces his approach to Systems Thinking &#8211; the Vanguard Method. A few key points really struck home with me and helped clarify my thoughts on some of the challenges I&#8217;ve come across recently.</p>
<p>First is the following simple diagram, which shows that Management is responsible for defining the System, which is ultimately what defines Performance. Management&#8217;s role should be to analyse Performance, and change the System to improve it.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/02/thinking.png"><img class="alignnone size-medium wp-image-551" title="thinking" src="http://availagility.co.uk/wp-content/uploads/2010/02/thinking-300x212.png" alt="" width="300" height="212" /></a></p>
<p>Agile initiatives are usually begun in order to improve performance. Seddon says that in order to analyse Performance, we first need to understand the Purpose of the System. Then we should create Measures to provide knowledge of how well we are meeting that Purpose, before finally applying a Method which meets that Purpose, using the Measures to help refine the Method.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/02/measures.png"><img class="alignnone size-medium wp-image-554" title="measures" src="http://availagility.co.uk/wp-content/uploads/2010/02/measures-300x223.png" alt="" width="300" height="223" /></a></p>
<p>Finally, Seddon says that understanding Purpose involves understanding Demand, and in particular, Seddon introduces the concepts of Value Demand and Failure Demand. Value Demand is what do our customers ask us to do because it add value, and Failure Demand is what our customers ask us to do because we failed to something, or do something right in the first place.</p>
<p>I&#8217;m increasingly aware of Lean and Agile methods being used for the sake of it. While Scrum, XP and Kanban will generally serve common software delivery Purposes, such as delivering real benefits and in short timescales, using them without recognising the Purpose will often result in no real improvement in Performance. Lean and Agile methods are often used just as alternative delivery approaches within an existing System, rather than as means to change the System itself. These organisations can be thought of as &#8220;wall-dwellers&#8221;, using a method within existing boundaries, rather than &#8220;wall-movers&#8221;, moving the boundaries to help create a System which helps meet the Purpose. To quote (or paraphrase) <a href="http://en.wikipedia.org/wiki/Russell_L._Ackoff" target="_blank">Russell Ackoff</a>, this is &#8220;doing the wrong thing righter, rather than doing the right thing&#8221;.</p>
<p>Do you know what the Purpose of your software development process is? Do you have Measures about capability against that Purpose? Do you know what your Value and Failure Demand is?</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2010/02/25/systems-thinking-the-vanguard-method-and-software-development/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Process Safeguards and Ski Slopes</title>
		<link>http://availagility.co.uk/2010/01/08/process-safeguards-and-ski-slopes/</link>
		<comments>http://availagility.co.uk/2010/01/08/process-safeguards-and-ski-slopes/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 11:41:50 +0000</pubDate>
		<dc:creator>Karl</dc:creator>
				<category><![CDATA[Lean]]></category>
		<category><![CDATA[Continuous Improvement]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Safeguards]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Ski Slopes]]></category>

		<guid isPermaLink="false">http://availagility.co.uk/?p=513</guid>
		<description><![CDATA[One of the joys of working as a coach for EMC Consulting are the regular opportunities to have deep conversations on various topics with my colleagues when we are in the office together. For example, earlier this week myself and Simon Bennett began to discuss way of talking to our clients about process such that <a href="http://availagility.co.uk/2010/01/08/process-safeguards-and-ski-slopes/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/ramonarellano/31436545/"><img style="border: 0pt none; margin: 0px 10px 10px 0px; display: inline;" title="black ski slope" src="http://availagility.co.uk/wp-content/uploads/2010/01/blackskislope_thumb.jpg" border="0" alt="black ski slope" width="260" height="200" align="left" /></a> One of the joys of working as a coach for <a href="http://www.emc.com/consulting" target="_blank">EMC Consulting</a> are the regular opportunities to have deep conversations on various topics with my colleagues when we are in the office together. For example, earlier this week myself and <a href="http://consultingblogs.emc.com/simonbennett/" target="_blank">Simon Bennett</a> began to discuss way of talking to our clients about process such that we can guide them towards the most appropriate choice. However much we may have our preferred approaches, they may not always be the best solution in any context. In the course of the conversation we compared various styles including waterfall, scrum and kanban, and looked at them on various scales, including risk, reward and control. None of these seemed satisfying as a language to use, until Simon suggested safety.</p>
<p>Different processes have different levels of safeguards built into them. Safeguards are used by processes to compensate for low skill, low maturity or low trust, but they also reduce speed or reward. With a waterfall process, the heavy up-front documentation is a safeguard to compensate for low trust (and often low skill and maturity). When a customer does not want to collaborate, then waterfall provides safeguards aimed at avoiding them rejecting the final delivery (not that those safeguards always work!). At the other end of the spectrum, extremely productive teams often have very few safeguards because of the high trust, collaboration and capability. Those safeguards that are in place (such as automated tests) are very different. Not having safeguards doesn’t make the process dangerous. It means that team doesn’t need them. So when we talk to customers about process, we can talk about the appropriate safeguards needed for the amount of trust that exists, the capability of the team, the desired delivery speed etc.</p>
<p>While exploring this idea, I became aware that at various points I was referring to kanban at different places on the safeguard continuum. At the high safeguard end was a kanban based process that looked like waterfall, but was limiting WIP and reducing queue and batch sizes. At the low safeguard end was a kanban process with extremely low WIP, no estimation and pure pull. That’s quite a wide range of processes. Similarly, we had Scrum down as a range on the continuum. Towards the high safeguard end, Scrum-but changes Scrum to add safety. Towards the low safeguard end, a highly productive Scrum team will just be using the raw essence of Scrum. Even at this end, however, the Sprint boundary in Scrum could be seen as a safeguard. It’s the opportunity to pause and reset if things are going awry.</p>
<p>In trying to articulate the different types of kanban system in terms of safety, I gave a nod to XP and labelled low-safety kanban “Extreme Kanban”, and high-safety kanban “Safe Kanban”. Not entirely happy with this we bounced some more ideas around and came to the Ski Slope metaphor. “Extreme Kanban” became “Black Kanban” and “Safe Kanban” became “Blue Kanban”. A further iteration led us to “Off Piste Kanban” and “Nursery Kanban”. The ski slope metaphor works quite well at a number of levels. Its a nice way of looking and risk and reward. As a beginner at skiing I don’t want to take much risk, but can get some reward on the nursery slopes. As my capability improves, and as I trust my ability (and instructor) more, I’m prepared to go onto more difficult runs and take more risk to get more reward. Nursery slope groups are generally more controlled, staying in a single file group. As capabilities improve, individuals are given more freedom to try things out for themselves. If I were ever to become an expert, I’d be happy to go off piste to get a high reward. Additionally, when I get to a level where I go off piste, I probably don’t need an instructor anymore, but I may need a guide.</p>
<p>Using the ski slope metaphor allows us to decide what level of process to start a new team with based on how good they currently are. We may want to stretch them a bit, but we may not want them to go straight onto a black run process. We also want the team to be able to move up to more challenging but rewarding levels as they improve. This is one of the reasons I prefer a kanban based approach. I believe it allows teams to start with an safer process to begin with and move to more rewarding processes later by removing or changing safeguards, as opposed to pushing teams straight into a process with less safety before they are ready.</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2010/01/08/process-safeguards-and-ski-slopes/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
