<?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>Irie, Inc. &#187; jarrowwx</title>
	<atom:link href="http://www.irie-inc.com/author/jarrowwx/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.irie-inc.com</link>
	<description>Agile Software Development Consulting</description>
	<lastBuildDate>Mon, 02 May 2011 19:51:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>NLP and User Stories</title>
		<link>http://www.irie-inc.com/2011/03/24/nlp-and-user-stories/</link>
		<comments>http://www.irie-inc.com/2011/03/24/nlp-and-user-stories/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 17:57:38 +0000</pubDate>
		<dc:creator>jarrowwx</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.irie-inc.com/?p=211</guid>
		<description><![CDATA[While walking through a Neuro-Linquistic Programming (NLP) introduction, I couldn&#8217;t help but be struck by some of the similarities between some of what they were saying, and what we do in an Agile team while creating our backlog. The NLP teachings involved a series of questions to ask someone that you were trying to help. [...]]]></description>
			<content:encoded><![CDATA[<p>While walking through a Neuro-Linquistic Programming (NLP) introduction, I couldn&#8217;t help but be struck by some of the similarities between some of what they were saying, and what we do in an Agile team while creating our backlog.</p>
<p>The NLP teachings involved a series of questions to ask someone that you were trying to help.  Look at a couple of examples:</p>
<p><b>What do you want?</b><br />
User Story: As a [role] I want [feature] so that [benefit].</p>
<p><b>How will you know when you have it?</b><br />
Acceptance Criteria: Given [precondition] when [action] then [result].</p>
<p>What else could an Agile product owner learn from these NLP techniques?</p>
<p><b>What are the advantages to the Status Quo?</b><br />
This is a valid question.  One that should not be glossed over.  The current business process must offer SOME benefits, or it would not be in place.  When the user says they want XYZ, asking them in what way the current approach is better than XYZ could be a very useful eye-opener, especially when coupled with the next couple of questions.</p>
<p><b>What are the needs and/or wants behind those advantages?</b><br />
<b>How can we fulfill those needs while still getting you what you want?</b><br />
What a great way of getting buy-in from your users!</p>
<p>The NLP teachings go on, asking for beliefs that the client might have which tell them that what they want, their goal, their aspiration, is unrealistic.  In the event of a customer/user who has already bought in to and is excited about what you propose to give them, these additional techniques may not be necessary.  But when you are dealing with users who have been doing things the same way for years and years, and they are resistant to change, these techniques could mean the difference between acceptance and resistance.  </p>
<p>Sounds to me like there should be a book:  NLP for Agile Product Owners: The pattern of success!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irie-inc.com/2011/03/24/nlp-and-user-stories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Equivalence Classes</title>
		<link>http://www.irie-inc.com/2011/02/25/using-equivalence-classes/</link>
		<comments>http://www.irie-inc.com/2011/02/25/using-equivalence-classes/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 18:57:29 +0000</pubDate>
		<dc:creator>jarrowwx</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.irie-inc.com/?p=209</guid>
		<description><![CDATA[You ever have to deal with a database full of production data, and you have to write code that works with all of it?  Or maybe you need to test to make sure that someone else's code works with all of it?  If you have millions, or hundreds of millions of records, it can be very daunting to figure out "Have I identified all of the use cases that apply?"
]]></description>
			<content:encoded><![CDATA[<p>You ever have to deal with a database full of production data, and you have to write code that works with all of it?  Or maybe you need to test to make sure that someone else&#8217;s code works with all of it?  If you have millions, or hundreds of millions of records, it can be very daunting to figure out &#8220;Have I identified all of the use cases that apply?&#8221;</p>
<p>I first ran into this problem when working for TransUnion.  They had a data set of 375 million records, give or take, that needed to be transformed and loaded into a database with a particular schema.  The objective was to be able to use our search mechanism to find the records after they had been loaded.  Sounds simple enough.</p>
<p>I started with the last name.  What are all of the different last names I needed to worry about?  I wrote a script to parse out the data set and build a histogram of the most common names.  As to be expected, &#8220;Smith&#8221; came out on top! <img src='http://www.irie-inc.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   But there were, if memory serves, about 64 million distinct values.  Wow!  Way too many to wrap my brain around.  I had to simplify.  To shorten the list.  But how?</p>
<p>The main thing I was concerned about was punctuation.  How does the punctuation differ between the records?  Some names are simple, single word tokens, like Smith, Jones, Johnson, etc.  Others are hyphenated, like Zeta-Jones or Smith-Barney.  Others have multiple tokens, like De La Joya.  But what else is lurking in that list of 64 million names that I had to worry about?  </p>
<p>My solution was to write code to &#8220;fold&#8221; names that had a lot in common into the same value.  I started by processing the histogram of 64 million names, and transforming the name by converting every upper-case letter to an &#8216;X&#8217;, and every lower-case letter to an &#8216;x&#8217;, and every digit to a &#8217;9&#8242;.  Then, I built a histogram of those.  This was very instructive, but I saw that there were still lots of names that were clearly functionally equivalent.  I decided that a series of the same character, 4 or more in a row, should be considered functionally equivalent, regardless of how many there were past 4.  So I added just a little bit more code to my script, and the number of buckets dropped dramatically.  Looking at the histogram, I could begin to see more and more relevant patterns that I had to take into consideration.</p>
<p>The actual work continued on from there, making the analysis and &#8220;folding&#8221; code more and more complex.  But the essence of it is still the same:  Transform the value into another value such that two functionally equivalent input values have the same output value.  Or in other words, partition the data into Equivalence Classes.  Use the class as the key in a histogram, and see what drops out.  Repeat until comfortable that the proper categories have been identified.  Then, the function that was used to make the transformation is a very concise record of some of the kinds of things to pay attention to in the data.  And the histogram (with original values preserved so I knew which input yielded which bucket key) provides good test/sample data.</p>
<p>This is a principle that I have found opportunity to use time and time again.  I&#8217;ve used it to identify patterns in strings, to strip out uniqueness from highly variable log output so it becomes more standardized and therefore more readily subject to statistical analysis. I&#8217;ve used it to identify unique combinations and/or permutations of record field values (more on that another time, maybe).  Basically, since that day, there has hardly been a job that I&#8217;ve taken on where I didn&#8217;t have an opportunity to use this basic principle to help me do a better job of coding for or testing with real-world data.</p>
<p>Interested in learning more?  I gave a talk to the <a href="www.sao.org">Software Association of Oregon</a> monthly meeting on the subject, for which I prepared some <a href="/docs/equivalenceClasses.pptx">slides</a>.  Or, post a comment, and I&#8217;ll answer you directly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irie-inc.com/2011/02/25/using-equivalence-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Whole Team Responsibility</title>
		<link>http://www.irie-inc.com/2009/12/16/whole-team-responsibility/</link>
		<comments>http://www.irie-inc.com/2009/12/16/whole-team-responsibility/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 18:16:09 +0000</pubDate>
		<dc:creator>jarrowwx</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.irie-inc.com/?p=204</guid>
		<description><![CDATA[It was interesting reading Mike Cohn&#8217;s blog entry on The Falacy of One Throat to Choke. I remember this very phrase being used during my ScrumMaster training, saying that the Product Owner was the &#8220;one throat to choke&#8221;. Mike is right, of course. It is called a Scrum team for a reason. The team will [...]]]></description>
			<content:encoded><![CDATA[<p>It was interesting reading Mike Cohn&#8217;s blog entry on <a href="http://blog.mountaingoatsoftware.com/the-fallacy-of-one-throat-to-choke">The Falacy of One Throat to Choke</a>.  I remember this very phrase being used during my ScrumMaster training, saying that the Product Owner was the &#8220;one throat to choke&#8221;.  </p>
<p>Mike is right, of course.  It is called a Scrum <i>team</i> for a reason.  The team will work together in order to achieve success.  If the Product Owner has not been able to gather enough information to be confident of the direction to move forward, the team won&#8217;t sit around watching youtube until they do.  The team will ask the product owner what they DO know, and will exert their efforts in ways that will help the Product Owner.  For example, they may build prototypes that the PO can take to the users, to facilitate more constructive conversations.  </p>
<p>One might argue that if the team builds the wrong thing, it is on the head of the product owner.  But the team is full of living, breathing, <i>thinking</i> human beings.  The developers are not mindless automatons serving the whims of the product owner.  Everyone should have the mindset of serving the needs of the customer.  If team members think that perhaps the product is going in the wrong direction, they have a responsibility to communicate that.  If they do not, their neck deserves to get choked as much as the PO.  Now, if you have a product owner who doesn&#8217;t take feedback, then by all means, you have your single throat to choke.</p>
<p>One argument leveled against Agile is that it can be used as an excuse for not delivering, citing the need for &#8216;direction.&#8217;  This, of course, is a Waterfall mentality trying to do iterative development, and not Agile.  The team that takes responsibility for their success will never have that argument used against them.   </p>
]]></content:encoded>
			<wfw:commentRss>http://www.irie-inc.com/2009/12/16/whole-team-responsibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tool Usability Comparison: Summary</title>
		<link>http://www.irie-inc.com/2009/11/21/usability-summary/</link>
		<comments>http://www.irie-inc.com/2009/11/21/usability-summary/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 05:36:10 +0000</pubDate>
		<dc:creator>jarrowwx</dc:creator>
				<category><![CDATA[Backlog Management Tools]]></category>
		<category><![CDATA[AgileOnDemand]]></category>
		<category><![CDATA[Analog]]></category>
		<category><![CDATA[backlog]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Mingle]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[Rally]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[VersionOne]]></category>

		<guid isPermaLink="false">http://www.irie-inc.com/?p=196</guid>
		<description><![CDATA[Wrapping up this series comparing the top Agile backlog tools.]]></description>
			<content:encoded><![CDATA[<p>In all fairness, there is a lot more to a tool than just this small set of use cases that I have presented so far.  However, the use cases which I have presented are enough to give me a good look at the tools, and figure out which tool works best for me.  Let&#8217;s review my usability comparisons:</p>
<hr noshade size=1 color=silver>
<Strong>Usability Comparison Summary</strong> on a scale of 1 to 10</p>
<table>
<tr>
<th><strong>Tool</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Merge</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Group</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>New</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Reparent</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Scenarios</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Roles</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Value</strong></th>
<th rowspan=8>&nbsp;</th>
</tr>
<tr>
<td>Ideal Tool</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
</tr>
<tr>
<td>3&#215;5 Cards</td>
<td>9</td>
<td>9</td>
<td>9</td>
<td>9</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>AgileOnDemand</td>
<td>3</td>
<td>9</td>
<td>9</td>
<td>9</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>Excel</td>
<td>8</td>
<td>7</td>
<td>7</td>
<td>7</td>
<td>1</td>
<td>7</td>
<td>7</td>
</tr>
<tr>
<td>VersionOne</td>
<td>6</td>
<td>6</td>
<td>6</td>
<td>8</td>
<td>1</td>
<td>3</td>
<td>3</td>
</tr>
<tr>
<td>Mingle</td>
<td>2</td>
<td>4</td>
<td>5</td>
<td>7</td>
<td>2</td>
<td>6</td>
<td>6</td>
</tr>
<tr>
<td>Rally</td>
<td>4</td>
<td>2</td>
<td>8</td>
<td>2</td>
<td>1</td>
<td>4</td>
<td>4</td>
</tr>
</table>
<hr noshade size=1 color=silver>
<p><strong>Analog (3&#215;5 card) Method</strong><br />
This hands-on approach is definitely a good, low-tech starting point for any story-writing workshop.  For what it can do, it is the gold standard in usability.  Pick it up, put it down where it goes.  It&#8217;s easy, intuitive, and hard to screw up.  For me, however, what it can NOT do means that I definitely need to combine this with some form of electronic tool.</p>
<p><strong>Excel</strong><br />
It is no wonder that Excel is the recommended tool for backlog management in the literature.  It&#8217;s easy, ubiquitous, and a decent compromise in features versus usability.  If I had no budget for one of the other tools, this is definitely a workable solution, if I were willing to let go of some of the features I want.</p>
<p><strong>AgileOnDemand</strong><br />
This tool is in its infancy, and yet it blows away the competition in everything which this tool is designed to do.  With one exception, that being the Merge functionality, this tool is at least on par with writing user stories on 3&#215;5 cards, as far as usability is concerned.  In many ways, it is vastly superior.  Yes, vastly superior to the gold standard.  That&#8217;s high praise.</p>
<p>Yet, being as it is such a new tool, it is lacking some of the features sported by some of the other, older, more mature tools.  Give it time, I expect great things from these guys.</p>
<p>For me, because of my need for being able to look at cross-sections of the backlog from various perspectives, I can not use this tool, yet.  But I&#8217;ll be continuing to watch as they implement new features.  And I hope to be able to contribute towards turning this promising piece of software into that &#8216;Ideal Digital Tool&#8217; I kept talking about.</p>
<p><strong>Rally</strong><br />
This is one of the best <em>looking</em> of all of the tools.  And there are a few things that it does <em>very</em> well.  Unfortunately, one of the things it does poorly is one of the features I need the most: the ability to quickly re-organize my backlog differently than I had previously organized it.  But it is a fairly mature tool, so it has many good features, such as test management, something AgileOnDemand has not yet implemented.  I will continue to watch these guys, and I will give them my feedback, and we will see what comes of it.  With a few small changes, I could easily make use of (and thus recommend) this tool.</p>
<p><strong>VersionOne</strong><br />
VersionOne consistently scored relatively high marks across the board.  Unfortunately, the model that they use in their user interface leaves a few things to be desired.  Unfortunately, rectifying that probably means a paradigm shift for the user experience guys at VersionOne, so I&#8217;m not holding my breath.  But it really isn&#8217;t THAT bad from a usability standpoint, and it is a highly functional tool.  As such, I can imagine finding a way to make it work the way I need it to, at least, for the most part.  But, if at all possible, I&#8217;d really rather find a tool that suits my needs a little more closely.</p>
<p><strong>Mingle</strong><br />
Mingle stands out from all the rest of the tools I reviewed, because it is not, strictly speaking, an Agile Backlog Tool.  Instead, it is a generic tool that can be configured to match the way you work, including Agile.  Unfortunately, it has a few serious usability issues, and is missing a few key features.  But it also has features that none of the others have, such as an integrated wiki, something I consider to be immensely valuable.  As with the other tools, I intend to give them my feedback, and find out which of the things I need most from them are already on their way.</p>
<h1>Conclusion</h1>
<p>The truth is, all of the tools are decent, a couple of them outstanding, but none of the tools that I surveyed are &#8220;good enough&#8221; for me in their current incarnation.  Some are closer than others, and they are all contenders.  If I were willing to compromise on some key points, I would be able to decide between them.  But I know what I want, and I&#8217;m going to keep looking until I find it, until one of these tools build it for me, or I break down and build it myself!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irie-inc.com/2009/11/21/usability-summary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tool Usability Comparison: Multiple Rankings</title>
		<link>http://www.irie-inc.com/2009/11/21/usability-multiple-rankings/</link>
		<comments>http://www.irie-inc.com/2009/11/21/usability-multiple-rankings/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 04:14:23 +0000</pubDate>
		<dc:creator>jarrowwx</dc:creator>
				<category><![CDATA[Backlog Management Tools]]></category>
		<category><![CDATA[perspective]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.irie-inc.com/?p=194</guid>
		<description><![CDATA[While all of the tools I have reviewed allow you to use drag-and-drop to rank stories, it occurs to me that you have to choose what you want the resultant order to represent.  This powerful metaphor for prioritizing is artificially limited to being used for a single purpose.]]></description>
			<content:encoded><![CDATA[<p>While all of the tools I have reviewed allow you to use drag-and-drop to rank stories, it occurs to me that you have to choose what you want the resultant order to represent.  This powerful metaphor for prioritizing is artificially limited to being used for a single purpose.</p>
<p>The ideal tool would allow the user to set a &#8216;ranking context&#8217;.  This would be a way of preserving different sets of rankings for different reasons.  By default, the tool would come with ranking contexts for Business Value,  Technical Risk, Story Size, and Priority.  It should also allow the user to create their own custom ranking contexts, so that the users can utilize this metaphor for whatever they like, without having to compromise.</p>
<p>Another thing I would like to see, in addition to having multiple ranking contexts, is the ability to allow one ranking context to be the starting point for another.  For example, in the Priority context, if an absolute priority between two stories has not been determined, then it could default to the ranking defined by the Business Value context.  If that context does not define the relative priority, then look at Technical risk, favoring the more risky items.  And finally, in the absence of a difference in risk, opt for the smaller stories first.  All this should be readily configurable.</p>
<p>Of course, the purpose of these ranking contexts is to augment or replace having to provide an absolute ranking value.  So, one could tie the context to a numeric field.  As one drags stories up and down in the list, the value changes.  Or, one can change the value directly, and anchor the ranking to a particular value, allowing it to jump to the approximately correct position within the list.  This position is then able to be refined by dragging, which in turn alters the values of the stories involved.  This would best serve those who don&#8217;t use Planning Poker or the Business Value Game, but could easily be used in conjunction to serve as a kind of sanity check on the values that are coming out of the estimating.</p>
<p>What I would also like to see is for related items (groupings) to be ranked as well, and for those rankings to influence the relative ranking of the items they contain.  So, for example, if I rank one feature group higher than another, then the stories within that group get a slight boost so that the average ranking of the one group is higher than the average of the other group.  Likewise, if I rank one Epic or Theme higher than another, again the stories in that epic get a boost compared to the others.  I could also consider a particular role above others, and a particular business proposition above others.  This, alone, might do well to align the relative ranking of stories without having ever adjusted a single story up or down.</p>
<p>Another thing I would love to see is for there to be calculated fields that represent ratios between some of these fields that are set by ranking.  So, for example, if a story has both a Business Value and a Technical Risk value, then a calculated field would estimate the risk/reward ratio.  If it has both Business Value and Size, then a Return on Investment ratio is calculated.  I would even calculate a Risk/Size ratio, and perhaps even an overall weighted value that takes all three into account to give the product owner a suggested priority starting point.</p>
<p>Of course, this all sounds really complicated.  But it doesn&#8217;t have to be.  A simple configuration combined with a simple but powerful user interface, and the tool can help guide even a novice product owner towards delivering maximum value with a minimum of cost.  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.irie-inc.com/2009/11/21/usability-multiple-rankings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tool Usability Comparison: Prioritizing the Backlog</title>
		<link>http://www.irie-inc.com/2009/11/21/usability-prioritizing-the-backlog/</link>
		<comments>http://www.irie-inc.com/2009/11/21/usability-prioritizing-the-backlog/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 23:26:08 +0000</pubDate>
		<dc:creator>jarrowwx</dc:creator>
				<category><![CDATA[Backlog Management Tools]]></category>
		<category><![CDATA[AgileOnDemand]]></category>
		<category><![CDATA[Analog]]></category>
		<category><![CDATA[backlog]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Mingle]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[Rally]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[VersionOne]]></category>

		<guid isPermaLink="false">http://www.irie-inc.com/?p=185</guid>
		<description><![CDATA[The objective of every backlog management tool is to allow you to create, manage, and prioritize the backlog.  Every one of them provides a simple Ranking mechanism for determining what work to do next.  However, some are a little better than others.
]]></description>
			<content:encoded><![CDATA[<p>The objective of every backlog management tool is to allow you to create, manage, and prioritize the backlog.  Every one of them provides a simple Ranking mechanism for determining what work to do next.  However, some are a little better than others.</p>
<p><strong>Analog (3&#215;5 card) method</strong><br />
Put all of the story cards together into one large pile.  Move more important cards towards the top of the pile, less important cards towards the back.<br />
<strong>Usability: Medium-High</strong> <em>Downside: you lose the ability to view the other relationships that exist between cards.  You can&#8217;t search through the stack very easily.</em></p>
<p><strong>Ideal Digital Tool</strong><br />
Any time you have a list of story cards, you can drag them up or down in the list in order to set relative order.  You can filter the list to include only a subset of the cards (such as for a single feature group, a single theme or epic, a single role, or a single value proposition), and then rank those relative to one another.  Prioritizing a small set of closely related stories will be faster and easier than reviewing the entire backlog at once.  Repeating this process with different cross-sections of the backlog will allow the product owner to gain perspective about what he or she is trying to prioritize.  The ideal tool will be able to correlate all these theoretically disparate and potentially conflicting priorities and putting them together into a coherent whole, a prioritized backlog that the product owner can groom.<br />
<strong>Usability: High</strong></p>
<p><strong>Rally</strong><br />
You can move stories within groups, move groups within larger groups, and reorder the groups.  You can switch to the backlog view, and sort them there, as well, by dragging up and down.<br />
<strong>Usability: High</strong> <em>Downside: Does not readily support ranking within the various cross-sections of the backlog.</em></p>
<p><strong>VersionOne</strong><br />
Add the &#8216;Order&#8217; field to your view, then sort by it.  Then, you can drag rows up and down in order to specify a custom order.  As you move from view to view, applying various filters at different times, the overall sort order gets more and more precise, exactly as with the Ideal tool.<br />
<Strong>Usability: Medium-High</strong> <em>Downside: You have to know you can do it, as it is not enabled by default. It tends to be a bit slow, in general, which is made worse by the fact that you can only drag one at a time to prioritize them.</em></p>
<p><strong>AgileOnDemand</strong><br />
While viewing the backlog, you can create Epics and you can create stories within epics.  You cannot control the order of stories within an epic, except by a naming convention.  But you can drag epics up or down to prioritize them.<br />
<strong>Usability: Medium</strong> <em>Downside: some things are harder to do than you would expect them to be.</em></p>
<p><strong>Excel</strong><br />
Highlight a row.  Drag from one of the borders of the row, while holding the shift key.  Where you let go, that&#8217;s where it goes to.<br />
<strong>Usability: Medium</strong> <em>If you don&#8217;t hold down the Shift key, you may overwrite an existing backlog item, which would be very bad.  The mouse target for initiating the drag is very small, meaning you need dexterity.  Though you can also do it via the keyboard pretty easily.</em></p>
<p><strong>Mingle</strong><br />
From the Grid view, you can enable ranking.  This lets you drag and drop cards into the desired order.  However, the ordering is left to right, not top to bottom.  And you can&#8217;t do this from the more compact Hierarchy or List views, which is a serious shortcoming in my opinion.<br />
<strong>Usability: Medium-Low</strong> <em>Downside: really doesn&#8217;t meet expectations, that is, forces me to do things their way, rather than adapting to me and the way I think or want to work.</em></p>
<p><Strong>Usability Comparison Summary</strong> on a scale of 1 to 10</p>
<table>
<tr>
<th><strong>Tool</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Merge</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Group</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>New</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Reparent</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Scenarios</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Roles</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Value</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Ranking</strong></th>
<th rowspan=8>&nbsp;</th>
</tr>
<tr>
<td>Ideal Tool</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
</tr>
<tr>
<td>Rally</td>
<td>4</td>
<td>2</td>
<td>8</td>
<td>2</td>
<td>1</td>
<td>4</td>
<td>4</td>
<td>8</td>
</tr>
<tr>
<td>VersionOne</td>
<td>6</td>
<td>6</td>
<td>6</td>
<td>8</td>
<td>1</td>
<td>3</td>
<td>3</td>
<td>7</td>
</tr>
<tr>
<td>AgileOnDemand</td>
<td>3</td>
<td>9</td>
<td>9</td>
<td>9</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>6</td>
</tr>
<tr>
<td>3&#215;5 Cards</td>
<td>9</td>
<td>9</td>
<td>9</td>
<td>9</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>5</td>
</tr>
<tr>
<td>Excel</td>
<td>8</td>
<td>7</td>
<td>7</td>
<td>7</td>
<td>1</td>
<td>7</td>
<td>7</td>
<td>4</td>
</tr>
<tr>
<td>Mingle</td>
<td>2</td>
<td>4</td>
<td>5</td>
<td>7</td>
<td>2</td>
<td>6</td>
<td>6</td>
<td>3</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.irie-inc.com/2009/11/21/usability-prioritizing-the-backlog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tool Usability Comparison: Group By Value Proposition</title>
		<link>http://www.irie-inc.com/2009/11/21/usability-group-by-value-proposition/</link>
		<comments>http://www.irie-inc.com/2009/11/21/usability-group-by-value-proposition/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 21:45:50 +0000</pubDate>
		<dc:creator>jarrowwx</dc:creator>
				<category><![CDATA[Backlog Management Tools]]></category>
		<category><![CDATA[AgileOnDemand]]></category>
		<category><![CDATA[Analog]]></category>
		<category><![CDATA[backlog]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Mingle]]></category>
		<category><![CDATA[perspective]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[Rally]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[VersionOne]]></category>

		<guid isPermaLink="false">http://www.irie-inc.com/?p=179</guid>
		<description><![CDATA[Every story can be put into different categories based on how it impacts the bottom-line.  Doing so is an integral part of the Business Value Game.  So, how do the tools support it?]]></description>
			<content:encoded><![CDATA[<p>When assigning Business Value to stories, it helps to consider the story in context of other stories that propose to have a similar effect on the bottom-line, that is, their value proposition.  For example, you might have a dozen stories that all propose to attract new customers.  It is helpful to look at all those stories together in order to get a good feeling of how they compare to each other.  This, in turn helps get a more objective measure of the business value that each has to offer.</p>
<p>It is important that you be able to associate more than one value proposition to a story.  What attracts new customers may also encourage existing customers to upgrade their service.  In that regard, those tools that do not facilitate the use of Tags, multiple values in a single field, or many-to-many relationships, are at a strong disadvantage when it comes to being able to implement this feature.</p>
<p>From a technical standpoint, implementing this behavior in the various tools is possible in roughly the same way as Role based grouping.  You can use Tags, where tags are offered, or you can define a field/property with a set list of values.  Their respective usability is the same as that from the previous segment on grouping by Role.  </p>
<p>One notable difference is that the user interface of the Ideal Digital Tool can&#8217;t cheat and extract it from the user story text, you have to set it yourself.  This may require a more sophisticated user interface, though what works for this should work equally well for managing Role assignments.</p>
<p><Strong>Usability Comparison Summary</strong> on a scale of 1 to 10</p>
<table>
<tr>
<th><strong>Tool</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Merge</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Group</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>New</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Reparent</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Scenarios</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Roles</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Value</strong></th>
<th rowspan=8>&nbsp;</th>
</tr>
<tr>
<td>Ideal Tool</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
</tr>
<tr>
<td>3&#215;5 Cards</td>
<td>9</td>
<td>9</td>
<td>9</td>
<td>9</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>Excel</td>
<td>8</td>
<td>7</td>
<td>7</td>
<td>7</td>
<td>1</td>
<td>7</td>
<td>7</td>
</tr>
<tr>
<td>Mingle</td>
<td>2</td>
<td>4</td>
<td>5</td>
<td>7</td>
<td>2</td>
<td>6</td>
<td>6</td>
</tr>
<tr>
<td>Rally</td>
<td>4</td>
<td>2</td>
<td>8</td>
<td>2</td>
<td>1</td>
<td>4</td>
<td>4</td>
</tr>
<tr>
<td>VersionOne</td>
<td>6</td>
<td>6</td>
<td>6</td>
<td>8</td>
<td>1</td>
<td>3</td>
<td>3</td>
</tr>
<tr>
<td>AgileOnDemand</td>
<td>3</td>
<td>9</td>
<td>9</td>
<td>9</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.irie-inc.com/2009/11/21/usability-group-by-value-proposition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tool Usability Comparison: Group by Role</title>
		<link>http://www.irie-inc.com/2009/11/20/tool-usability-comparison-group-by-role/</link>
		<comments>http://www.irie-inc.com/2009/11/20/tool-usability-comparison-group-by-role/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 16:37:31 +0000</pubDate>
		<dc:creator>jarrowwx</dc:creator>
				<category><![CDATA[Backlog Management Tools]]></category>
		<category><![CDATA[AgileOnDemand]]></category>
		<category><![CDATA[Analog]]></category>
		<category><![CDATA[backlog]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Mingle]]></category>
		<category><![CDATA[perspective]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[Rally]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[VersionOne]]></category>

		<guid isPermaLink="false">http://www.irie-inc.com/?p=162</guid>
		<description><![CDATA[There are a number of good reasons for wanting to do this, Perspective being the biggest.  How well do the tools let you do it?]]></description>
			<content:encoded><![CDATA[<p>As a Marketing user, I have some very specific needs of the system.  Have you captured all of those needs? Only way to be sure is to be able to filter the story cards to include only those that are told from my perspective.  I still need to be able to see all of the functional/feature groups, and all of the epic/use case groups, so that I can see if there is something I need to be thinking about.   Also, when trying to assign business value, it helps to be able to see all of my user stories side-by-side so I can rank them in terms of the business value that they offer me.</p>
<p>Hopefully, the above makes the case adequately enough:  It would add value to the backlog creation process to be able to view the backlog from the perspective of a particular role, in addition to the perspective of a particular feature group.  So, how can I do that in the various tools?</p>
<p><strong>Analog (3&#215;5 cards) method</strong><br />
You can&#8217;t.  A card&#8217;s place is represented by its physical presence.  The only way you could do this is to make sure you make at least two copies of every user story (maybe in different colors) whenever you create one, and you put one in the feature group pile, and one in the appropriate role pile.<br />
<strong>Usability: Very Low</strong> <em>Downside: having two of every card is tedious, and means things will get out of sync.  Don&#8217;t go there!</em></p>
<p><strong>The Ideal Digital Tool</strong><br />
As I create the user story itself, when I type &#8220;as a &#8221; I am then prompted with a pop-up list of all of the other roles I have ever created.  I can select one, or I can make a new one.  When I finish writing the story text, it will transparently pull the Role information out of the text, and use it to populate a &#8216;role&#8217; field, a multi-select value field, or a relationship record, that allows me to find this story again by the role.  If I don&#8217;t use the &#8216;as a&#8217; template, I can still manage the role relationship directly, though the fact that I need to will encourage me to use the template.  Or the tool will let you define a search pattern to extract the role so you can use your own story template.  There may be a place in the application where I can define the relationships between roles.  I will be able to filter any view by Role, or by multiple roles, quickly and easily.  Ideally, I will be able to specify a full filter (where non-matching records are hidden) or a highlight filter, where matching records stand out from the rest, visually.<br />
</strong></p>
<p><strong>Excel</strong><br />
If you have broken the user story into three columns, one of which is the Role, then role based filtering/grouping is a snap.<br />
<strong>Usability: High</strong> <em>Downside: hard to have one record tell multiple stories (merged)</em></p>
<p><strong>Mingle</strong><br />
When creating stories, you can add tags.  So, for example, you might add a tag for role:Marketing to indicate that this user story is told from the perspective of the marketing stakeholder.  Then, in any place where you can filter, you can filter to include only those items that have that tag.<br />
<strong>Usability: Medium-High</strong> <em>Downside: you have to remember to add the tag, and it does not support Highlight filtering, which can have undesirable side-effects</em></p>
<p><strong>Rally</strong><br />
Like Mingle, you can add tags.  Unfortunately, you can&#8217;t filter by those tags, so I&#8217;m not sure how good they are.<br />
<strong>Usability: Medium</strong> <em>Downside: Have to add the tag, doesn&#8217;t support any filtering on tags (that I can find)</em></p>
<p><strong>VersionOne</strong><br />
You <em>could</em> co-opt the &#8216;Goal&#8217; feature, and create a Goal for every Role in your backlog, and then associate them.  This will allow you to have the many-to-many relationship that is needed, but then you couldn&#8217;t filter on it (I don&#8217;t think), you have to go to the Goals management screen, which is not ideal.  And it is a hack.  Or, you could define a &#8216;Role&#8217; column, and pre-populate it with all the appropriate roles.<br />
<strong>Usability: Medium</strong> <em>Downside: If you forgot one, you need to have the administrator add it.  And you can&#8217;t multi-select, so you can&#8217;t have multiple user stories in one backlog item, so you can&#8217;t merge them.</em></p>
<p><strong>AgileOnDemand</strong><br />
Much like VersionOne, you can add a &#8216;Role&#8217; field, and pre-populate it with options.<br />
<strong>Usability: Low</strong> <em>Downside: unfortunately, this doesn&#8217;t add the field to the WorkItem detail screen, so there is no easy way to set it.  You can add it to the grid view, but then editing it is a bit tedious.  Moreover, there is no clear way to filter by it.</em></p>
<p><Strong>Usability Comparison Summary</strong> on a scale of 1 to 10</p>
<table>
<tr>
<th><strong>Tool</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Merge</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Group</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>New</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Reparent</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Scenarios</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Roles</strong></th>
<th rowspan=8>&nbsp;</th>
</tr>
<tr>
<td>Ideal Tool</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
</tr>
<tr>
<td>3&#215;5 Cards</td>
<td>9</td>
<td>9</td>
<td>9</td>
<td>9</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>Excel</td>
<td>8</td>
<td>7</td>
<td>7</td>
<td>7</td>
<td>1</td>
<td>7</td>
</tr>
<tr>
<td>Mingle</td>
<td>2</td>
<td>4</td>
<td>5</td>
<td>7</td>
<td>2</td>
<td>6</td>
</tr>
<tr>
<td>Rally</td>
<td>4</td>
<td>2</td>
<td>8</td>
<td>2</td>
<td>1</td>
<td>4</td>
</tr>
<tr>
<td>VersionOne</td>
<td>6</td>
<td>6</td>
<td>6</td>
<td>8</td>
<td>1</td>
<td>3</td>
</tr>
<tr>
<td>AgileOnDemand</td>
<td>3</td>
<td>9</td>
<td>9</td>
<td>9</td>
<td>1</td>
<td>1</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.irie-inc.com/2009/11/20/tool-usability-comparison-group-by-role/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tool Usability Comparison: The Epic Adventure</title>
		<link>http://www.irie-inc.com/2009/11/20/usability-epic/</link>
		<comments>http://www.irie-inc.com/2009/11/20/usability-epic/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 10:15:39 +0000</pubDate>
		<dc:creator>jarrowwx</dc:creator>
				<category><![CDATA[Backlog Management Tools]]></category>
		<category><![CDATA[AgileOnDemand]]></category>
		<category><![CDATA[Analog]]></category>
		<category><![CDATA[backlog]]></category>
		<category><![CDATA[Epic]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Mingle]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[Rally]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[VersionOne]]></category>

		<guid isPermaLink="false">http://www.irie-inc.com/?p=158</guid>
		<description><![CDATA[An epic is more than just a collection of functionally related stories.  It is a usage scenario.  It describes the "Happy Path," among the many paths, that the user will take through the application.  What tool supports and encourages thinking of them like that?]]></description>
			<content:encoded><![CDATA[<p>What is an Epic?  It is a Grand Story.  A big story.  Not just a collection of very short stories that all tell the same story from different perspectives, per se.  But instead, it is a story that includes different settings, different players, all telling a grand, coherent story, a story that serves a purpose to tell.</p>
<p>So, in terms of breaking down, or more accurately, building up, your backlog, what is an epic?  It&#8217;s more than just the result of functional decomposition of your intended application.  It is a usage scenario, a process flow if you will.</p>
<p>One Epic Story will span many user stories, telling the adventure that a particular piece of data will go through as it is created, lives its life in the system, and finds its way to the end of its lifecycle after being handled by many people.  One such Epic will tell the story of the &#8220;Happy Path,&#8221; the one that 80% of the time is the one that is taken.  Other Epics will tell the story of the less common paths.  It is the common theme of these Epic stories, what they have in common, that makes up a Theme.</p>
<p>Because Epics are a kind of process flow, multiple Epics may contain the same story.  Which ever Epic is selected for implementation first will result in the stories that make it up being implemented.  Later epics that are implemented will not (necessarily) need to do anything for some of the stories that make up that epic, but will involve implementing only those stories that do not yet exist in the system.  This means that Stories and Epics have a many-to-many relationship.</p>
<p>Wait&#8230;  many-to-many?  How many of the tools actually support creating Epics in a many-to-many relationship?  NONE.  Yes, that&#8217;s right, NONE that I have evaluated, not even the Analog (3&#215;5 card) method.  How can that be?!</p>
<p>Chances are, it&#8217;s because the Analog can&#8217;t do it.  Why can&#8217;t the analog do it?  Because you have a physical card that can only be in one place at a time.  The focus on automating the analog process has blinded the developers of the various tools to the advantage that a digital tool can have, namely that one &#8216;card&#8217; can be in many places at the same time. </p>
<p>To make matters worse, the users don&#8217;t know how to express the fact that they need this to the tool vendors.  They build documents OUTSIDE of their backlog management tool, to make up for the fact that the backlog management tool is not facilitating the true modeling of their system in this way.  It doesn&#8217;t occur to them that EVERYBODY is doing this, for any project of any respectable size, and that this is an opportunity for the tools to help the product owners do a better job of defining what units of work really define &#8220;business value.&#8221;</p>
<p>You see, a feature, by itself, may not add business value.  It&#8217;s only when several individual features are delivered together that the users can actually get WORK done.  So in order to get business value, a collection of features need to be created in concert.  </p>
<p>Problem is, the tools that allow grouping stories only allow those stories to belong to one group at a time.  This precludes the creation of this kind of Epic story, that re-uses individual story cards time and time again.  The end result?  The tools actually encourage people to do functional decomposition.  And there is NOTHING in the tool to allow the product owners to do the mapping between low-level features and high-level processes.  The really good product owner will have to do it all OUTSIDE the tool, and map the end result into the tool.  Less skilled product owners struggle to lead their teams to deliver value, because the tool has encouraged them to break down the work into something other than units of value-providing functionality.</p>
<p>There is something wrong, here.</p>
<p>You COULD define your user stories at a higher level.  They could be the epic adventures, already.  Sure.  But what would you do with the user story that addresses one small piece of functionality, providing an important requirement of the system?  You NEED to be able to capture those fine-grained requirements, but you also NEED to be able to capture and express the process flows.  Agile tools, today, don&#8217;t really meet the product owner&#8217;s needs in that regard.</p>
<p><strong>If Only&#8230;</strong></p>
<p>If only there was a tool that understood this need.  What would that tool be like?</p>
<p>Well, first of all, it would allow the user to create a hierarchical grouping that maps to stories in a 1:N relationship, and it would ship with one such grouping already defined, and called a &#8216;Feature Group&#8217;.  It would also allow hierarchical groupings that map to stories in an N:M relationship, where a story could belong to multiple groups.  It would ship with at least one such grouping:  Epics, or Process Flows, or Use Cases, and maybe another, called &#8216;Theme&#8217; that allows one Epic to be a part of multiple Themes.  Two other groupings that would exist would be one for grouping stories by the Role, the person whose perspective the story is told from, and another that lets stories (or epics) be categorized by their impact on the bottom-line of the business.  I&#8217;ll talk more about these other types of groupings, and how existing tools can or can not allow you to accomplish them, in a future installment of this series.</p>
<p>But here&#8217;s the important part:  The ideal tool will understand the difference between a 1:N hierarchy and an N:M hierarchy, and will let the user create the one that the user needs.  It will not impose upon the user by only allowing one such hierarchy to exist.  After all, if you have created the code to allow such data relationships, why limit the user&#8217;s creativity by only letting them use that ability in one narrowly defined way?  </p>
<p>Okay, sure, if you try to be all things to all people, chances are that you will suck equally to everybody.  The reason that happens is because you reflect that generality in your user interface.  So, you don&#8217;t provide the guidance and focus people need to be successful with your tool.  So don&#8217;t do that!  </p>
<p>Instead of building a single user interface for relating objects, you create a user interface that is optimized to the use case of creating feature groups in a 1:N relationship.  Then you let the user rename the relationship type to whatever they want it to be called, AND you let them create ANOTHER relationship type, called whatever they want, that also describes a 1:N relationship.  You let them define what the components are called, and how they aggregate, and all that fun stuff.  </p>
<p>Then, instead of reusing the 1:N user interface for the N:M user interface, build a custom one, one that is more applicable to that use case.  One that lets the user view the candidate objects (story cards or something else) in their 1:N hierarchy, or in some other N:M relationship, and drag and drop (for example) onto the hierarchy to assign membership.  Then, again, you come pre-configured for certain useful N:M relationship types, but you give the user the ability to create their own.</p>
<p>Of all of the tools I evaluated, the only tool that comes close to this vision is Mingle.  It is a totally generic, but very powerful tool that lets you define your own card types, and your own relationships between them.  Unfortunately, they do not support the ability to define relationships where a particular card type (like a Feature Group) can have a hierarchical relationship, such as a feature-group containing other feature-groups.  And it lacks the ability to make N:M relationships.  Add to that the fact that they are a &#8216;generic&#8217; tool, and the fact that the generic nature of the tool comes out in its user interface, and you find that Mingle still has a ways to go before it meets my idea of the &#8216;perfect&#8217; tool.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irie-inc.com/2009/11/20/usability-epic/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tool Usability Comparison: Hierarchical Grouping</title>
		<link>http://www.irie-inc.com/2009/11/19/usability-hierarchical-grouping/</link>
		<comments>http://www.irie-inc.com/2009/11/19/usability-hierarchical-grouping/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 01:30:38 +0000</pubDate>
		<dc:creator>jarrowwx</dc:creator>
				<category><![CDATA[Backlog Management Tools]]></category>
		<category><![CDATA[AgileOnDemand]]></category>
		<category><![CDATA[Analog]]></category>
		<category><![CDATA[backlog]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Mingle]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[Rally]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[VersionOne]]></category>

		<guid isPermaLink="false">http://www.irie-inc.com/?p=154</guid>
		<description><![CDATA[The ideal tool will let me organize things how I want, without unnecessary or bothersome restrictions.  It will also facilitate my need to quickly focus my attention on only the parts that I need to see right now.  Unfortunately, not all tools do that.]]></description>
			<content:encoded><![CDATA[<p>As mentioned in the <a href="http://www.irie-inc.com/2009/11/17/tools-for-creating-the-backlog/">first</a> installment of this series, as the number of items to be managed grows, so does the need to manage them together as groups.  A story-planning workshop may produce hundreds of story cards.  If you have created story cards from the perspective of all of the different stakeholders, you may have a half-dozen story cards or more, all for one tiny little feature.  Naturally, it only makes sense for these to be grouped together.  But this one tiny feature may be part of a larger feature set.  Capturing this relationship also makes sense.</p>
<p>In the 3&#215;5 card world, you might paper-clip some together, binder-clip groups of paper-clipped groups together, you might place some groups physically near one another on purpose, or in clusters or groups withing confined areas of the desk or wall or floor.  You may draw boundary lines in tape, and put stories or groups into one boundary or another.  The Analog method, which all tools are meant to emulate, allows you at least three or four different grouping levels, possibly more if you get creative.  </p>
<p>Some of the tools let you do as many levels of grouping as you like.  Others do not.  Some let you browse them hierarchically, others do not.  Let&#8217;s take a look.</p>
<p><strong>Analog (3&#215;5 card) Method</strong><br />
Paper-clips, Binder-Clips, marked or defined areas, clusters within areas.<br />
<strong>Usability: Medium</strong> <em>Downside: hard to get the big picture without taking extra steps like summary cards or labels, and there is no (easy) search mechanism, hard to &#8216;browse&#8217; the details if they are in piles or clipped together.</em></p>
<p><strong>Ideal Digital Tool</strong><br />
Stories can be put into an effectively infinite level of nested groupings.  Can expand/collapse groupings as needed to see as much or as little as you want.<br />
<strong>Usability: High</strong></p>
<p><strong>Rally</strong><br />
Allows at least 5 levels of grouping, there is probably no practical limit.  Can expand/collapse groupings as needed to see as much or as little as you want.<br />
<strong>Usability: High</strong> <em>Downside: difficulty managing the tree</em></p>
<p><strong>VersionOne</strong><br />
Allows at least 5 levels of grouping, there is probably no practical limit.<br />
<strong>Usability: Medium-High</strong> <em>Downside: Can&#8217;t browse the hierarchy and look at the stories that are assigned to each grouping.  Can filter by feature group, and display all stories at that level or lower, but you can&#8217;t quickly browse.  Also, can&#8217;t view ONLY the stories in a particular group if there are stories in sub-groups.</em></p>
<p><strong>Mingle</strong><br />
Requires each level of a hierarchy to have a defined card type.  Scrum template offers Theme, Epic, and Story, giving two levels of grouping.  Has a hierarchy view, and a tree view, for browsing.<br />
<strong>Usability: Medium</strong> <em>Downside: Can not create a &#8216;folder&#8217; that can contain other &#8216;folders&#8217;.  Also, the generic approach creates some confusing things, such as your themes and epics and stories and tasks all showing up as equals (in some views) and the default columns not making it so you can tell what is what.</em></p>
<p><strong>Excel</strong><br />
To create one level of grouping, create one group column.  To create two levels, create a second column.  You MIGHT be able to do some custom programming to create a &#8216;group&#8217; column and a &#8216;parent&#8217; column and then navigate the tree with a custom form, but I&#8217;ve never tried.<br />
<strong>Usability: Medium-Low</strong> <em>No easy way to navigate, prone to errors or corruption</em></p>
<p><strong>AgileOnDemand</strong><br />
Defines ONE level of grouping: Epic.  Theme is a text field in the epic.  You can&#8217;t put an epic inside an epic.<br />
<strong>Usability: Low</strong> <em>Tool imposes greatly on how you can organize your backlog</em></p>
<p><Strong>Usability Comparison Summary</strong> on a scale of 1 to 10</p>
<table>
<tr>
<th><strong>Tool</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Merge</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Group</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>New</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Reparent</strong></th>
<th rowspan=8>&nbsp;</th>
<th><strong>Hierarchy</strong></th>
<th rowspan=8>&nbsp;</th>
</tr>
<tr>
<td>Ideal Tool</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
<td>10</td>
</tr>
<tr>
<td>Rally</td>
<td>4</td>
<td>2</td>
<td>8</td>
<td>2</td>
<td>9</td>
</tr>
<tr>
<td>VersionOne</td>
<td>6</td>
<td>6</td>
<td>6</td>
<td>8</td>
<td>7</td>
</tr>
<tr>
<td>Mingle</td>
<td>2</td>
<td>4</td>
<td>5</td>
<td>7</td>
<td>6</td>
</tr>
<tr>
<td>Excel</td>
<td>8</td>
<td>7</td>
<td>7</td>
<td>7</td>
<td>5</td>
</tr>
<tr>
<td>3&#215;5 Cards</td>
<td>9</td>
<td>9</td>
<td>9</td>
<td>9</td>
<td>4</td>
</tr>
<tr>
<td>AgileOnDemand</td>
<td>3</td>
<td>9</td>
<td>9</td>
<td>9</td>
<td>3</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.irie-inc.com/2009/11/19/usability-hierarchical-grouping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

