<?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>Tea-Driven Development &#187; scrum</title>
	<atom:link href="http://blog.mattwynne.net/tag/scrum/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mattwynne.net</link>
	<description>Matt Wynne taking it one tea at a time</description>
	<lastBuildDate>Tue, 10 Jan 2012 20:07:10 +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>The Real Point of Planning Poker</title>
		<link>http://blog.mattwynne.net/2011/03/30/the-real-point-of-planning-poker/</link>
		<comments>http://blog.mattwynne.net/2011/03/30/the-real-point-of-planning-poker/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 12:42:32 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Agile / Lean Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[Estimation]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://blog.mattwynne.net/2011/03/30/the-real-point-of-planning-poker/</guid>
		<description><![CDATA[It&#8217;s funny, you&#8217;d think, from reading about planning poker that the purpose of this exercise is to come up with accurate estimates. I think that&#8217;s missing the point. The estimates are a useful by-product, if your organisation values such things, but actually the most important benefit you get from planning poker is the conversation. As [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s funny, you&#8217;d think, from reading about <a href="http://www.planningpoker.com/">planning poker</a> that the purpose of this exercise is to come up with accurate estimates. I think that&#8217;s missing the point.</p>

<p>The estimates are a useful by-product, if your organisation values such things, but actually the most important benefit you get from planning poker is <em>the conversation</em>. As part of the exercise, you explore the story as a team, and uncover any misunderstandings about the scope and depth of the work to be done to satisfy the story. The result of this exploration is a <em>shared understanding</em> of what the story means.</p>

<p>There are other ways to have this same conversation. My favoured practice is to hold a <em>specification workshop</em> where the team explores the scenarios that a user could encounter when using this new functionality. These scenarios are a much more useful product, to me, than an estimate. They give me a starting point for writing my automated acceptance tests, and they also give us all a concrete reference point as to the scope of the story. If my organisation needs estimates to be happy, we can count the number of scenarios to give a realistic feel for the relative size of the story.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mattwynne.net/2011/03/30/the-real-point-of-planning-poker/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Hi-Fidelity Project Management</title>
		<link>http://blog.mattwynne.net/2010/07/11/hi-fidelity-project-management/</link>
		<comments>http://blog.mattwynne.net/2010/07/11/hi-fidelity-project-management/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 13:19:05 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Agile / Lean Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[Kaban]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[Systems Thinking]]></category>

		<guid isPermaLink="false">http://blog.mattwynne.net/2010/07/11/hi-fidelity-project-management/</guid>
		<description><![CDATA[If the only metric you use for measuring and forecasting your team&#8217;s progress is their iteration velocity, you&#8217;re missing out on a great deal of richer information that, for just a few extra minutes per day, you could easily be collecting. This is information that the team can use during the iteration to help spot [...]]]></description>
			<content:encoded><![CDATA[<p>If the only metric you use for measuring and forecasting your team&#8217;s progress is their iteration velocity, you&#8217;re missing out on a great deal of richer information that, for just a few extra minutes per day, you could easily be collecting. This is information that the team can use <em>during the iteration</em> to help spot and fix problems that are holding them back.</p>

<p>If you&#8217;re using scrum, you&#8217;re probably familiar with using a <em>Release Burndown</em> chart to track the team&#8217;s progress, iteration by iteration, towards a bigger goal:</p>

<p><a href="http://blog.mattwynne.net/wp-content/uploads/2010/07/Screen-shot-2010-07-11-at-11.11.171.png"><img class="aligncenter size-medium wp-image-219" title="Release burn-down" src="http://blog.mattwynne.net/wp-content/uploads/2010/07/Screen-shot-2010-07-11-at-11.11.171-300x188.png" alt="Release Burn-Down Chart" width="300" height="188" /></a></p>

<p>Here we can see the team&#8217;s velocity appears to be slowing down. They might still release at the end of Sprint #9, but there&#8217;s a chance, if the flattening trend in their velocity continues to worsen, that they may never finish the project at all.</p>

<p>We have enough information here to know that something may be wrong. We can use this information to warn stakeholders that our release date may be at risk of slipping, and may also start looking though the backlog of stories for things we can drop.</p>

<p>The problem with these responses is that they&#8217;re purely reactive. Assuming there is a systemic cause at the root of this slow-down, we&#8217;re not doing anything to deal with it and get the team back on track. We can go and ask the team what they think might be wrong, and try to help them correct any problems they can identify. This can often work, but sometimes the team may not have the experience or perspective to be able to see what&#8217;s going wrong.</p>

<p>Another problem is that we&#8217;ve had to wait until the end of the iteration to get this information. For an organisation that&#8217;s used to going into the darkness of 9-month waterfall projects, getting iteration velocity figures once a fortnight can see pretty decent. An awful lot can happen inside an iteration though, and having that summed up by a single number loses a lot of important detail. Like the signal on an old short-wave radio, this is low-fidelity data.</p>

<p>One crucial piece of data that&#8217;s hidden within the burn-down chart is what I call the <em>rate of discovery</em>. The whole point of agile development is that it&#8217;s iterative: we build and ship something, get some feedback, learn from that, build and ship some more, and repeat until our stakeholders are happy with it. If we&#8217;re doing iterative (as opposed to repetitive) development, we&#8217;re going to discover new user stories as we go through the project, perhaps even as we go through the iteration. This is a good thing: it means we&#8217;re listening to our customers. We need to make sure our project plans can handle this as a matter of course.</p>

<p>Going back to our release burn-down, we want to separate the rate of discovery from the rate of delivery. A great way to do this is simply to flip the vertical axis of the chart, and use a <em>Release Burn-Up</em> instead. On here we can start tracking two lines instead of one. First we draw the number of completed stories (or story points), and then stacked on top of that, we draw the number of stories still to do. That includes any story not yet done &#8211; whether it&#8217;s in the backlog or being worked on in the next iteration.
<p style="text-align: center;"><a href="http://blog.mattwynne.net/wp-content/uploads/2010/07/Screen-shot-2010-07-11-at-11.57.462.png"><img class="aligncenter size-medium wp-image-221" title="Screen shot 2010-07-11 at 11.57.46" src="http://blog.mattwynne.net/wp-content/uploads/2010/07/Screen-shot-2010-07-11-at-11.57.462-300x189.png" alt="" width="300" height="189" /></a></p>
I love these charts &#8211; they seem to easily map to people&#8217;s understanding of the project. When you explain that the area underneath the bottom line represents all the features that have been done, it&#8217;s easy for anyone involved with the project to quickly understand what it means. In the case of the chart above, we can identify that while the team are delivering at a pretty steady rate, they&#8217;re discovering features at a steady rate too. They&#8217;ll probably need to de-scope if they want to meet their release date.</p>

<p>We can add extra fidelity to this chart in two dimensions: We can collect samples more often, and we can collect details about just <em>how done</em> the stories are as they move from &#8216;not done&#8217; into &#8216;done&#8217;. Let&#8217;s start by collecting more detail about how done the stories are. Imagine our task board looks like this at the end of an iteration:</p>

<p><a href="http://blog.mattwynne.net/wp-content/uploads/2010/07/Screen-shot-2010-07-11-at-12.15.211.png"><img class="aligncenter size-medium wp-image-222" title="Screen shot 2010-07-11 at 12.15.21" src="http://blog.mattwynne.net/wp-content/uploads/2010/07/Screen-shot-2010-07-11-at-12.15.211-300x159.png" alt="" width="300" height="159" /></a></p>

<p>One story (Story A) is done, and 8 other stories are not done. As we track these counts over time, we can draw one line on our Release Burn Up chart for each category of &#8216;not done&#8217; and stack the lines:</p>

<p><a href="http://blog.mattwynne.net/wp-content/uploads/2010/07/Screen-shot-2010-07-11-at-14.08.47.png"><img class="aligncenter size-medium wp-image-217" title="Screen shot 2010-07-11 at 14.08.47" src="http://blog.mattwynne.net/wp-content/uploads/2010/07/Screen-shot-2010-07-11-at-14.08.47-300x160.png" alt="" width="300" height="160" /></a></p>

<p>This chart has another name, <em>Cumulative Flow Diagram</em> (CFD). We call it this because as stories flow from &#8216;not done&#8217; to &#8216;done&#8217; across the task board, we&#8217;re drawing the accumulation of that flow on the diagram. There are lots of things we can gleam from this diagram.</p>

<p>If we look at the example above, we can see that work is stacking up in the design stage of our process. Because our CFD chart highlights this, we can put more directed effort into relieving the bottleneck on the designers, perhaps by adding an extra analyst to the team to run ahead and do some more detailed analysis of the upcoming stories in the backlog, or by helping the designers to break the existing stories up into smaller ones that are easier to understand.</p>

<p>You can wait until the end of the iteration to count these numbers, but why stay ignorant? If you collect this data every day, you&#8217;ll get quick feedback about where bottlenecks are appearing in your team, and be able to try small tweaks to correct them.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mattwynne.net/2010/07/11/hi-fidelity-project-management/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Slides from XP Day Talk</title>
		<link>http://blog.mattwynne.net/2008/12/14/slides-from-xp-day-talk/</link>
		<comments>http://blog.mattwynne.net/2008/12/14/slides-from-xp-day-talk/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 14:51:11 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Agile / Lean Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[Talk]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://blog.mattwynne.net/2008/12/14/slides-from-xp-day-talk/</guid>
		<description><![CDATA[I&#8217;m just back from this year&#8217;s XP Day, London. Thanks to everyone who came and packed out the room to hear Rob and I talking about our experiences evolving our team from Scrum to Kanban. The slides are here. There&#8217;s also a great transcript of the talk here on Tom Hume&#8217;s blog. Thanks Tom!]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m just back from this year&#8217;s <a href="http://xpday.org/">XP Day</a>, London. Thanks to everyone who came and packed out the room to hear <a href="http://blog.robbowley.net/">Rob</a> and I talking about our experiences evolving our team from Scrum to Kanban.
The slides are <a href="http://github.com/mattwynne/kanban-talk/raw/master/evolving-from-scrum-to-lean.pdf">here</a>.</p>

<p>There&#8217;s also a great transcript of the talk <a href="http://www.tomhume.org/2008/12/matt-wynne-rob-bowley-evolving-from-scrum-to-lean.html">here</a> on Tom Hume&#8217;s blog. Thanks Tom!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mattwynne.net/2008/12/14/slides-from-xp-day-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is the Value Fetish Killing Agile Teams?</title>
		<link>http://blog.mattwynne.net/2008/10/08/is-the-value-fetish-killing-agile-teams/</link>
		<comments>http://blog.mattwynne.net/2008/10/08/is-the-value-fetish-killing-agile-teams/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 11:59:40 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Agile / Lean Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[CI]]></category>
		<category><![CDATA[citcon]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[post-agile]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[value]]></category>

		<guid isPermaLink="false">http://blog.mattwynne.net/2008/10/08/is-the-value-fetish-killing-agile-teams/</guid>
		<description><![CDATA[Last weekend I was at CITCON Europe, a great opportunity to meet some of the leading minds in the agile software movement. One intriguing new term I heard a few times was &#8220;value fetish&#8221;. Let me try to explain what I think it means, and discuss the implications for agile teams. Back in the pre-agile [...]]]></description>
			<content:encoded><![CDATA[<p>Last weekend I was at <a href="http://www.citconf.com/amsterdam2008/">CITCON Europe</a>, a great opportunity to meet some of the leading minds in the agile software movement. One intriguing new term I heard a few times was &#8220;value fetish&#8221;. Let me try to explain what I think it means, and discuss the implications for agile teams.</p>

<p><span id="more-81"></span></p>

<p>Back in the pre-agile days when our projects were planned around component pieces of the architecture, &#8220;value&#8221; was a meaningless concept. The whole project had a value, but day-to-day that didn&#8217;t help us prioritise our work &#8211; from inside the plan it was impossible to judge whether my database stored procedure was contributing more value than your pricing component &#8211; without one, the other would simply not function.</p>

<p>As we started to plan around small deliverables like user stories, the concept of value came to the fore. Suddenly it was obvious that the &#8220;file saving&#8221; feature was much more valuable than the &#8220;conditional formatting&#8221; feature. This helped us immensely &#8211; we could prioritise our work around this value, and as a result actually felt the glow from knowing that the work we were doing was worthwhile, valuable even.</p>

<p>Now that value has become a first-class concept to software development teams, what happens when it becomes an obsession? When managers who can now measure value and velocity start to compare teams, or offer them incentives to deliver more, faster? When we as developers get so driven and focussed on the delivery of value that we forget to design, refactor, consolidate, reflect, and sharpen our tools? When we forget to go home on time?</p>

<p>We get burned out.</p>

<p>As ever, it&#8217;s the responsibility of the developers (and their leaders) to stand firm and hold on to the space and time that they need to do their work at a <a href="http://industrialxp.org/sustainablePace.html">sustainable pace</a>. Not all the hours you spend in a day &#8211; tidying up the build scripts, writing a code generator, cleaning up a library so you can release it as open source &#8211; can or should be directly attributed to the value they will immediately offer to the business. That&#8217;s not to say we should spend our days idling, but that we should maintain a level of self-respect in everything that we do.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mattwynne.net/2008/10/08/is-the-value-fetish-killing-agile-teams/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Where Scrum Gets Dangerous: Potentially Shippable? Make Sure You Mean It</title>
		<link>http://blog.mattwynne.net/2008/01/16/where-scrum-gets-dangerous-potentially-shippable-make-sure-you-mean-it/</link>
		<comments>http://blog.mattwynne.net/2008/01/16/where-scrum-gets-dangerous-potentially-shippable-make-sure-you-mean-it/#comments</comments>
		<pubDate>Wed, 16 Jan 2008 04:13:53 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Agile / Lean Software Development]]></category>
		<category><![CDATA[danger]]></category>
		<category><![CDATA[done]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[velocity]]></category>

		<guid isPermaLink="false">http://blog.mattwynne.net/2008/01/16/where-scrum-gets-dangerous-potentially-shippable-make-sure-you-mean-it/</guid>
		<description><![CDATA[Scrum tells you to build &#8216;potentially shippable&#8217; changes to your product (let&#8217;s call them &#8216;User Stores&#8217;) in fixed-length iterations. By estimating the relative complexity of delivering each of these changes using arbitrary units (let&#8217;s call them &#8216;Story Points&#8217;) you can measure how much estimated complexity was turned into &#8216;potentially shippable&#8217; software over a fixed duration. [...]]]></description>
			<content:encoded><![CDATA[<p>Scrum tells you to build &#8216;potentially shippable&#8217; changes to your product (let&#8217;s call them &#8216;User Stores&#8217;) in fixed-length iterations. By estimating the relative complexity of delivering each of these changes using arbitrary units (let&#8217;s call them &#8216;Story Points&#8217;) you can measure how much estimated complexity was turned into &#8216;potentially shippable&#8217; software over a fixed duration.</p>

<p>So far, so good. Where could it possibly go wrong?</p>

<p><span id="more-31"></span></p>

<p>One thing you may miss here, is how long changing &#8216;potentially shippable&#8217; into &#8216;actually shipped&#8217; might take. Building code and deploying it to a system test or user test environment where the business users can play with your changes might <em>feel</em> potentially shippable, but in the cold hard light of day, it still may be far from truly shippable, let alone <em>shipped the fuck out</em>. At this stage, the work you have done may seem to have some limited value to your customer in that they may poke around in it to help validate the work you&#8217;re doing, but until the day they can actually start using it to make their lives <a href="http://www.manvsmagnet.com/motion/fitter/fitter.html">happier and more productive</a>, that value is negligible.</p>

<p>You may choose to put stories into your backlog to cover off deliverables like &#8216;Deploy to Live Environment&#8217;, and &#8216;Hardening Sprint&#8217; but these are high risk stories whose delivery tasks are very different to normal development work, and hence their velocity is hard to predict. Danger lurks here.</p>

<p>Better to make <a href="http://catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s04.html">deployment to your live environment</a> (or if that&#8217;s not possible, something very similar to it) part of your definition of &#8216;done&#8217;. If you decide to start doing this half way through your project, embrace your plummeting velocity, for it is your true velocity, and it is much less likely to make wildly optimistic predictions about your schedule.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mattwynne.net/2008/01/16/where-scrum-gets-dangerous-potentially-shippable-make-sure-you-mean-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Retrospective: The Clue is in the Name</title>
		<link>http://blog.mattwynne.net/2008/01/13/remember-to-look-backwards-at-a-retrospective/</link>
		<comments>http://blog.mattwynne.net/2008/01/13/remember-to-look-backwards-at-a-retrospective/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 19:47:57 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Agile / Lean Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[retrospective]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[team]]></category>
		<category><![CDATA[teambuilding]]></category>
		<category><![CDATA[waste]]></category>

		<guid isPermaLink="false">http://blog.mattwynne.net/2008/01/13/remember-to-look-backwards-at-a-retrospective/</guid>
		<description><![CDATA[I facilitated our regular end-of-iteration retrospective last week, and although the feedback from the team was positive, I was left with a feeling that something wasn&#8217;t right. With our second major live release looming large on the horizon, I focussed the session on the theme of &#8216;Success&#8217;. My aim was to give the team a [...]]]></description>
			<content:encoded><![CDATA[<p>I facilitated our regular end-of-iteration retrospective last week, and although the feedback from the team was positive, I was left with a feeling that something wasn&#8217;t right.</p>

<p>With our second major live release looming large on the horizon, I focussed the session on the theme of &#8216;Success&#8217;. My aim was to give the team a blueprint for a successful iteration to keep in mind when things were tough, and to help ensure that we were all pulling in the same direction by agreeing as a team what constitutes success for us.</p>

<p><span id="more-30"></span></p>

<p>I started by asking the team to score how successful, in their own mind, the last iteration had been, drawing a histogram on the flipchart of the results. Interestingly, there was quite a variance in the scores, with most people either grading the iteration 2/5 or 4/5, perhaps suggesting that different members of the team have different criteria for success, or that they just experienced the iteration differently.</p>

<p>I then asked them to reflect on the criteria they&#8217;d used to make that judgement, again in their own mind, capturing each of the criteria on a separate index card. We then spread the cards out on the floor, and mapped them into headings: teamwork, stability, delivery, happiness &amp; joy&#8230; and a couple of others I can&#8217;t remember right now.</p>

<p>We then decided that our output would be some kind of vision statement under each heading, of the form &#8220;An iteration is a success when&#8230;&#8221; and worked through the various headings, discussing what it was that made us successful, and distilling that discussion into a bullet point on the chart.</p>

<p>Reflecting on what we&#8217;d covered, it seems to me that while the session was fun, motivating and affirming for the team, and thus valuable in it&#8217;s own way, it didn&#8217;t really enable us to focus on the major issues that are affecting us right now, such as the disruption of the recent office move. It also didn&#8217;t leave us with any concrete actions to take away and do in order to make things better. In terms of inspect and adapt, it really didn&#8217;t deliver.</p>

<p>When planning your retrospectives always remember your key goals (in priority order):</p>

<ol>
<li>Try to smoke out the most significant areas of <a href="http://www.shmula.com/223/what-is-waste">waste</a> in the team&#8217;s production of quality software</li>
<li>Invent concrete actions you can take in order to reduce this waste</li>
<li>Build and motivate the team</li>
</ol>

<p>Whilst building and motivating the team is an important goal for a session like this, it&#8217;s often a side-effect of successfully satisfying the first two. Concentrate on facilitating a session that helps reduce waste while having fun, and you&#8217;ve hit the nail on the head.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mattwynne.net/2008/01/13/remember-to-look-backwards-at-a-retrospective/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kanban for Software Explained</title>
		<link>http://blog.mattwynne.net/2007/12/09/kanban-for-software-explained/</link>
		<comments>http://blog.mattwynne.net/2007/12/09/kanban-for-software-explained/#comments</comments>
		<pubDate>Sun, 09 Dec 2007 22:55:31 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Agile / Lean Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://blog.mattwynne.net/2007/12/09/kanban-for-software-explained/</guid>
		<description><![CDATA[Karl Scotland has posted a great description of how his team solved some issues they were having within their Scrum team by moving over to using a lean-thinking or Kanban system, based on a short buffer or Queue of Minimum Marketable Features (MMFs). It&#8217;s probably the clearest explanation I&#8217;ve seen yet of why and how [...]]]></description>
			<content:encoded><![CDATA[<p>Karl Scotland has posted a <a href="http://agilepractitionersforum.com/2007/11/23/a-kanban-system-for-software-development/">great description</a> of how his team solved some issues they were having within their Scrum team by moving over to using a lean-thinking or Kanban system, based on a short buffer or Queue of Minimum Marketable Features (MMFs). It&#8217;s probably the clearest explanation I&#8217;ve seen yet of why and how to employ this emerging technique, and Karl certainly makes a compelling case for considering this as a progression for teams who are experienced with Scrum and need to be able to adapt rapidly <em>during</em> the development of a story or feature.</p>

<p>One of my key questions about Kanban is how it&#8217;s possible to predict long-term delivery dates for specific features, and although Karl goes some way to answering those questions, it looks as though you need, as well as a mature agile team, a fairly mature and trusting organisation to make this work.</p>

<p>I guess you also need to be working on a product that&#8217;s already in production and being updated regularly.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mattwynne.net/2007/12/09/kanban-for-software-explained/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Safety in Numbers</title>
		<link>http://blog.mattwynne.net/2007/10/17/safety-in-numbers/</link>
		<comments>http://blog.mattwynne.net/2007/10/17/safety-in-numbers/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 13:36:52 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://blog.mattwynne.net/2007/10/17/safety-in-numbers/</guid>
		<description><![CDATA[How important is it to measure how long something took? Well, so the received wisdom goes, by comparing how long it took you to complete your a task against the estimate you made before starting it, you get an idea of how good your estimate was. So far, so good. But what if your estimate [...]]]></description>
			<content:encoded><![CDATA[<p>How important is it to measure how long something took?</p>

<p>Well, so the received wisdom goes, by comparing how long it took you to complete your a task against the estimate you made before starting it, you get an idea of how good your estimate was. So far, so good.</p>

<p>But what if your estimate turned out to be wrong? What are you going to do about that?</p>

<p>One of the culture shocks I think scrum introduces it the idea that we almost always just look forward. I don&#8217;t care how long you&#8217;ve spent on a task, I just want to know how long you think it will take you to finish it, based on what you know right now.</p>

<p>Tomorrow, if you turned out to be wrong, that&#8217;s OK. All we need to know is how much longer it&#8217;s going to take to get it done.</p>

<p>Except it&#8217;s not OK.</p>

<p>Because if your task, which you originally estimated would take 2 hours has taken you two days, and it&#8217;s still not done, then something is impeding you.</p>

<p>Fortunately in a team practicing scrum, we have a daily 15-minute meeting where impediments like this are made visible to the entire team, and someone takes away the action to resolve the impediment.</p>

<p>Rather than having to retrospectively scan reports of esimates vs actuals in a spreadsheet, the problem can be highlighted as it&#8217;s happening, and hopefully resolved.</p>

<p>Agile teams also have a second line of defence against more stubborn impediments: The retrospective.</p>

<p>With these two facilities in place, it becomes unnecesary to track the details of estimates vs actuals. The administrative overhead on developers is reduced, and they can get back to writing solid code.</p>

<p>Some people find this difficult to accept &#8211; there&#8217;s  a familiarity to the recording of the numbers. We&#8217;ve allways done it. It makes me feel safe. Somebody will ask us for them.</p>

<p>If someobody asks you how good your estimating is &#8211; show them your burn-down chart.</p>

<p><a href="http://blog.mattwynne.net/wp-content/uploads/2007/10/estimates-vs-actuals.GIF" title="scrum burn-down chart"><img src="http://blog.mattwynne.net/wp-content/uploads/2007/10/estimates-vs-actuals.GIF" alt="scrum burn-down chart" /></a></p>

<p>It&#8217;s bloody obvious from the shape of the chart if your estimating is any good. And if they want figures, measure the difference in area beneath your real curve (blue line) and your &#8216;ideal&#8217; diagonal curve (red line). Every hour above the diagnoal line is an under-estimated hour. Show this to your team. Get them to look at it and reflect on how realistic they&#8217;re being when they estimate tasks.</p>

<p>If somebody asks you why your estimates were too low &#8211; listen to people. Look at your impediments log, and the write-up of your retrospectives. You need a culture where impediments get surfaced quickly from the team, where it&#8217;s OK to say things aren&#8217;t going well, and where problems raised get solved and cleared out of the way.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mattwynne.net/2007/10/17/safety-in-numbers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Time&#8217;s Your Stand-Up?</title>
		<link>http://blog.mattwynne.net/2007/09/27/what-times-your-stand-up/</link>
		<comments>http://blog.mattwynne.net/2007/09/27/what-times-your-stand-up/#comments</comments>
		<pubDate>Thu, 27 Sep 2007 20:43:40 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://blog.mattwynne.net/2007/09/27/what-times-your-stand-up/</guid>
		<description><![CDATA[The stand-up meeting has had quite a lot of attention on my team over the last week. At our last retrospective, it was brought up as a problem that we nearly always had at least one person missing when we started the meeting. Obviously this hampers us reaching the goal of having a rich and [...]]]></description>
			<content:encoded><![CDATA[<p>The stand-up meeting has had quite a lot of attention on my team over the last week. At our last retrospective, it was brought up as a problem that we nearly always had at least one person missing when we started the meeting. Obviously this hampers us reaching the goal of having a <a href="http://martinfowler.com/articles/itsNotJustStandingUp.html">rich and motivating exchange of information</a> throughout the whole team. We still get a chance to adapt the plan, but not everyone&#8217;s going to know about that if they weren&#8217;t there. I also feel it really drags down morale when the same one or two people (and it&#8217;s nearly always the same ones) appear not to be as committed as the rest.</p>

<p>So, like all good self-organising teams, we got together and talked about it. Yep, we had a meeting about a meeting.</p>

<p>During this, at times heated, discussion it became clear that we were talking about two separate issues. As well as using the stand-up to synchronise our work, we were using it as our starting-point for the day. Those who like a lie-in will tend to get themselves in just in time for stand-up, and thus their day begins.</p>

<p>So while the first and most obvious issue for debate was what time to have the stand-up meeting, lurking in the background was the much more thorny issue of how late it is acceptable for a team-member to turn up for work.</p>

<p>Fortunately we spotted this pretty much in time before the mud-slinging between the early-risers and the alarm-clock-o-phobes began. On reflection of the benefits of the meeting as a whole, we judged that providing a start-point for the day was not as important as the other benefits about communication which require every member of the team to be present. So we decided to abandon the use of the stand-up as our start to the day.</p>

<p>So that we can still harness the motivation that comes out of a good stand-up, we decided to hold it at 2pm, when everyone should be back from lunch and ready to blast through the afternoon.</p>

<p>All we can do is try it and see how it works.</p>

<p>What time do your team have their stand-up, and why?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mattwynne.net/2007/09/27/what-times-your-stand-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Path to Greatness &#8211; Anyone Got a Map?</title>
		<link>http://blog.mattwynne.net/2007/08/22/12/</link>
		<comments>http://blog.mattwynne.net/2007/08/22/12/#comments</comments>
		<pubDate>Wed, 22 Aug 2007 12:53:58 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://blog.mattwynne.net/2007/08/22/12/</guid>
		<description><![CDATA[I just bumbled into a great post by Raganwald on the subject of certification for professional software developers. It&#8217;s something I&#8217;ve been giving some thought to lately. I coach my team informally on a daily basis as we work together and more formally at the end of each iteration during our retrospective. I&#8217;ve also been [...]]]></description>
			<content:encoded><![CDATA[<p>I just bumbled into a great post by Raganwald on the subject of <a href="http://weblog.raganwald.com/2007/07/certification-bring-it-on.html">certification for professional software developers</a>.</p>

<p>It&#8217;s something I&#8217;ve been giving some thought to lately. I coach my team informally on a daily basis as we work together and more formally at the end of each iteration during our retrospective. I&#8217;ve also been asked to start a process of coaching other teams too.</p>

<p>In my other life, I teach people to snowboard. <a href="http://www.basi.org.uk/courses/snowb_instr.asp">BASI</a>, the organisation who taught me to teach, have developed a clear progression from complete novice through experienced recreational riders, right up to instructor trainer. Similarly, I just took the <a href="http://www.padi.com/english/common/courses/rec/begin/openwater.asp">PADI Open Water Diver</a> course, and again there is a clear progression where you learn the skills required to dive safely on your own.</p>

<p>Like Raganwald, I feel that certifying people for technical skills like expertise in coding a particular language is really missing the point. I thing he&#8217;s on to something by wanting to prove that a person knows how to produce a bullet-proof product &#8211; after all, that&#8217;s the whole point isn&#8217;t it?</p>

<p>I&#8217;m interested in the series of learnings that people go though in their time at work that take them to the point where they do a lot of these things as second nature. Where they don&#8217;t claim something is &#8216;finished&#8217; when they first manage to get some data up on the screen; where they know exactly when to step away from the keyboard and make a cup of tea to mull something over, or when to ask for some help instead of thrashing themselves, quietly, into a rotting hole. The things that make people valued members of my team are much more the &#8216;soft&#8217; skills that mean they spend their time at work as effectively as possible, like confidence, humility, and empathy.</p>

<p>In a way it&#8217;s a good thing that we don&#8217;t just have a simple scale to measure people against, we&#8217;re dealing with real human beings, after all. On the other hand, it might be handy to have a map to help us all along the way.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mattwynne.net/2007/08/22/12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

