<?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>Social Complexity and Agility &#187; Agile Adages</title>
	<atom:link href="http://www.metaprog.com/blogs/category/agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.metaprog.com/blogs</link>
	<description>Joseph Pelrine&#039;s weblog</description>
	<lastBuildDate>Sat, 28 Jan 2012 09:29:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Thoughts on priority poker</title>
		<link>http://www.metaprog.com/blogs/2010/11/thoughts-on-priority-poker/</link>
		<comments>http://www.metaprog.com/blogs/2010/11/thoughts-on-priority-poker/#comments</comments>
		<pubDate>Sat, 27 Nov 2010 17:22:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Agile Adages]]></category>

		<guid isPermaLink="false">http://www.metaprog.com/blogs/?p=115</guid>
		<description><![CDATA[Many years ago, I took part in one of the first Certified Scrum Product Owner courses ever held by Ken Schwaber and Mike Cohn. One of my favourite exercises from that course, and one I&#8217;ve often used since, was priority poker. Priority poker is a method for assigning relative priority, or weight, to items, and [...]]]></description>
			<content:encoded><![CDATA[<p>Many years ago, I took part in one of the first Certified Scrum Product Owner courses ever held by Ken Schwaber and Mike Cohn. One of my favourite exercises from that course, and one I&#8217;ve often used since, was priority poker. Priority poker is a method for assigning relative priority, or weight, to items, and is based on methods recommended in multi-attribute utility analysis literature[1]. In this exercise, you spread your user story cards out on a table, and allocate a number of poker chips to each story in order of their importance. Priority poker is a great learning tool. It&#8217;s easy to learn, it&#8217;s tactile, and it&#8217;s fun. For me, the most important learning experience of this exercise is the &#8220;aha&#8221; effect that comes from realising that the number of resources is finite, and that prioritising a particular story higher comes at the cost of prioritising another story lower.</p>
<p style="text-align: center;">
<p><img class="aligncenter" src="http://www.metaprog.com/blogs/wp-content/images/pokerchips.png" alt="Priority poker" width="578" height="391" /></p>
<p style="text-align: center;">Figure 1: Priority poker</p>
<p>A question popped up recently in one of my product owner courses which made me re-think a few premises about priority poker. Two groups came up with a different number of stories for an exercise we were doing, but I gave them both the same number of poker chips. Looking at the results of the group&#8217;s prioritisation exercise, I realised that there must be some connection between the number of stories and the number of chips. What would be the optimum relationship/proportion between chips and possible stories to ensure the best possible prioritisation? With too few chips, there&#8217;s not enough flexibility in choosing. With too many chips, things can become equally important, and one loses the nuances of such an exercise [2]. Is there a mathematical formula to calculate this? Empirical data? Rules of thumb?</p>
<p>I&#8217;m lucky to have many friends who are a lot smarter than I am, and who don&#8217;t mind me asking them questions like these. In this case, my victim was my friend Dr. Natasha Zharanova, who works in the finance department at eBay in Amsterdam, and who did her PhD in economics at Princeton. Natasha once attended a product owner training I did while working at eBay where we did priority poker, and she mentioned to me that she had done her master&#8217;s research on a similar topic, <a href="http://en.wikipedia.org/wiki/Cumulative_voting">cumulative voting</a>. Her answers to my questions caused me a thoughtful and sleepless night, tossing and turning in bed thinking about this question, until I finally gave up and started hacking Smalltalk at 3:30 AM to run some simulations.</p>
<p>Natasha pointed out that one of the goals of cumulative voting is to ensure adequate minority representation. Indeed, when we did the exercise together, we had given various stakeholders a few chips, and their strategic placement of chips influenced the final prioritisation in interesting and unexpected ways. (Note: you probably know cumulative voting as &#8220;dot voting&#8221;, where each member of a working group gets 3 dots to place on their e.g. favourite topics to be discussed).</p>
<p>Some points which Natasha pointed out to me:</p>
<p>- the total number of votes allotted to a voter is equal to the number of winning candidates.</p>
<p>- This works when all voters are seen as equal. When it comes to shareholders, usually the number of votes one gets is also proportional to his/her number of shares (I.e., a shareholder with 10\% of shares gets 9 times less than one with 90\% of shares), but the total sum is still related to the number of winning candidates.</p>
<p>- Of course, in most examples where this is used (I.e., board of directors elections), the number of open positions is fixed. In my example, though, the number of stories selected is not known in advance; but perhaps this is where another assumption / rule of thumb could be introduced? Something along the lines of &#8220;there is no way that more than 5 stories can be top priority simultaneously&#8221;? Then everybody gets 5 chips&#8230;</p>
<p>With a product owner (in a strict sense), the number of voters is 1. This simplifies things a bit, as it forces the focus onto the relationship between votes (chips) and options (user stories). Natasha&#8217;s question of &#8220;how many projects can be top priority simultaneously?&#8221; got me thinking, and I ended up reversing it, asking &#8220;how many projects or stories can we afford to ignore?&#8221;</p>
<p>I think the optimum number of votes would be the minimum number that ensures that each option can receive a unique, non-zero number of votes. For 1 item, it would be 1 chip. For 2 items, it would be 2+1, or 3, chips, for 3 items 3+2+1, or 6 chips, etc. The number of votes would be a number in the sequence 1, 3, 6, 10, 15, 21, 28 &#8230; or essentially, for n items:</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.metaprog.com/blogs/wp-content/images/poker1.png" alt="" width="354" height="36" /></p>
<p>or simply</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.metaprog.com/blogs/wp-content/images/poker2.png" alt="" width="122" height="63" /></p>
<p>This would be the smallest number of chips that would allow all options to be represented, while still forcing an increase in value of one option at the cost of another.</p>
<p>Looking at the first formula, the last (n &#8211; 1) becomes interesting. This is our lower bound, normally 1, but what it represents is the number of options we can afford to ignore, right? If we substitute this number with a higher bound, thus saying that we can afford to ignore more items, then the number of votes necessary to ensure prioritisation decreases. For me, this lower bound would be the number of stories that we can allow to have 0 chips.</p>
<p>I couldn&#8217;t get that number sequence 1, 3, 6, 10, 15, 21, 28 &#8230; out of my head. I was sure I&#8217;d seen it somewhere before, but couldn&#8217;t remember the name. Factorial? Sort of, but adding, not multiplying. Fibonacci? Sort of, but summing up all previous numbers, not just the last two.</p>
<p>In cases like these, I normally call on my math wizards, Tatiana Pastukhova and Wiggert Loonstra. They both gave me the answer: <a href="http://en.wikipedia.org/wiki/Triangular_number">triangular numbers</a>. Think billiard balls here.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.metaprog.com/blogs/wp-content/images/triangle.png" alt="" width="567" height="204" /></p>
<p style="text-align: center;">Figure 2: Triangle numbers</p>
<p>A triangular number is the number of balls in an equilateral triangle completely filled with balls. Looking at the Wikipedia page on triangular numbers, I found the most efficient way to calculate them:</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.metaprog.com/blogs/wp-content/images/poker3.png" alt="" width="318" height="42" /></p>
<p>So, to figure out the number of chips you need for prioritising your backlog using priority poker, first figure out how many stories you can afford to do without (this is a good reality check in any case). Then let</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.metaprog.com/blogs/wp-content/images/poker4.png" alt="" width="331" height="41" /></p>
<p>and the number of chips needed will be</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.metaprog.com/blogs/wp-content/images/poker5.png" alt="" width="149" height="45" /></p>
<p>Simple, right?</p>
<p style="text-align: left;">Notes:</p>
<p>1. See Emil J. Posavac and Raymond G. Carey,  Program Evaluation:   Methods and Case Studies, Prentice-Hall, 1989; W. Edwards and J.R. Newman, &#8220;Multiattribute Evaluation&#8221;, in H.R. Arkes and K.R. Hammond (eds.), Judgment and Decision Making, Cambridge University Press, Cambridge, England, 1986, 13-37; and C. Kirkwood, Strategic Decision Making: Multiobjective Decision Analysis with Spreadsheets, Duxbury Press, 1997, 53-61.<br />
2. See Barry Schwartz, The Paradox of Choice, Harper Collins, 2005.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metaprog.com/blogs/2010/11/thoughts-on-priority-poker/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The relationship between XP and Scrum project variables</title>
		<link>http://www.metaprog.com/blogs/2009/06/the-relationship-between-xp-and-scrum-project-variables/</link>
		<comments>http://www.metaprog.com/blogs/2009/06/the-relationship-between-xp-and-scrum-project-variables/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 18:01:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Agile Adages]]></category>

		<guid isPermaLink="false">http://www.metaprog.com/blogs/?p=58</guid>
		<description><![CDATA[I&#8217;m on the road right now, and don&#8217;t have time to write a long post, but I don&#8217;t want to withhold this interesting insight from you.
Last week, I attended the first Swiss Lean/Agile/Scrum conference. As usual, the Swiss take a long time to catch up with new ideas and technology, but when there&#8217;s money to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m on the road right now, and don&#8217;t have time to write a long post, but I don&#8217;t want to withhold this interesting insight from you.</p>
<p>Last week, I attended the first Swiss Lean/Agile/Scrum conference. As usual, the Swiss take a long time to catch up with new ideas and technology, but when there&#8217;s money to be had, they&#8217;re right up at the front of the line. Anyway, Ken Schwaber gave a very interesting presentation on the concept of &#8220;Done&#8221;. He showed the canonical burndown chart, and then took the individual vectors apart.</p>
<p style="text-align: center;"><a href="http://www.metaprog.com/blogs/wp-content/uploads/2009/06/scrumvariables.png"><img class="size-medium wp-image-59 aligncenter" title="scrumvariables" src="http://www.metaprog.com/blogs/wp-content/uploads/2009/06/scrumvariables-300x102.png" alt="" width="300" height="102" /></a></p>
<p>Seeing the variables separated like that got me to thinking, and I had the chance to run my thoughts past <a href="http://availagility.wordpress.com/" target="_blank">Karl Scotland</a> and <a href="http://peripateticaxiom.blogspot.com" target="_blank">Keith Braithwaite</a>, both of whom went out for a beer with me afterwards.</p>
<p>Back in the early days of XP, we defined a set of project variables:</p>
<p style="text-align: center;"><a href="http://www.metaprog.com/blogs/wp-content/uploads/2009/06/xpvariables.png"><img class="size-medium wp-image-60 aligncenter" title="xpvariables" src="http://www.metaprog.com/blogs/wp-content/uploads/2009/06/xpvariables-300x168.png" alt="" width="300" height="168" /></a></p>
<p>The rule went, &#8220;Time, Resources, Quality, Scope &#8211; choose three&#8221;. Whichever three you chosse, the fourth variable would be a function of the other three. Which three were actually chosen was the customer&#8217;s decision. Some customers (and managers) don&#8217;t understand this rule, and try to grab control of all 4 variables. By doing that, the first variable that&#8217;s dropped is quality, followed by time.</p>
<p>So, how do these sets of variables map to each other? The first two are easy:</p>
<ul>
<li>time = time</li>
<li>backlog = scope</li>
</ul>
<p>The other 2 are a bit more difficult:</p>
<ul>
<li>V = f(R)</li>
</ul>
<p>Velocity (burndown rate) is a function of the available resources. Regardless of what you have to do, having more resources will normally allow you to go faster. This function is non-simple and non-linear, unfortunately: as <a href="http://en.wikipedia.org/wiki/Brooks%27_law" target="_blank">Fred Brooks rightly says</a>, &#8220;adding manpower to a late software project makes it later&#8221;, but the simple case is a more or less linear function.</p>
<p>Quality is even more complicated:</p>
<ul>
<li>q = ∂<em>V</em>/∂<em>t</em></li>
</ul>
<p>As <a href="http://www.danube.com/blog/danrawsthorne" target="_blank">Dan Rawsthorne</a> says, &#8220;Quality is the first derivative of the burndown&#8221;. The quality of a product is directly related to the development velocity/burndown rate.</p>
<p>So, so much for that thought. Keith spun the thought even further, proposing in his <a href="http://peripateticaxiom.blogspot.com/2009/06/quality-of-non-declining-velocity.html" target="_blank">recent blog post</a> that you can increase velocity by increasing quality. I agree with him, and I recommend you read the post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metaprog.com/blogs/2009/06/the-relationship-between-xp-and-scrum-project-variables/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Scrum is a triple win proposition</title>
		<link>http://www.metaprog.com/blogs/2009/02/scrum-is-a-triple-win-proposition/</link>
		<comments>http://www.metaprog.com/blogs/2009/02/scrum-is-a-triple-win-proposition/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 14:27:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Agile Adages]]></category>

		<guid isPermaLink="false">http://www.metaprog.com/blogs/?p=14</guid>
		<description><![CDATA[How often have I heard people talking about win-win situations in business, where what they ended up with was was, at best a compromise &#8211; i.e., where everyone gets what no one really wants.
At the end of my Scrum courses, I do a final exercise and let the attendees prepare a 5-minute presentation on Scrum. [...]]]></description>
			<content:encoded><![CDATA[<p>How often have I heard people talking about win-win situations in business, where what they ended up with was was, at best a compromise &#8211; i.e., where everyone gets what no one really wants.</p>
<p>At the end of my Scrum courses, I do a final exercise and let the attendees prepare a 5-minute presentation on Scrum. Depending on the people and circumstances, this presentation may be targeted at management, marketing, customers, developers etc. At a recent course, someone asked me how I would present Scrum as an elevator story to management, and I remembered something I used when starting my business in 2001:</p>
<p>Scrum is not a win-win proposition, but a triple win-win-win proposition. It meets the needs of all 3 parties involved in the process: customers, management, and developers.</p>
<ul>
<li>Customers  win by getting the product they actually want and need.</li>
<li>Management wins by having a real-time tracking and controlling of time and budget.</li>
<li>And last but not least, developers win by having the freedom and responsibility to build world-class products.</li>
</ul>
<p>That&#8217;s my story in a nutshell&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metaprog.com/blogs/2009/02/scrum-is-a-triple-win-proposition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

