<?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; Flow</title>
	<atom:link href="http://availagility.co.uk/tag/flow/feed/" rel="self" type="application/rss+xml" />
	<link>http://availagility.co.uk</link>
	<description>Karl Scotland - Using Agile to Deliver Value</description>
	<lastBuildDate>Fri, 03 Feb 2012 09:47:28 +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>Running the Ball Flow Game</title>
		<link>http://availagility.co.uk/2011/07/19/running-the-ball-flow-game/</link>
		<comments>http://availagility.co.uk/2011/07/19/running-the-ball-flow-game/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 21:57:15 +0000</pubDate>
		<dc:creator>Karl Scotland</dc:creator>
				<category><![CDATA[Lean]]></category>
		<category><![CDATA[Capability]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Learning]]></category>

		<guid isPermaLink="false">http://availagility.co.uk/?p=884</guid>
		<description><![CDATA[I previously wrote about the Ball Flow Game I ran at the Scrum Gathering in Amsterdam. I’ve updated the game quite a bit since then and its stabilised into something I’m finding very useful when I work with Kanban teams to help them understand some of the concepts behind Kanban Thinking. I hope this write-up <a href="http://availagility.co.uk/2011/07/19/running-the-ball-flow-game/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I previously wrote about the <a href="http://availagility.co.uk/2010/11/17/the-ball-flow-game/" target="_blank">Ball Flow Game</a> I ran at the Scrum Gathering in Amsterdam. I’ve updated the game quite a bit since then and its stabilised into something I’m finding very useful when I work with Kanban teams to help them understand some of the concepts behind Kanban Thinking. I hope this write-up enables others to use and run the game.</p>
<p>To recap, the <a title="The Ball Flow Game" href="http://availagility.co.uk/2010/11/17/the-ball-flow-game/">Ball Flow Game</a> is based on the Ball Point Game, with the following rules:</p>
<ul>
<li>Participants play as a whole team</li>
<li>Balls must have air time between people</li>
<li>No passing to a direct neighbour</li>
<li>The start person must be the end person</li>
</ul>
<p>The aim is to complete 20 balls (as opposed to complete as many in 2 minutes). Thanks to Rally colleague Eric Willeke I now add some fun context as well. I tell the team that they are producing <em>magic</em> balls. Magic is added to a ball only when everyone has touched it. If two people touch a ball at the same time, the magic is dispersed. Further, magnetic fields mean that passing a ball to a direct neighbour also stops magic being added. The start/end person is the customer wanting magic to be added to the balls. Its silly, but it adds an extra element of fun, and reinforces that the rules are constraints in the context that can’t be changed.</p>
<p>I use a spreadsheet to help automatically capture data about the performance of the team. (Download the <a href="https://rallydev.box.net/shared/static/q6rvu3kngxf5cna5e176.xlsm" target="_blank">template</a>). It works using four macros, which are assigned to buttons and hot-keys:</p>
<ul>
<li>Begin (Ctl-B). Begins a round by starting a timer.</li>
<li>In (Ctl-I). Captures the time a ball is added into the system.</li>
<li>Out (Ctl-O). Captures the time a ball come out of the system.</li>
<li>End (Ctl-E). Ends a round by calculating the metrics.</li>
</ul>
<p>Once the metrics are calculated, three charts on the worksheet will populate themselves.</p>
<ul>
<li>Lead Time. The time each ball took to work its way through the team (assuming balls enter and exit in the same order). The dotted line is the average.</li>
<li>Throughput. The number of balls the team completes every 10 seconds</li>
<li>Cumulative Flow Diagram. The number of balls either not started, in progress or done every 10 seconds</li>
</ul>
<p>Upper and Lower Control Limits can also be calculated and displayed for Lead Time. They are currently commented out in the macro code because I found that they weren’t necessary for the core learning objectives. You may also need to tweak some of the macro functions for different versions of Excel (I use Windows Excel 2010). The <a href="https://rallydev.box.net/shared/static/q6rvu3kngxf5cna5e176.xlsm" target="_blank">template</a> has worksheets for 5 rounds. For additional sheets, simply one of the existing rounds.</p>
<p>One of the things I’ve noticed is how the dynamics of the conversations are different from when I run the traditional Ball Point Game with teams. In particular, the team I was working with today really understood the idea of scientific management and made very small, quick and focussed changes each round as experiments, hypothesising on how the metrics would change. With the Ball Point Game I find teams want to debate in depth all the options in their attempts to get an improvement.</p>
<p>Note that as I said in a post of <a href="http://availagility.co.uk/2009/09/16/balanced-software-development/" target="_blank">Balanced Software Development</a>, “scientific management is still relevant for knowledge work, when the workers are the scientists.”</p>
<p>Here are the results. (Apparently we started with only 19 balls due to a facilitator error!)</p>
<h4>Round 1</h4>
<p>In this round, the customer ‘pushed’ balls into the system when he could. You can see the lead time increase as the WIP increases in the CFD, up to a point when a natural system limit is reached. Towards the end the customer stops adding more balls to let the system flush itself out a bit, which shows as the step in the CFD at about 60 seconds, the drop in lead time, and the spike in throughput. The final two balls went through when the system was virtually empty. Notice the short lead times again!</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2011/07/image1.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://availagility.co.uk/wp-content/uploads/2011/07/image_thumb.png" alt="image" width="260" height="200" border="0" /></a></p>
<h4>Round 2</h4>
<p>In this round the team decided to limit the WIP to 6 – one per person. However, interestingly (to me at least) they decided to batch them, by getting all 6 through before they started the next 6. Lead time is much more stable this time. The spike is because the customer forgot to receive the last ball of the 1st batch before starting the 2nd batch, so it got stuck! Throughput is wildly variable though because nothing comes out for a while, and then all 6 come at once. You can see the batching in the ‘steps’ in the CFD.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2011/07/image2.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://availagility.co.uk/wp-content/uploads/2011/07/image_thumb1.png" alt="image" width="260" height="200" border="0" /></a></p>
<h4>Round 3</h4>
<p>In this round the team wanted to experiment with an low extreme WIP limit of 1. Lead time is significantly better, but throughput is low because there is too much slack in the system now. Notice the smooth flow in the CDF. The patches where WIP drops to zero are because the customer’s process between receiving a ball out, and adding a ball in, added a noticeable delay.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2011/07/image3.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://availagility.co.uk/wp-content/uploads/2011/07/image_thumb2.png" alt="image" width="260" height="200" border="0" /></a></p>
<h4>Round 4</h4>
<p>In this round the team increased the limit to 3, but continued to process those 3 in batches. Lead time remains the same, but with improved throughput. The CFD still shows signs of the batching with the customer delay between batches, but is much steeper due to the improved throughput.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2011/07/image4.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://availagility.co.uk/wp-content/uploads/2011/07/image_thumb3.png" alt="image" width="260" height="200" border="0" /></a></p>
<h4>Round 5</h4>
<p>Finally, the team decided to remove the batches and solve the customer’s delay issue by re-organising themselves. This time the customer added 3 balls into the system, and then only added another when one came out. Lead time is slightly increased, probably due to the fact that there were always 3 balls in process which added some complexity. Throughput is improved again though, and the CFD is looking very smooth.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2011/07/image5.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://availagility.co.uk/wp-content/uploads/2011/07/image_thumb4.png" alt="image" width="260" height="200" border="0" /></a></p>
<p>As you can see, the team made significant improvements over the five rounds by making small changes informed by the data they had about their flow and capability.</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2011/07/19/running-the-ball-flow-game/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Starting An Agile Transition With Why</title>
		<link>http://availagility.co.uk/2011/05/01/starting-an-agile-transition-with-why/</link>
		<comments>http://availagility.co.uk/2011/05/01/starting-an-agile-transition-with-why/#comments</comments>
		<pubDate>Sun, 01 May 2011 02:21:21 +0000</pubDate>
		<dc:creator>Karl Scotland</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Capability]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[Golden Circle]]></category>
		<category><![CDATA[Simon Sinek]]></category>
		<category><![CDATA[Value]]></category>
		<category><![CDATA[Why]]></category>

		<guid isPermaLink="false">http://availagility.co.uk/?p=818</guid>
		<description><![CDATA[In March this year I gave this keynote at the Rally Agile Success Tour in London. This is a video of the talk, followed by a write-up. The slides can be downloaded from here. &#160; People don’t buy WHAT you do, they buy WHY you do it. Simon Sinek says that this is the fundamental <a href="http://availagility.co.uk/2011/05/01/starting-an-agile-transition-with-why/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>In March this year I gave this keynote at the Rally Agile Success Tour in London. This is a video of the talk, followed by a write-up. The slides can be downloaded from <a href="https://rallydev.box.net/shared/static/k3qskmu9u2.pdf" target="_blank">here</a>.</p>
<p><object id="flashObj" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="486" height="412" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0"><param name="movie" value="http://c.brightcove.com/services/viewer/federated_f9?isVid=1" /><param name="bgcolor" value="#FFFFFF" /><param name="flashVars" value="videoId=819943160001&amp;playerID=60849901001&amp;playerKey=AQ~~,AAAADiPOzpE~,VbI-xiOk-0eeV9Tl7jpZMGbYT7vqn_p0&amp;domain=embed&amp;dynamicStreaming=true" /><param name="base" value="http://admin.brightcove.com" /><param name="seamlesstabbing" value="false" /><param name="allowFullScreen" value="true" /><param name="swLiveConnect" value="true" /><param name="allowScriptAccess" value="always" /><embed type="application/x-shockwave-flash" width="486" height="412" src="http://c.brightcove.com/services/viewer/federated_f9?isVid=1" bgcolor="#FFFFFF" flashvars="videoId=819943160001&amp;playerID=60849901001&amp;playerKey=AQ~~,AAAADiPOzpE~,VbI-xiOk-0eeV9Tl7jpZMGbYT7vqn_p0&amp;domain=embed&amp;dynamicStreaming=true" base="http://admin.brightcove.com" name="flashObj" seamlesstabbing="false" allowfullscreen="true" swliveconnect="true" allowscriptaccess="always" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed></object></p>
<p>&nbsp;</p>
<p><em>People don’t buy WHAT you do, they buy WHY you do it</em>. Simon Sinek says that this is the fundamental reasoning behind what he refers to as the <a href="http://www.startwithwhy.com/" target="_blank">Golden Circle</a>, which he describes as a natural law occurring in many forms, in the same way as the Golden Ratio. He cites example of the Golden Circle including Martin Luther King, who said “I have a dream” not “I have a plan” and the Wright brothers, who succeeded first with manned flight despite having less money, education, connections and publicity as competitors. The Golden Circle suggests that we should start with WHY, before determining HOW, and finally WHAT, rather than starting with WHAT.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2011/05/image.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://availagility.co.uk/wp-content/uploads/2011/05/image_thumb.png" border="0" alt="image" width="260" height="210" /></a></p>
<p>Starting an Agile transformation with WHY involves knowing why you want to use an Agile approach, and the goals you are aiming for, rather than becoming Agile just because it seems popular or a good idea. Therefore, begin by defining your WHY, deciding where you want to go and creating a vision of the future that you hope Agile will help create. Then Agile will be a means to an end, rather than an end in itself. Your WHY is your destination, and Agile can help with HOW you get there, and guide WHAT you do to get there.</p>
<h3>WHY</h3>
<p>A WHY is what motivates people to take action. It is a purpose, a cause or a belief. It is a reason to care and want to get out of bed in the morning. A WHY is <em>not</em> to make money. Money is a necessary precondition for business, in the same way that breathing is a necessary precondition to living although our purpose in life is not to breathe. Making money may also be a desirable result, but it is not a WHY.</p>
<p>WHY is the equivalent of the System Thinking premise of purpose. Complex Systems have a purpose which influences behaviour, the product of the system’s elements and interactions. <a title="Dave Snowden" href="http://www.cognitive-edge.com/blogs/dave/" target="_blank">Dave Snowden</a> uses the Magic Roundabout in Swindon as an example of a complex system whose purpose is to enable a high throughput of cars with a low accident rate. Reports show that it achieves this purpose, despite also being generally regarded as one of the scariest roundabouts in existence. By starting with WHY, the roundabouts designers created an effective, safe and resilient WHAT. Starting with WHAT leads to the less scary but more common design.</p>
<p><a href="http://www.flickr.com/photos/zapthedingbat/1799254671/" target="_blank"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://availagility.co.uk/wp-content/uploads/2011/05/image1.png" border="0" alt="image" width="260" height="180" /></a></p>
<p>WHY is always going to be context specific, but one simple generalisation would be that it is to satisfy customer demand. Demand analysis can help understanding of what work adds value, and helps us towards our WHY, and what work doesn’t add value. <a title="John Seddon" href="http://www.systemsthinking.co.uk/home.asp" target="_blank">John Seddon</a> describes failure demand is work that results from not doing something right, or not doing something at all. That is not to suggest that we should strive for perfection and be right first time with up front analysis and design. Value can still be added in small, incremental and iterative steps. Think of it like a ticket machine at your local deli. When a customer first takes a ticket then the request can be considered value demand. Subsequent tickets for the exactly same request can be considered failure demand. However, further tickets could be for similar, related requests because the customer comes back for more of the same, as opposed to exactly the same.</p>
<p>Simon Sinek argues that our brain is wired to start with WHY. Our first brain, the Limbic System is what deals with emotions, unconscious thought, instinct, and governs our behaviour. Our thinking brain, the Cerebral Cortex, is what deals with rationality, conscious thought, intellect, and governs our language. Thus, our natural behaviour is to make decisions emotionally, unconsciously, and instinctively. We then justify those decisions rationally, consciously and intellectually with facts. I have just bought a new car (well, new for me) and spent a not insignificant amount of money in a totally impulsive purchase. I had no intention of buying a car when I entered the garage, but fell in love with the car and ended up talking myself into deciding it was an opportunity I would regret if I missed it. Similarly, both times I have bought a house, which is both an important decision and major investment, the decision was because the house “felt right”. The size, condition, location, price etc. came second.</p>
<h3>How</h3>
<p>HOW describes the way that a WHY will be realised. It can be thought of as a set of guiding principles that help map a WHY to a WHAT. A HOW can also be a specific outcome that is to be accomplished without detailing the activity and output required to complete it. Additionally, HOWs are often ways of differentiating approaches and describing them in comparison to competitors.</p>
<p>One way of describing HOW an Agile approach enables a WHY is with the metaphor of a <a title="My Recipe For Success" href="http://availagility.co.uk/2008/09/18/my-recipe-for-success/" target="_blank">Recipe for Success</a>. David Anderson popularised this idea with the following recipe:</p>
<ul>
<li>Focus on Quality</li>
<li>Reduce WIP</li>
<li>Balance Capacity against Demand</li>
<li>Prioritise</li>
</ul>
<p>Similarly, my colleague <a title="Ken Clyne" href="http://o-deck.blogspot.com/" target="_blank">Ken Clyne</a> at Rally talks about the fundamentals of Agile as:</p>
<ul>
<li>Focus on customer value</li>
<li>Deliver early and often</li>
<li>Reduce batch size</li>
<li>Pull quality forward</li>
<li>Inspect and adapt</li>
<li>Create a collaborative culture</li>
</ul>
<p>These recipes are a guide to HOW to achieve Agility in order to achieve a WHY. However, they are not specific enough to describe WHAT to do.</p>
<p>A common explanation for WHY organisations want to become Agile is “Better, Faster, Cheaper”. These are at best HOWs, and not WHYs. In fact, I would suggest that cheaper isn’t even a HOW. To paraphrase John Seddon, focussing on cost will usually result in cost going up.</p>
<p>Another approach to describing HOW to become Agile is through a transformation strategy or roadmap. Options for which path to take include beginning slowly with a single, fully Agile pilot project from which to learn, diving in and moving all project to an Agile approach in one go for clarity of message, only beginning new projects or initiatives as Agile to avoid risking current work, or incrementally solve specific challenges with certain practices for a more evolutionary transition.</p>
<p>Working Agreements can also be considered as a description of HOW. Explicit policies for how work is done can be created by recognising how value is created, how that creation is visualised and made transparent, how the work in process is limited, what cadences are used for synchronisation and co-ordination, and how continuous learning and improvement happens.</p>
<p>My personal take on HOW to be Agile is in terms of <em>flow</em>,<em> value</em>, <em>capability</em>. Achieving flow involves eliminating delays and focussing on reducing the lead time from concept to consumption. Delivering value involves making sure that the right things are being worked on and the right problems are being solved rather than “doing the wrong things righter”. Building capability involves developing people and their skills working as teams aligned to the organisation strategy.</p>
<h3>What</h3>
<p>WHAT is done proves that a WHY really is believed. It consists of tangible ways with which a WHY is realised and provides clear data points that actions are according to a WHY.</p>
<p>Agile practices are WHAT teams do in order to enable them to realise their WHY. Further, practices can be associated with HOW agility is demonstrated, in terms of flow, value and capability. The following is one interpretation of some practices. I’m sure there are many others.</p>
<h4>Flow</h4>
<p>User Stories are a technique to break down functionality into small pieces of demonstrable functionality which can create single piece flow. Time-boxing and kanban-style limits are both ways of managing WIP and enabling a focus on finishing rather than starting to keep work flowing. Visualisation approaches help teams see all the work so that they can focus their energy in the right places to keep flow. Strong teamwork and collaboration minimises the need for queues and batches which cause delays. Test Driven Development, with its emphasis on automated unit testing and refactoring, keeps designs clean and quality high so that new work can progress quickly. Continuous integration and deployment help works flow right through to the customer without lengthy release processes causing delays.</p>
<h4>Value</h4>
<p>Product Backlogs, User Stories, Minimal Marketable Features and other value-focussed forms of requirements are intended to help teams ensure they are delivering maximum benefit. Similarly, the On-Site Customer, or Product Owner roles are intended to maximise collaboration with people who are determining and receiving the value. Iteration demos and reviews are a means of gaining early and continuous feedback and validation that the product is delivering the intended value. Frequent and continuous delivery means that the value can be realised as soon as possible. Acceptance Test Driven Development and Behaviour Driven Development provide techniques for delivering value through quality and clarity of functionality.</p>
<h4>Capability</h4>
<p>Dedicated, cross-functional, value focussed teams mean that learning and knowledge is kept, shared and built upon to develop capability. Various collaborative practices, such as Pair Programming, Collective Code Ownership, Group Design, Team Estimation and Planning Poker similarly share knowledge around a team. Regular demos and reviews provide a cadence with which feedback and learning can build product capability, while regular retrospectives provide a cadence with which feedback and learning can build team capability. Visualisation of work, and the way value is created, gives visibility of bottlenecks and constraints and other issues such that they can be resolved to improve capability. Slack ensures that teams have spare capacity to both address these issues, and spend time on other forms of capability development which will improve future productivity and performance.</p>
<h3>Conclusion</h3>
<p>When embarking on a change initiative using Agile approaches, always “Start with WHY”. Use the WHY as a True North with which to guide the Agile transformation and steer decisions on which Agile practices to use for what reasons. Understand HOW agility is going to help progress towards the WHY, and WHAT Agile practices will provide the means to get there.</p>
<p>A clear WHY, that people are motivated by, will make it more likely that they will want to use Agile. However, Thomas Edison said that “vision without execution is hallucination”, so don’t stop with WHY, but make sure that the Agile HOW is also well known and the Agile practices that form the WHAT are clearly understood to ensure that the goal is successfully reached.</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2011/05/01/starting-an-agile-transition-with-why/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>People and Process: Two Sides of the Same Coin</title>
		<link>http://availagility.co.uk/2010/12/18/people-and-process-two-sides-of-the-same-coin/</link>
		<comments>http://availagility.co.uk/2010/12/18/people-and-process-two-sides-of-the-same-coin/#comments</comments>
		<pubDate>Sat, 18 Dec 2010 16:29:36 +0000</pubDate>
		<dc:creator>Karl Scotland</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[Capability]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[People]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Value]]></category>

		<guid isPermaLink="false">http://availagility.co.uk/?p=756</guid>
		<description><![CDATA[I wrote this short article for JAX Magazine, but it seems JAX doesn&#8217;t want to make it easy for people to access the content (you have to register to get a download link which only works once). So I&#8217;ve decided to post the article here as well. Its an evolution of some of my thinking <a href="http://availagility.co.uk/2010/12/18/people-and-process-two-sides-of-the-same-coin/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I wrote this short article for <a href="http://jaxenter.com/jaxmag/JAXmag-2010-04" target="_blank">JAX Magazine</a>, but it seems JAX doesn&#8217;t want to make it easy for people to access the content (you have to register to get a download link which only works once). So I&#8217;ve decided to post the article here as well. Its an evolution of some of my thinking that goes back to the <a href="http://availagility.co.uk/2009/10/21/a-new-lean-and-agile-picture/" target="_self">new lean and agile picture</a> I posted.</p>
<p>One of the value statements from the Agile Manifesto is “individuals and interactions over processes and tools”. This is often abbreviated to “people over process” with a common interpretation being that the human aspects of software development are the primary areas we should be focussing on for improvement. However, this is counter to the ideas of W. Edwards Deming, who said “a bad process will beat a good person every time”. Similarly, Don Reinertsen has said he prefers “people times process” because if either is zero, then the product is zero.</p>
<p>People and process are two sides of the same coin, both equally important in understanding how to improve capability to deliver valuable software.</p>
<h4><strong>People</strong></h4>
<p>This side of the coin is about taking a group of people, who form a team in order to develop a capability. Peter Senge wrote in ‘The Fifth Discipline’ that “the fundamental learning units in an organisation are working teams (people who need one another to produce an outcome)”. Creating teams in this way allows people to iteratively learn about the way that they work so that they can incrementally develop their capability in order to improve the outcomes that they produce.</p>
<p>This is the basis of all the popular Agile methods such as Scrum or Extreme Programming, which all recommend creating cross-functional and co-located teams, collaborating with high bandwidth communication.  Thus, the people side suggests that forming outcome-focussed teams, rather than activity-focussed silos, will result in an improvement.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/12/people.png"><img class="size-medium wp-image-757 alignnone" title="people" src="http://availagility.co.uk/wp-content/uploads/2010/12/people-300x118.png" alt="" width="300" height="118" /></a></p>
<h4><img src="file:///C:/Users/KSCOTL%7E1/AppData/Local/Temp/moz-screenshot.png" alt="" /><strong>Process</strong></h4>
<p>This side of the coin is about taking a vision, which is developed into a product in order to deliver value. Mark Denne and Jane Cleland-Huang wrote in their book ‘Software by Numbers’ about “an ROI-informed approach to software development in which software is developed and delivered in carefully prioritized chunks of customer valued functionality”. Taking this approach means that a product will maximise its value through being iteratively refined piece by piece in order to incrementally deliver functionality.</p>
<p>This is the basis of Lean approaches such as Kanban, which focuses on creating an explicit understanding of the process in order to learn how to deliver valuable pieces of software more effectively by modelling and visualising the work and associated policies. Concepts such as Minimal Marketable Features and User Stories help break down the work into smaller pieces. Thus, the process side suggests that continuously delivering small pieces of functionality with minimal delays, rather than waiting to release large batches of features, will result in an improvement.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/12/process.png"><img class="alignnone size-medium wp-image-759" title="process" src="http://availagility.co.uk/wp-content/uploads/2010/12/process-300x121.png" alt="" width="300" height="121" /></a></p>
<h4>People and Process</h4>
<p>It is when we put these two sides together that we can achieve significant improvement. The iterative loops of learning about both the team and the product link into each other enable product value to rapidly flow through capability teams. This is the development nirvana we are trying to reach.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/12/people-and-process.png"><img class="alignnone size-medium wp-image-760" title="people and process" src="http://availagility.co.uk/wp-content/uploads/2010/12/people-and-process-300x222.png" alt="" width="300" height="222" /></a></p>
<p>This model also gives some insight into why the “Waterfall” model, described by Winston Royce in his 1970 paper ‘Managing the Development of Large Software Systems’, has proved to be unsuccessful. It is not because the simple work-flow described was inherently wrong, but because the work-flow has typically been implemented with specialist silos rather than capability teams, and with large rather than small batches.  It is both these two sides of the coin that should be the focus of learning and improvement in order to help us on our journey to the nirvana of product development flow.</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2010/12/18/people-and-process-two-sides-of-the-same-coin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Ball Flow Game</title>
		<link>http://availagility.co.uk/2010/11/17/the-ball-flow-game/</link>
		<comments>http://availagility.co.uk/2010/11/17/the-ball-flow-game/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 10:22:37 +0000</pubDate>
		<dc:creator>Karl Scotland</dc:creator>
				<category><![CDATA[Lean]]></category>
		<category><![CDATA[Capability]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Scrum Gathering]]></category>

		<guid isPermaLink="false">http://availagility.co.uk/?p=743</guid>
		<description><![CDATA[I was invited to the Scrum Gathering in Amsterdam this week to give a Deep Dive on Kanban. My Kanban Exploration slides can be downloaded from slideshare. Inspired by an email discussion with Jean Tabaka and Eric Willeke, to introduce the session, and to try and reinforce the concepts of Flow, Value and Capability, I <a href="http://availagility.co.uk/2010/11/17/the-ball-flow-game/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I was invited to the Scrum Gathering in Amsterdam this week to give a Deep Dive on Kanban. My Kanban Exploration slides can be downloaded from <a href="http://www.slideshare.net/kjscotland/kanban-exploration" target="_blank">slideshare</a>. Inspired by an email discussion with Jean Tabaka and Eric Willeke, to introduce the session, and to try and reinforce the concepts of Flow, Value and Capability, I tried a variation of the Ball Point Game that is commonly used in Scrum training.</p>
<p>Here’s a couple of links (<a href="http://kanemar.com/2008/04/07/scrum-trainers-gathering-24-the-ball-point-game/" target="_blank">Kane Mar</a>) (<a href="http://dpwhelan.com/blog/uncategorized/learning-scrum-through-the-ball-point-game/" target="_blank">Declan Whelan</a>) if you’re not familiar with the game. In a nutshell it involves a group working as a team to pass balls between themselves, constrained by some rules. The idea is to pass as many balls in a 2 minute time box. The team has to self organise and inspect and adapt in order to improve its velocity (throughput of balls).</p>
<p>For my variation I wanted to remove the time-box to emphasise flow more, and demonstrate a different way of understanding the capability of a system. In the game, the team are designing a system to meet the purpose of flowing balls quickly between themselves.</p>
<p>The changes I made were to ask the team to pass 20 balls as quickly as possible. I put a unique number (1 &#8211; 20) on each ball in case it was useful and also asked the team to time how long it took for each ball to pass through the system.  I took the data that was captured and entered it into a spreadsheet to create a control chart. We ran two rounds of the game twice, with the respective charts below.</p>
<p><em>Round 1</em></p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/11/image.png"><img style="display: inline; border: 0px;" title="image" src="http://availagility.co.uk/wp-content/uploads/2010/11/image_thumb.png" border="0" alt="image" width="260" height="152" /></a></p>
<p>In Round 1, the team didn’t capture all the data, and some problems were had towards the end, but that the average time for each ball was 13 seconds. The system could also be said to be ‘in control’ as all the data points were with the control limits  which were calculated as AVERAGE +/- (3 * STDEV). The last measured ball was completed at 3 minutes and 35 seconds.</p>
<p><em>Round 2</em></p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/11/image1.png"><img style="display: inline; border: 0px;" title="image" src="http://availagility.co.uk/wp-content/uploads/2010/11/image_thumb1.png" border="0" alt="image" width="260" height="152" /></a></p>
<p>In round 2, the team improved their data capture process and overall flow. The average time per ball dropped to 12 seconds and the variability also reduced. The Upper Control Limit dropped from 01:10 to 00:18. The last measured ball was completed at 2 minutes and 22 seconds.</p>
<p>What this demonstrates is that even with variability (which we don&#8217;t want to eliminate completely in software product development), by understanding the capability of the system over time, we are able to reliably communicate what might and might not be possible. For example, using the round 2 data, there is a 50% chance we’ll complete a ball in 12 seconds and a 99% chance we’ll complete a ball in 18 seconds.</p>
<p>We could also calculate and chart the throughput of balls completed over a cadence of 30 seconds to similarly understand the capability from that perspective also. For Round 2 those throughputs would have been 3, 4, 4, 5, 4.</p>
<p>There are a few areas I’d change next time I try this.</p>
<ol>
<li>The measurement took a long time and was clearly the significant bottleneck. I made measurement part of the system to add some additional complexity, but in hindsight it was probably too much. Most of the improvements were in measuring the system rather than the performance of the system.</li>
<li>I allowed more time than I probably should have for improvement discussions. With the time-boxed version its easier to start the clock for a round and that usually that kicks the team into action. Similarly, when the measurement fell apart we stopped and restarted a couple of times. I wouldn’t do that next time, although by removing measurement from the system, it might be less of a problem.</li>
<li>It took time to enter the data into the spreadsheet. I need to find a better way! The spreadsheet can be found <a href="http://availagility.co.uk/wp-content/uploads/2010/11/Ball-Game-SPC.xlsx">here</a>. It’s very simplistic. Please let me know if you use it and improve it!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2010/11/17/the-ball-flow-game/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>A Model for Creating a Kanban System</title>
		<link>http://availagility.co.uk/2010/10/11/a-model-for-creating-a-kanban-system/</link>
		<comments>http://availagility.co.uk/2010/10/11/a-model-for-creating-a-kanban-system/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 13:52:35 +0000</pubDate>
		<dc:creator>Karl Scotland</dc:creator>
				<category><![CDATA[Lean]]></category>
		<category><![CDATA[Cadence]]></category>
		<category><![CDATA[Capability]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Systems Thinking]]></category>
		<category><![CDATA[Value]]></category>
		<category><![CDATA[Visualisation]]></category>
		<category><![CDATA[WIP]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://availagility.co.uk/?p=728</guid>
		<description><![CDATA[This post is a high level overview of the model I use when I think about Kanban Systems. As the saying goes, “all models are wrong, some are useful”. This is what I currently find useful based on working with teams and organisations in recent years. At the heart of the model is Systems Thinking. <a href="http://availagility.co.uk/2010/10/11/a-model-for-creating-a-kanban-system/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>This post is a high level overview of the model I use when I think about Kanban Systems. As the saying goes, “all models are wrong, some are useful”. This is what I currently find useful based on working with teams and organisations in recent years.</p>
<p><a href="http://availagility.co.uk/wp-content/uploads/2010/10/model.png"><img class="size-medium wp-image-733 alignnone" title="model" src="http://availagility.co.uk/wp-content/uploads/2010/10/model-300x218.png" alt="" width="300" height="218" /></a></p>
<p>At the heart of the model is <strong>Systems Thinking</strong>. Without looking at what we do as part of a system, with a purpose to be met by outcomes, we risk focusing too heavily on the activities and practices we perform. Having a clear understanding of a systems purpose, from a customers perspective, helps us to design a method which serves that purpose.</p>
<p>The model then has three foundational building blocks which underpin an effective process; <strong>Flow</strong>, <strong>Value</strong> and <strong>Capability</strong>.</p>
<ul>
<li>Flow – Keeping the work progressing and avoiding delays by focusing more on the movement of the work, and less on the movement of the worker.</li>
<li>Value – Ensuring that the work serves the system’s purpose, satisfying customers and stakeholders and resulting in successful organisations.</li>
<li>Capability – Creating knowledge of how well the work serves the system’s purpose in order to maintain and improve the system’s effectiveness over time.</li>
</ul>
<p>In other words, we want to <em>flow</em> <em>value</em> through <em>capability</em> teams.</p>
<p>Finally, the model has five aspects, from which we can look at a process to help us understand and improve it; <strong>Workflow</strong>, <strong>Visualisation</strong>, <strong>Work in Process</strong>, <strong>Cadence</strong> and <strong>Learning</strong>.</p>
<ul>
<li>Workflow – how does the work progress through the system? Understanding workflow helps improve how the work moves from concept to consumption.</li>
<li>Visualisation – where is the work in the system? Understanding visualisation helps create a common mental model of the current state of the work.</li>
<li>Work in Process – what work is in the system? Understanding Work In Process helps identify bottlenecks and impediments to improving flow.</li>
<li>Cadence – when does the work in the system happen? Understanding Cadence helps with co-coordinating the work and improving system reliability.</li>
<li>Learning – how does the system continuously improve? Understanding further models with which to view and explore the system ensures the system gets better at serving its purpose.</li>
</ul>
<p>While this is only a model, and contains no specific practices, I believe that it can be useful in describing why some techniques work in some circumstances, and provide context for applying the right tool to the right job.</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2010/10/11/a-model-for-creating-a-kanban-system/feed/</wfw:commentRss>
		<slash:comments>4</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 Scotland</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>Evolving a Workflow</title>
		<link>http://availagility.co.uk/2009/10/09/evolving-a-workflow/</link>
		<comments>http://availagility.co.uk/2009/10/09/evolving-a-workflow/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 13:06:21 +0000</pubDate>
		<dc:creator>Karl Scotland</dc:creator>
				<category><![CDATA[Lean]]></category>
		<category><![CDATA[CFD]]></category>
		<category><![CDATA[Cumulative]]></category>
		<category><![CDATA[Diagram]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[Schedule]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://availagility.wordpress.com/?p=405</guid>
		<description><![CDATA[Mary Poppendieck gave a talk on Workflow is Orthogonal to Schedule at Agile2009, during which she very neatly transitioned a schedule-focused view of work, into a flow-focussed view. At least I thought it was neat, so I’m going to try and reproduce the basic elements here, using my favourite agile workflow. 4 Week Time-box Schedule <a href="http://availagility.co.uk/2009/10/09/evolving-a-workflow/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Mary Poppendieck gave a talk on <a href="http://agile2009.agilealliance.org/node/532" target="_blank">Workflow is Orthogonal to Schedule</a> at Agile2009, during which she very neatly transitioned a schedule-focused view of work, into a flow-focussed view. At least I thought it was neat, so I’m going to try and reproduce the basic elements here, using my favourite <a href="http://availagility.wordpress.com/2009/02/25/an-agile-workflow/" target="_self">agile workflow</a>.</p>
<h3>4 Week Time-box Schedule</h3>
<p><a href="http://availagility.files.wordpress.com/2009/10/workflow1.png"><img style="display:inline;border-width:0;" title="workflow1" src="http://availagility.files.wordpress.com/2009/10/workflow1_thumb.png" border="0" alt="workflow1" width="644" height="351" /></a></p>
<p>Here we have a schedule showing an average of 4 features being delivered every 4 week time-box. Each time-box is preceded by 2 weeks understanding the next features, and a release is made every 8 weeks. Its not a bad schedule. There’s a regular release every two months which is better than a lot of projects, but it could be better.</p>
<h3>2 Week Time-box Schedule</h3>
<p><a href="http://availagility.files.wordpress.com/2009/10/workflow2.png"><img style="display:inline;border-width:0;" title="workflow2" src="http://availagility.files.wordpress.com/2009/10/workflow2_thumb.png" border="0" alt="workflow2" width="644" height="368" /></a></p>
<p>Now we reduced the time-box to 2 weeks, meaning that we do an average of 2 features in each time-box. This means that the preparation now takes only 1 week. Additionally, we are now releasing at the end of every time-box, which is also reduced to 1 week. Much better.</p>
<h3>One Piece Flow</h3>
<p><a href="http://availagility.files.wordpress.com/2009/10/workflow3.png"><img style="display:inline;border-width:0;" title="workflow3" src="http://availagility.files.wordpress.com/2009/10/workflow3_thumb.png" border="0" alt="workflow3" width="644" height="376" /></a></p>
<p>If we continue the evolution we end up working on a single feature at a time and releasing it immediately. Each feature only takes a week to build, and preparation and release times are now down to 1/2 a week. At this point, we don’t really have a schedule anymore, but a natural workflow.</p>
<h3>Cumulative Flow Diagrams</h3>
<p>One of the things that strikes me about the diagrams above, is that each step in the evolution transforms them more into a smooth Cumulative Flow Diagram. In fact, in the same presentation, Mary showed the following picture taken from <a href="http://www.amazon.co.uk/Building-Empire-State-Carol-Willis/dp/0393732312/ref=sr_1_15?ie=UTF8&amp;s=books&amp;qid=1213359329&amp;sr=8-15" target="_blank">Building the Empire State</a>. This is the building schedule from from around 1930, and itself looks remarkably like a CFD. Another example of how we are not inventing anything new, but can learn from other industries and successes.</p>
<p><a href="http://availagility.files.wordpress.com/2009/10/empirestate.png"><img style="display:inline;border-width:0;" title="empirestate" src="http://availagility.files.wordpress.com/2009/10/empirestate_thumb.png" border="0" alt="empirestate" width="279" height="484" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2009/10/09/evolving-a-workflow/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Fifth Primary Practice of Kanban</title>
		<link>http://availagility.co.uk/2009/06/30/the-fifth-primary-practice-of-kanban/</link>
		<comments>http://availagility.co.uk/2009/06/30/the-fifth-primary-practice-of-kanban/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 20:19:03 +0000</pubDate>
		<dc:creator>Karl Scotland</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Continuous Improvement]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Practices]]></category>
		<category><![CDATA[Self Organisation]]></category>

		<guid isPermaLink="false">http://availagility.wordpress.com/?p=324</guid>
		<description><![CDATA[I recently wrote what I considered to be the four primary practices of a Kanban System for Software Development: Map the Value Stream Visualise the Value Stream Limit the Work in Progress Establish a Cadence During subsequent discussions on the aspect of Continuous Improvement in a Kanban System, I decided that there was a missing <a href="http://availagility.co.uk/2009/06/30/the-fifth-primary-practice-of-kanban/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I recently wrote what I considered to be the <a href="http://availagility.wordpress.com/2009/06/15/how-is-kanban-different-from-other-approaches/">four primary practices</a> of a Kanban System for Software Development:</p>
<ol>
<li>Map the Value Stream</li>
<li>Visualise the Value Stream</li>
<li>Limit the Work in Progress</li>
<li>Establish a Cadence</li>
</ol>
<p>During subsequent discussions on the aspect of Continuous Improvement in a Kanban System, I decided that there was a missing fifth primary practice:</p>
<ol>
<li>Reduce the Kanban Tokens</li>
</ol>
<p>I originally named this practice “Eliminate Kanban”, but was persuaded that this was probably overly sensational, and as a result potentially confusing or misleading. Its intent is that once a Kanban System is in place, the team should be constantly looking to improve it by creating an environment where the work flows naturally. There is a quote that I believe comes from <a href="http://www.amazon.com/Learning-See-Stream-Mapping-Eliminate/dp/0966784308" target="_blank">Rother and Shook</a> which says “flow where you can, pull where you must”. By striving to reduce the number of kanban tokens in the system, a team will move towards an environment where they are more self organising and the work can flow. This can be achieved by either lowering the WIP limits or by collapsing the number of distinct stages.</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2009/06/30/the-fifth-primary-practice-of-kanban/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Isn&#039;t Kanban Just a Task-board?</title>
		<link>http://availagility.co.uk/2009/05/26/isnt-kanban-just-a-task-board/</link>
		<comments>http://availagility.co.uk/2009/05/26/isnt-kanban-just-a-task-board/#comments</comments>
		<pubDate>Tue, 26 May 2009 20:46:30 +0000</pubDate>
		<dc:creator>Karl Scotland</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[FAQ]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Task-board]]></category>
		<category><![CDATA[Value]]></category>
		<category><![CDATA[WIP]]></category>

		<guid isPermaLink="false">http://availagility.wordpress.com/?p=309</guid>
		<description><![CDATA[While the word Kanban comes from the Japanese for “visual card”, the term Kanban as used by the Kanban Software Development community, represents much more than a standard task-board, or team-board. Additionally, the Kanban Software Development community have not tried to replicate the mechanism of the Toyota Production System kanban tool exactly, but have taken <a href="http://availagility.co.uk/2009/05/26/isnt-kanban-just-a-task-board/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>While the word Kanban comes from the Japanese for “visual card”, the term Kanban as used by the Kanban Software Development community, represents much more than a standard task-board, or team-board. Additionally, the Kanban Software Development community have not tried to replicate the mechanism of the Toyota Production System kanban tool exactly, but have taken the underlying principles in order to achieve similar effects in software development. So what is a Kanban System for Software Development?</p>
<p>A Kanban System visualises some unit of value. This unit of value could be a User Story, Minimal Marketable Feature, Plain Old Requirement or something else. This is different from a task-board, which generally focuses on visualising the current tasks.</p>
<p>A Kanban System manages the flow of these units of value, through the use of Work In Process limits. This is different from a task-board, which generally has no WIP limits, but aims to have all tasks complete by the end of a time-box.</p>
<p>A Kanban System deals with these units of value through the whole system, from when they enter a teams control, until when they leave it. This is different from a task-board, which generally only deals with the work in the build/test stage, but shows no information about what work is being prepared, or what work is ready for release.</p>
<p>By putting these 3 properties of a Kanban System together, we can describe a Kanban System for Software Development as one which allows value to flow through the whole system using WIP limits to create a sustainable pipeline of work. Further, the WIP Limits provide a mechanism for the Kanban System to demonstrate when there is capacity for new work to be added, thereby creating a Pull System. Finally, the WIP Limits can be adjusted and their effect measured as the Kanban System is continuously improved.</p>
<p>A task-board simply shows what development tasks have been predicted to be done in the current time-box, with their status.</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2009/05/26/isnt-kanban-just-a-task-board/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Anxiety or Boredom Driven Process Improvement?</title>
		<link>http://availagility.co.uk/2009/05/13/anxiety-or-boredom-driven-process-improvement/</link>
		<comments>http://availagility.co.uk/2009/05/13/anxiety-or-boredom-driven-process-improvement/#comments</comments>
		<pubDate>Wed, 13 May 2009 20:28:42 +0000</pubDate>
		<dc:creator>Karl Scotland</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[Anxiety]]></category>
		<category><![CDATA[Boredom]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Time-box]]></category>

		<guid isPermaLink="false">http://availagility.wordpress.com/?p=307</guid>
		<description><![CDATA[At the SPA conference recently, Joseph Pelrine talked about “Flow: The Psychology of Optimal Experience” by Mihalyi Czikszentmihalyi. The ideas behind this struck a chord with me as a way of describing something I originally said when discussing whether kanban is only suitable for mature teams. That is that rather than focusing on being Agile <a href="http://availagility.co.uk/2009/05/13/anxiety-or-boredom-driven-process-improvement/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>At the SPA conference recently, Joseph Pelrine talked about “<a href="http://www.amazon.co.uk/Flow-Psychology-Experience-Mihaly-Csikszentmihalyi/dp/0060920432/ref=sr_1_3?ie=UTF8&amp;s=books&amp;qid=1242245977&amp;sr=1-3" target="_blank">Flow: The Psychology of Optimal Experience</a>” by Mihalyi Czikszentmihalyi. The ideas behind this struck a chord with me as a way of describing something I originally said when discussing <a href="http://availagility.wordpress.com/2008/11/05/is-kanban-only-suitable-for-mature-teams/">whether kanban is only suitable for mature teams</a>. That is that rather than focusing on <span style="text-decoration: underline;">being Agile</span> which may (and should) lead to <span style="text-decoration: underline;">being successful</span>, Kanban focuses on <span style="text-decoration: underline;">becoming successful</span>, which may lead to <span style="text-decoration: underline;">being Agile</span>.</p>
<p>Mihalyi Czikszentmihalyi describes the state of <em>Flow</em> as having a balance between ability, and the skills required for a piece of work. If some work requires more skill than a person has ability, then they are in a state of <em>Anxiety</em>. If a person has more ability than the skills required for a some work then they are in a state of <em>Boredom</em>. Applying this to Process Improvement, we want to move teams up the Flow Zone so that skills required and ability increase equally.</p>
<p><a href="http://availagility.files.wordpress.com/2009/05/flow1.jpg"><img style="display:inline;border-width:0;" title="Flow1" src="http://availagility.files.wordpress.com/2009/05/flow1_thumb.jpg" border="0" alt="Flow1" width="244" height="217" /></a></p>
<p>Increasing Skills and Ability equally at the same time is unlikely, so in practice there are two routes to move up the Flow Zone. The first is what I am dubbing “Anxiety Driven Process Improvement”. Move a team into a state of Anxiety such that they need to improve their skills to cope. I assert that this is the approach that makes time-box based method so effective. Time-boxing forces teams into a place where they need to improve their skills in order to deliver working software every few weeks. Many teams push back, and a common approach to this is to make the time-box shorter to emphasis the point! The other route is to do “Boredom Driven Process Improvement”.  Highlight to the teams where they need to improve their ability, and allow and support them in doing so such that they are able to taken on work requiring more skill. I further assert that this is the approach that kanban systems take. Visualising queues and work in progress in order expose the bottleneck where the ability needs improving.</p>
<p><a href="http://availagility.files.wordpress.com/2009/05/flow2.jpg"><img style="display:inline;border-width:0;" title="Flow2" src="http://availagility.files.wordpress.com/2009/05/flow2_thumb.jpg" border="0" alt="Flow2" width="244" height="218" /></a></p>
<p>This might sound like I am suggesting the time-boxing and kanban are mutually exclusive approaches. That isn&#8217;t the case – I have already <a href="http://availagility.wordpress.com/2009/05/09/kanban-and-time-boxes/" target="_blank">said that</a>! Instead, I just find it an interesting angle to look at a different dynamic between two approaches.</p>
]]></content:encoded>
			<wfw:commentRss>http://availagility.co.uk/2009/05/13/anxiety-or-boredom-driven-process-improvement/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

