<?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>Tyner Blain &#187; Requirements Models</title>
	<atom:link href="http://tynerblain.com/blog/category/requirements/requirements-models/feed/" rel="self" type="application/rss+xml" />
	<link>http://tynerblain.com/blog</link>
	<description>Software product success.</description>
	<lastBuildDate>Wed, 08 Feb 2012 16:38:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Why Do Products Fail?</title>
		<link>http://tynerblain.com/blog/2012/02/08/why-do-products-fail/</link>
		<comments>http://tynerblain.com/blog/2012/02/08/why-do-products-fail/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 16:38:54 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Ishikawa Diagram]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[failed products]]></category>
		<category><![CDATA[ishikawa]]></category>
		<category><![CDATA[product failure]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1662</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2012%2F02%2F08%2Fwhy-do-products-fail%2F", "shorturl": "http://bit.ly/yQtPP2", "style": "big", "title": "Why Do Products Fail?" }); Why do products fail?  Trying to organize all of the reasons that your product might fail is a Herculean effort.  Understanding how your product did, will, or might fail will help you focus on what you need to do next. An Exploration [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2012%252F02%252F08%252Fwhy-do-products-fail%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FyQtPP2%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Why%20Do%20Products%20Fail%3F%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2012%2F02%2F08%2Fwhy-do-products-fail%2F", "shorturl": "http://bit.ly/yQtPP2", "style": "big", "title": "Why Do Products Fail?" });</script></div>
<p><img class="alignnone" title="checkmate" src="http://sehlhorst.smugmug.com/Other/blog/i-zs527m5/0/O/checkmate.jpg" alt="photo of a chessboard, showing a king on its side after checkmate" width="250" height="187" /></p>
<p>Why do products fail?  Trying to organize all of the reasons that your product might fail is a Herculean effort.  Understanding how your product did, will, or might fail will help you focus on what you need to do next.</p>
<h2><span id="more-1662"></span>An Exploration of Product Management</h2>
<p>A personal goal for me is to become better at product management, so that I can help create better products.</p>
<p>As a product manager, the <em>most important </em>thing you should be doing is <a title="The value of insight" href="http://tynerblain.com/blog/2011/04/01/the-value-of-insights/">understanding the problems that your customers face</a>.  If you treat &#8220;improving at product management&#8221; as the product, you should start with an exploration of the problem space.  I&#8217;m framing that problem space as <em>products that fail</em>.  I think it is also fair to also think about products that under-perform.  They &#8220;succeed&#8221; given the goals by which they are being measured, but they never realize their full potential.  I&#8217;ll keep the &#8220;not as good as it could be&#8221; notion in the back of my head, and talk to &#8220;failed&#8221; as the larger issue.</p>
<p>There are conversations, blogs, books, processes, and frameworks for &#8220;how to be a (good) product manager.&#8221;  I suspect looking at this from the outside-in (problem first, solution second) may yield some interesting insights.  Thanks to Leisa Reichelt for her article on <a title="Why most User Experience work is bad" href="http://www.disambiguity.com/why-most-ux-is-shite/">why most UX is bad</a>, which inspired me to have the conversation here, approaching the problem as a root cause analysis.</p>
<p>As an <em>agile product manager</em>, I&#8217;m going to approach this iteratively.  I hope that you will provide insights and corrections, helping to adapt this as we go.  Your contributions will make this better, faster.</p>
<h2>Root Cause Analysis of Failed Products</h2>
<p>Ishikawa diagrams were originally created to allow engineers to figure out why something broke &#8211; a visual tool for organizing root cause analyses.  I&#8217;ve been using <a title="Articles that use Ishikawa Diagrams" href="http://tynerblain.com/blog/category/requirements/requirements-models/ishikawa-diagram/">this powerful decomposition tool</a> for several years to solve problems and organize my thoughts.  It may provide the perfect framework for gaining understanding about why products fail.</p>
<p>Let&#8217;s dive right in.  Here&#8217;s my first crack at the very top level of an Ishikawa for product failure.</p>
<p><img class="alignnone" title="Product Failure Reasons - high level" src="http://sehlhorst.smugmug.com/Other/blog/i-Hccs5qx/0/O/20120208Why-Do-Products-Fail.png" alt="" width="450" height="264" /> [<a title="Product Failure - high level Ishikawa" href="http://sehlhorst.smugmug.com/Other/blog/i-qFDzgS3/0/O/20120208Why-Do-Products-Fail.png">larger version</a>]</p>
<p>Looks pretty sparse (for now).  I will fill it in, as I drill down into each area.</p>
<p>If you&#8217;re like me, you&#8217;ve got some &#8220;reasons for failure&#8221; in your head right now &#8211; maybe from past experience, maybe from watching products in the market today.  <strong>Do any of those reasons <em>not</em> map into the categories above?</strong> Tell us about it in the comments (or tell me privately, if you must) &#8211; that&#8217;s the first vector for informing an improved version of this diagram.</p>
<p>Here are some prose descriptions of what I&#8217;m thinking about (for now) for each of those branches on the diagram &#8211; I expect them to fill out with smaller branches attached to each of the main branches.</p>
<p><span style="font-weight: bold;">Product Fails in the Market</span></p>
<ul>
<li><strong>Business Case is Flawed</strong> &#8211; This is where we would capture things like a product strategy that is not profitable, for example, your model was <em>dependent</em> on exponential growth &#8211; so even though you had consistently growing market share, it wasn&#8217;t enough for the product to be considered &#8220;a success&#8221; by you.</li>
<li><strong>Picked the Wrong Market</strong> &#8211; Maybe this market is about to go away, like buggy whips or audio cassettes.  Maybe the competitors in this market are just too good.  Maybe entering this market is too divergent from your corporate strategy and dilutes focus and investment in your company&#8217;s other products.  Another example would be if your team does not have the skills and resources needed to win in a particular market.</li>
<li><strong>Takes Too Long to Enter Market</strong> &#8211; Whatever it is you&#8217;re doing to enter the market, it took you too long.  Competitors have &#8220;out-gunned&#8221; you, your customer&#8217;s needs have changed, etc.  This is to capture causes where even if everything else was good, you simply didn&#8217;t move quickly enough.  At first blush, I expect organizational problems (lack of alignment, bureaucracy, insufficient resources) will all land here.</li>
<li><strong>Doesn&#8217;t Solve the Right Problems</strong> &#8211; This is where most product managers focus most of their time &#8211; making sure we&#8217;re actually solving the right problems (the ones customers are willing to pay to solve).  Problems of design &#8211; where we <em>intended to solve the right problem</em>, but the proposed solution doesn&#8217;t cut it &#8211; would <em>not</em> be in this branch &#8211; they would be in the &#8220;not good enough&#8221; branch.</li>
<li><strong>Positioning &amp; Sales Approach is Wrong</strong> &#8211; For the first iteration, this is my catch-all for marketing and sales.  All of the problems that are &#8220;your potential customers don&#8217;t think of your product as a solution to their problems (even though it is).&#8221;  Also the problems of &#8220;your potential customers decided not to purchase (when they should have)&#8221; and &#8220;your potential customers have never heard of your product.&#8221;  This is definitely an area where you can contribute more than I can to the framework.  How would you (product marketing managers, I&#8217;m looking at you) frame this?</li>
<li><strong>Product is Not Good Enough</strong> &#8211; Execution is key here.  Not solving problems completely (although that might move to the &#8220;right problems&#8221; branch) is an example.  Bad design is an example &#8211; both bad user-experience and bad architecture.  Poor execution also lands here &#8211; broken windows, sloppy implementations, poor quality.  For this branch to work, &#8220;product&#8221; is not just <em>the</em> product that your development team builds, but also your customer relationships, distribution, services, etc.</li>
</ul>
<h2>Open Questions in This Model</h2>
<p>There are definitely some design decisions I made in the approach above that are worth questioning.  Here are some that come to mind for me &#8211; add your own in the comments.</p>
<ul>
<li><strong>Designs that fail to solve the target problems</strong> &#8211; I put this in the the &#8220;not good enough&#8221; bucket, because I felt like there was value in grouping the &#8220;how&#8221; separate from the &#8220;why.&#8221;  Many times, an inadequate design is a design that works great for inadequate requirements &#8211; which means the problem is in the &#8220;why&#8221; column.  How would you organize &#8220;bad requirements execution&#8221; and &#8220;bad design execution&#8221; in this model?</li>
<li><strong>Pricing and Cost &#8211; together, they reflect profitability</strong>.  &#8221;Not profitable&#8221; implies a business case problem.  Incorrect pricing implies a positioning problem or is a red herring that is masking a sales problem.  High cost is reflective of bad design decisions and/or execution problems (both of which are in the &#8220;not good enough&#8221;) bucket.  Perhaps if you can&#8217;t create the product at the cost you need to, for your business model to work, when selling at a given price in order to compete, you have picked the wrong market.  Where would you put pricing and cost issues?</li>
<li><strong>Team Capabilities and Support.</strong> Not having (enough of) the right skills on a team limits what solutions you can create.  Not having enough support to gain needed skills constrains the solution space as well.  When your team does not have what it takes, or have what they need, to create solutions that will succeed in a given market, where would you put this?  For now, it is in the &#8220;picked the wrong market&#8221; bucket, because trying to compete in that market is infeasible.  There&#8217;s probably a better way to frame this &#8211; how would you do it?</li>
</ul>
<h2>A Litmus Test</h2>
<p>One experiment to validate this model is to look at the main causes of project failure and see if they map well into this space.  In the Chaos Report findings from the Standish Group, the following are the top ten responses from the companies they surveyed, along with my thoughts about how they map into this framework.</p>
<ol>
<li>Lack of User Input &#8211; In my experience, this manifests both as <em>not solving the right problems</em> and as delivering a product that is <em>not good enough</em>.  The mechanisms are different flavors of &#8220;not listening.&#8221;</li>
<li>Incomplete Requirements &amp; Specifications &#8211; Ends up causing delays, and possibly not solving the right problems, or having designs that are not good enough (because the requirements that drove the designs were not good enough).</li>
<li>Changing Requirements &amp; Specifications &#8211; I put this squarely in the &#8220;your mindset is broken&#8221; bucket.  <a title="Markets Evolve - Can You Keep Up?" href="http://tynerblain.com/blog/2008/08/26/market-driven-advantage/">Requirements change</a>, even if your requirements document does not.  Depending on how this plays out (for your team, for your process), you either slog on and deliver solutions to the wrong problems, or you take too long to deliver.</li>
<li>Lack of Executive Support &#8211; This can be a <em>takes too long</em> problem.  Or it could be that lack of support causes a product to be abandoned (even if it were succeeding), or constrains options for your team to the point that you aren&#8217;t able to succeed within the parameters.  This one definitely doesn&#8217;t fit the model.  Should we update the model, or treat this one as &#8220;out of scope?&#8221;</li>
<li>Technology Incompetence &#8211; insufficient skill results in <em>not good enough</em> and usually delivery <em>takes too long</em>.  If really bad, it results in &#8220;impossible (for <em>this</em> team) to deliver.&#8221;  For the really bad cases, does it land in <em>picked the wrong market</em>, because that market is infeasible?</li>
<li>Lack of Resources &#8211; Just a subset of lack of executive support.</li>
<li>Unrealistic Expectations &#8211; in the worst cases, it is a problem with the business model.</li>
<li>Unclear Objectives &#8211; lands in <em>not solving the right problem.</em></li>
<li>Unrealistic Time Frames &#8211; same as unrealistic expectations.</li>
<li>New Technology &#8211; yes, change is hard.</li>
</ol>
<p>Not surprisingly, the list from the Chaos report uses a project-centric language.  Other than the (very valid) &#8220;failure profile&#8221; that lack of executive support causes projects to fail, the model seems to hold up reasonably well.</p>
<p>Your turn &#8211; what would you add or change?</p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Why+Do+Products+Fail%3F+http%3A%2F%2Fbit.ly%2FyQtPP2+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2012/02/08/why-do-products-fail/&amp;t=Why+Do+Products+Fail%3F" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2012/02/08/why-do-products-fail/feed/</wfw:commentRss>
		<slash:comments>53</slash:comments>
		</item>
		<item>
		<title>Rating Your Competition &#8211; Comparing Products Part 7</title>
		<link>http://tynerblain.com/blog/2012/01/12/comparing-products-7/</link>
		<comments>http://tynerblain.com/blog/2012/01/12/comparing-products-7/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 14:22:24 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Kano Analysis]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Product Strategy]]></category>
		<category><![CDATA[comparing products]]></category>
		<category><![CDATA[competitive analysis]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1615</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2012%2F01%2F12%2Fcomparing-products-7%2F", "shorturl": "http://bit.ly/wXBXfA", "style": "big", "title": "Rating Your Competition - Comparing Products Part 7" }); At this point in the product comparison series, you know who your customers are, which problems are important to them, and which products compete to solve those problems.  It&#8217;s time to score the competing products and see how [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2012%252F01%252F12%252Fcomparing-products-7%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FwXBXfA%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Rating%20Your%20Competition%20-%20Comparing%20Products%20Part%207%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2012%2F01%2F12%2Fcomparing-products-7%2F", "shorturl": "http://bit.ly/wXBXfA", "style": "big", "title": "Rating Your Competition - Comparing Products Part 7" });</script></div>
<p><img class="alignnone" title="Who is Taller" src="http://sehlhorst.smugmug.com/Other/blog/i-222tRNm/0/O/who-is-taller.jpg" alt="" width="250" height="168" /></p>
<p>At this point in the product comparison series, you know who your customers are, which problems are important to them, and which products compete to solve those problems.  It&#8217;s time to score the competing products and see how the solutions your product provides (or will provide) will stack up.  This is the latest in a series on comparing products, <a title="Comparing Products Series" href="http://tynerblain.com/blog/2011/11/15/comparing-products-1/">jump back to the start of the series</a> if you came here first, but hurry up :).</p>
<p><span id="more-1615"></span></p>
<h2>Overall Product Comparison Process</h2>
<p>This is a relatively long series.  Each article will start with a recap of the overall process.</p>
<p>Getting useful information from comparing products requires you to:</p>
<ol>
<li><a title="Comparing Products - Part 1 - Introduction &amp; Overview" href="http://tynerblain.com/blog/2011/11/15/comparing-products-1/">Introduction &amp; Overview (so that the step-numbers align with the article numbers)</a></li>
<li><a title="Comparing Products - Identify Your Customers" href="http://tynerblain.com/blog/2011/11/22/comparing-products-2/">Identify your customers.</a></li>
<li><a title="Comparing Products - Market Problems" href="http://tynerblain.com/blog/2011/11/29/comparing-products-part-3-market-problems/">Articulate the problems they care about solving.</a></li>
<li><a title="Identifying important problems as a basis for comparing products" href="http://tynerblain.com/blog/2011/12/06/comparing-products-4/">Determine how important solving each problem is, relative to the other problems, for your customers.</a></li>
<li><a title="Comparing Products - Important Customers" href="http://tynerblain.com/blog/2011/12/15/comparing-products-5/">Characterize how important it is for you to solve the problems of each group of customers.</a></li>
<li><a title="Comparing Products part 6" href="http://tynerblain.com/blog/2011/12/21/comparing-products-6/">Discover which (competitive) products your customers consider to be your competition.</a></li>
<li><strong>Assess how effectively each competitive product solves each important problem. (This article)</strong></li>
<li><a title="Tally the Score" href="http://tynerblain.com/blog/2012/01/19/comparing-products-part-8/">Assess how effectively each competitive product solves each important problem, for each important group of customers.</a></li>
</ol>
<p>With this information, you can create a point of view about how your product compares to the others.</p>
<h2>Summarizing Effectiveness</h2>
<p>Earlier in the series, we identified (and refined)<a title="Identifying Important Problems" href="http://tynerblain.com/blog/2011/12/06/comparing-products-4/"> the list of<em> </em>important, relevant problems</a> that our target customers have.</p>
<p><img src="http://sehlhorst.smugmug.com/Other/blog/i-L6vZsWr/0/O/20111206Persona-Problem.png" alt="" width="450" height="128" /> [<a href="http://sehlhorst.smugmug.com/Other/blog/i-HjD4GMq/0/O/20111206Persona-Problem.png">larger image</a>]</p>
<p>This is the &#8220;ruler&#8221; by which each competitive product is going to be measured.  We also <a title="Know Your Competition" href="http://tynerblain.com/blog/2011/12/21/comparing-products-6/">identified several competitors</a>.</p>
<p><img class="alignnone" title="List of Competitors" src="http://sehlhorst.smugmug.com/Other/blog/i-D6L5GNF/0/O/20120111Empty-Competitors.png" alt="" width="450" height="145" /> [<a title="Empty Competitors table" href="http://sehlhorst.smugmug.com/Other/blog/i-ZnmHLW3/0/O/20120111Empty-Competitors.png">larger image</a>]</p>
<p>The next step is to assess how effectively each competitive product (including your own) solves each important problem.  Then you need to assign a &#8220;score&#8221; for how effectively each product solves each problem.  To do that, for each problem you have to articulate an opinion about what it means to solve the problem poorly or completely, or anywhere in-between.</p>
<p><strong>Read Anywhere &#8211; </strong>Previously clarified as &#8220;Be able to read content in multiple physical environments / on multiple devices, and not lose my place in the book.&#8221;</p>
<p>Environments can be indoors/outdoors, extremely cold to moderate to extremely hot temperatures, with variable lighting from a dark room to direct sunlight.  It might also capture environmental context &#8211; sitting, walking, riding on a bus, driving, etc.; quiet to noisy; physically serene, or getting bumped a lot (like in a crowded coffee shop).</p>
<p>Start by defining the endpoints.  I&#8217;ve been using a 9-point scale in this type of analysis, to provide enough granularity to make relative comparisons.  For <em>read anywhere</em>, a score of 1 would mean &#8220;can be used to read in a single, idealized environment / location.&#8221;  A score of 9 would mean &#8220;can be used to read in any realistic situation.&#8221;  Mapping out the scores in-between 1 and 9 requires you to think about the nature of the problem being solved &#8211; and here&#8217;s where <a title="Using Kano Analysis" href="http://tynerblain.com/blog/2009/09/28/kano-analysis-for-product-managers/">Kano analysis is useful</a> (again).</p>
<p>This capability is a good example of an <em>extreme more-is-better</em> capability.  Increasing the range of environments where the product can be used (to read) provides a perceivable benefit to customers, but with diminishing returns.  Also, there is some minimum bar, or table stakes, of environments where the user needs to be able to read, or the product is not considered a viable solution.  On the high end, being able to read <em>literally anywhere</em>, would truly distinguish one product &#8211; making that capability a <em>delighter</em> and a strong differentiator.</p>
<p><img class="alignnone" title="Extreme More is Better" src="http://sehlhorst.smugmug.com/Other/blog/i-qgttbS6/0/O/20120111Generic-Extreme-More.png" alt="" width="450" height="422" /> [<a title="Extreme More is Better" href="http://sehlhorst.smugmug.com/Other/blog/i-4mXKfvd/0/O/20120111Generic-Extreme-More.png">larger image</a>]</p>
<p>How do you decide &#8220;What is a <em>3</em> score?&#8221; You inform these relative scores based on user research (ideally), and your subjective opinion (when you don&#8217;t have research).  For folks who haven&#8217;t been reading Tyner Blain articles for the last few years &#8211; a product manager is market driven, which means you need to use market data to do this <em>as a product manager</em>; however, using your own opinion <em>as a product designer</em> is better than having no data at all.</p>
<p>For this example, my [manufactured, invented, made up for this series of articles,] data defines scores for the <em>Read Anywhere</em> capability as follows:</p>
<ol>
<li><strong> Below The Bar </strong>- User must be seated, and have power and internet connectivity (at the time of reading) in order to use the device.</li>
<li>na</li>
<li><strong>Usable but Very Annoying</strong> &#8211; User can read while standing without being connected to power or the internet.</li>
<li><strong>Not Quite Happy, but <em>Whatever</em> </strong>- User must be indoors, with reasonable lighting and temperature.</li>
<li><strong>Meh </strong>- User can read while riding on the bus or in a car.</li>
<li><strong>OK, but Nothing Special</strong>- User can read in outdoor lighting.</li>
<li><strong>Good </strong>- User can read pretty much anywhere except really noisy, jarring, and / or low-light environments.</li>
<li>na</li>
<li><strong>Wow! </strong>- User can read <em>anywhere</em> that the user would want to read.</li>
</ol>
<p>Note that there are no entries for 2 or 8, to reflect that there&#8217;s a step-function decrease (or increase) in perceived value at this point in the curve.  Plotted on the Kano analysis <em>extreme more is better</em> curve, this rating scale looks like the following:</p>
<p><img class="alignnone" title="Read Anywhere - Kano analysis extreme more is better" src="http://sehlhorst.smugmug.com/Other/blog/i-PnmNfNX/0/O/20120111Read-Anywhere-Kano.png" alt="" width="450" height="422" /> [<a title="Read Anywhere Kano Analysis Scoring" href="http://sehlhorst.smugmug.com/Other/blog/i-nVVCJ8x/0/O/20120111Read-Anywhere-Kano.png">larger image</a>]</p>
<p>One of the things you can see when looking at the scoring system visually is that you may have to make significant investments in order to make incremental improvements, depending on where you are on the curve.  For example, moving from (4) to (6) looks hard &#8211; you are objectively increasing the capability <em>measurably</em> &#8211; and increasing the subjectively perceived value by a comparable amount.</p>
<p>A small shift in scoring &#8211; for example, from (7) to (9) &#8211; can have a dramatic impact on perceived value (specifically, satisfaction received from improving the capability).  Conversely, improving from (6) to (7) may be really hard (expensive) to do, but realistically only improves the way your market perceives your product by a marginal amount.</p>
<p>This view can help you answer questions like</p>
<ul>
<li>Why does the iPod shuffle outperform the Sansa Clip so dramatically? Because the iTunes-centric ecosystem turns the dial from (7) to (9).</li>
<li>Why doesn&#8217;t our detergent outsell theirs, when ours gets clothes cleaner in soft water?  Because moving from (6) to (7) doesn&#8217;t make much of a difference.</li>
</ul>
<p>Zooming in on the low-end of the curve:</p>
<p><img class="alignnone" title="Read Anywhere Disgust" src="http://sehlhorst.smugmug.com/Other/blog/i-h925SbT/0/O/20120111Read-Anywhere-Kano-1-5.png" alt="" width="450" height="489" /> [<a title="Limited Read Anywhere Capability" href="http://sehlhorst.smugmug.com/Other/blog/i-XWvtZBc/0/XL/20120111Read-Anywhere-Kano-1-5-XL.png">larger image</a>]</p>
<p>And at the high end of this capability, we see:</p>
<p><img class="alignnone" title="Read Anywhere Delight" src="http://sehlhorst.smugmug.com/Other/blog/i-mPQXXdF/0/O/20120111Read-Anywhere-Kano-5-9.png" alt="" width="450" height="498" /> [<a title="Read Anywhere Delight" href="http://sehlhorst.smugmug.com/Other/blog/i-gv4Hzk6/0/XL/20120111Read-Anywhere-Kano-5-9-XL.png">larger image</a>]</p>
<p>Applying this rating scale to the competitive products [more made-up data here] we see</p>
<p><img class="alignnone" title="Read Anywhere Scores" src="http://sehlhorst.smugmug.com/Other/blog/i-PzmCF23/0/O/20120111Ready-Anywhere-Scores.png" alt="" width="450" height="55" /> [<a title="Read Anywhere Kano Scores" href="http://sehlhorst.smugmug.com/Other/blog/i-Zbrc2Pc/0/O/20120111Ready-Anywhere-Scores.png">larger image</a>]</p>
<p>It may be that different personas would use markedly different criteria for <em>scoring</em> relative capability.  So far, when I&#8217;ve done this, I&#8217;ve found that different persona care <em>different amounts</em> about the scores for a particular capability, but generally use the same approach to scoring.  When I do come across different personas that would use markedly different scoring criteria for the same capability, I will create use the appropriate scoring criteria for each persona, and add more complexity to this process.  To date, I haven&#8217;t had to do that.</p>
<p><strong>Scoring All of the Capabilities for All of the Products</strong></p>
<p>Applying the same process (determine the nature of each capability, determine the criteria for each capability, assign a score to each product for each capability) will result in something that looks like the following [manufactured to illustrate the concepts] data:</p>
<p><img class="alignnone" title="Competitive Products Scores" src="http://sehlhorst.smugmug.com/Other/blog/i-thnPmxF/0/O/20120111Competitive-Scores-450.png" alt="" width="450" height="181" /> [<a title="Competitive Products Scores" href="http://sehlhorst.smugmug.com/Other/blog/i-MQfzkDG/0/O/20120111Competitive-Scores.png">larger image</a>]</p>
<h2>Alternate Scoring Method</h2>
<p>You could also approach determining the score for a single capability like this by giving points for each characteristic, versus trying to define a continuum like the example above.  For example, you could give</p>
<ul>
<li>2 points for being able to use the device without power.</li>
<li>1 point for being able to read when you are not connected to the internet.</li>
<li>1 point for being able to read in bright sunlight</li>
<li>1 point for being able to read in a dark room</li>
<li>etcetera</li>
</ul>
<p>Then tally up the score for each product, to describe how well they meet the need that users have to read anywhere.</p>
<h2>Interpreting the Comparison</h2>
<p>If you were to stop here, you would just conclude that the iPad2 is the best, and that the two Kindle products are &#8220;close,&#8221; and that the Nook and using a PC are in last place by a wide margin.  However, you aren&#8217;t going to stop here.</p>
<p><strong>Stopping here would ignore <em>completely</em> that different customers care different amounts about solving different problems</strong>.</p>
<p>In the next article in this series, we&#8217;ll see how to incorporate that info, and answer the two questions you need to be able to answer:</p>
<ol>
<li>Which product is best for <em>a specific persona</em>?</li>
<li>Which product is best overall.</li>
</ol>
<h2>Summary</h2>
<p>To create a competitive product, you need to know how your product stacks up against the competition &#8211; and that means you need to know how effective your solutions are (or are perceived to be) at solving the problems your customers will pay to solve.  You can compare <em>today&#8217;s product</em> to assess your current position, and you can inform the decisions about <em>what your product needs to be.</em></p>
<p>Recapping the overall flow of this series of articles on product comparison</p>
<blockquote><p>Getting useful information from comparing products requires you to:</p>
<ol>
<li><a title="Comparing Products introduction" href="http://tynerblain.com/blog/2011/11/15/comparing-products-1/">Introduction and Overview (so that the step-numbers align with the article numbers)</a></li>
<li><a title="Comparing Products - Who Are Your Customers" href="http://tynerblain.com/blog/2011/11/22/comparing-products-2/">Identify your customers.</a></li>
<li><a title="Comparing Products Part 3 - Market Problems" href="http://tynerblain.com/blog/2011/11/29/comparing-products-part-3-market-problems/">Articulate the problems your customers care about solving.</a></li>
<li><a title="Assessing problem-importance when comparing products" href="http://tynerblain.com/blog/2011/12/06/comparing-products-4/">Determine how important solving each problem is, relative to the other problems, for your customers.</a></li>
<li><a title="Comparing Products part 5 - Important Customers" href="http://tynerblain.com/blog/2011/12/15/comparing-products-5/">Characterize how important it is for you to solve the problems of each group of customers.</a></li>
<li><a title="Comparing Products - Part 6" href="http://tynerblain.com/blog/2011/12/21/comparing-products-6/">Discover which (competitive) products your customers consider to be your competition.</a></li>
<li><strong>Assess how effectively each competitive product solves each important problem. (This article)</strong></li>
<li><a title="Tally the Score" href="http://tynerblain.com/blog/2012/01/19/comparing-products-part-8/">Assess how effectively each competitive product solves each important problem, for each important group of customers.</a></li>
</ol>
<p>With this information, you can create a point of view about how your product compares to other products.</p></blockquote>
<p>Taking it to the next level, as a product manager, your decisions about <em>tomorrow&#8217;s product</em> should be in the context of where you expect <em>tomorrow&#8217;s competition</em> (and tomorrow&#8217;s customers) to be.  There is a danger &#8211; especially after investing in the &#8220;state of the industry&#8221; analysis above &#8211; that you will continue to compete in <em>yesterday&#8217;s race</em>, when <a title="Differentiate Your Product" href="http://tynerblain.com/blog/2007/01/23/differentiate-your-product/">you should probably be innovating to redefine the game</a>.  The comparison you just did is not a waste (because it looks at today&#8217;s problems &#8211; they become the <em>table stakes</em> for tomorrow).</p>
<p><strong>Remember, this exercise <em>informs</em> future product decisions, it does not <em>define</em> them.</strong></p>
<h2>Attributions</h2>
<p>Thanks <a title="Rick Cox on Flickr" href="http://www.flickr.com/people/rickcox/">Rick Cox</a> for the <a title="Comparing Height" href="http://www.flickr.com/photos/rickcox/5720775599/sizes/l/in/photostream/">height comparison</a> photo.</p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Rating+Your+Competition+%E2%80%93+Comparing+Products+Part+7+http%3A%2F%2Fbit.ly%2FwXBXfA+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2012/01/12/comparing-products-7/&amp;t=Rating+Your+Competition+%E2%80%93+Comparing+Products+Part+7" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2012/01/12/comparing-products-7/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Know Your Competition &#8211; Comparing Products Part 6</title>
		<link>http://tynerblain.com/blog/2011/12/21/comparing-products-6/</link>
		<comments>http://tynerblain.com/blog/2011/12/21/comparing-products-6/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 16:08:53 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Ishikawa Diagram]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Product Strategy]]></category>
		<category><![CDATA[comparing products]]></category>
		<category><![CDATA[design context]]></category>
		<category><![CDATA[incremental development]]></category>
		<category><![CDATA[market problems]]></category>
		<category><![CDATA[persona]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1584</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2011%2F12%2F21%2Fcomparing-products-6%2F", "shorturl": "http://bit.ly/s1ZilY", "style": "big", "title": "Know Your Competition - Comparing Products Part 6" }); You start with a point of view about what makes a minimum viable product.  When your product launches, it is your customer&#8217;s point of view that matters.  You must understand which problems your customers care about solving, and [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2011%252F12%252F21%252Fcomparing-products-6%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2Fs1ZilY%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Know%20Your%20Competition%20-%20Comparing%20Products%20Part%206%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2011%2F12%2F21%2Fcomparing-products-6%2F", "shorturl": "http://bit.ly/s1ZilY", "style": "big", "title": "Know Your Competition - Comparing Products Part 6" });</script></div>
<p><img class="alignnone" title="Multiple Pills that Compete with Each Other" src="http://sehlhorst.smugmug.com/Other/blog/i-mGNDKrW/0/O/pills.jpg" alt="" width="250" height="155" /></p>
<p>You start with a point of view about what makes a minimum viable product.  When your product launches, it is <em>your customer&#8217;s point of view</em> that matters.  You must understand which problems your customers care about solving, and what solutions are available to your customers today.  You need to understand your competition to make informed decisions about your product.  This is the latest in a <a title="Comparing Products - Introduction" href="http://tynerblain.com/blog/2011/11/15/comparing-products-1/">series on comparing products</a> &#8211; jump back to the beginning of the series to catch up, we&#8217;ll wait.<br />
<span id="more-1584"></span></p>
<h2>Overall Product Comparison Process</h2>
<p>This is a relatively long series.  Each article will start with a recap of the overall process.</p>
<p>Getting useful information from comparing products requires you to:</p>
<ol>
<li><a title="Comparing Products - Part 1 - Introduction &amp; Overview" href="http://tynerblain.com/blog/2011/11/15/comparing-products-1/">Introduction &amp; Overview (so that the step-numbers align with the article numbers)</a></li>
<li><a title="Comparing Products - Identify Your Customers" href="http://tynerblain.com/blog/2011/11/22/comparing-products-2/">Identify your customers.</a></li>
<li><a title="Comparing Products - Market Problems" href="http://tynerblain.com/blog/2011/11/29/comparing-products-part-3-market-problems/">Articulate the problems they care about solving.</a></li>
<li><a title="Identifying important problems as a basis for comparing products" href="http://tynerblain.com/blog/2011/12/06/comparing-products-4/">Determine how important solving each problem is, relative to the other problems, for your customers.</a></li>
<li><strong><a title="Comparing Products - Important Customers" href="http://tynerblain.com/blog/2011/12/15/comparing-products-5/">Characterize how important it is for you to solve the problems of each group of customers.</a></strong></li>
<li><strong>Discover which (competitive) products your customers consider to be your competition. </strong>(This Article)</li>
<li><a title="Rating Your Competition" href="http://tynerblain.com/blog/2012/01/12/comparing-products-7/">Assess how effectively each competitive product solves each important problem.</a></li>
<li><a title="Tally the Score" href="http://tynerblain.com/blog/2012/01/19/comparing-products-part-8/">Assess how effectively each competitive product solves each important problem, for each important group of customers.</a></li>
</ol>
<p>With this information, you can create a point of view about how your product compares to the others.</p>
<h2>No Competition</h2>
<p><img class="alignnone" title="El Camino - half car, half truck" src="http://sehlhorst.smugmug.com/Other/blog/i-Kh3nxK5/0/O/el-camino.jpg" alt="" width="250" height="155" /></p>
<p><strong>If you think your product has no competition, you&#8217;re wrong.</strong></p>
<p>The photo above shows an <em>El Camino</em>, a combination of a car and a truck.  The front of the vehicle, the cabin interior, and the overall height / profile of the vehicle is that of a car; but the vehicle has a tailgate and a truck bed for hauling stuff.  A pretty novel idea at the time.  There were no other car-truck combination vehicles, but that doesn&#8217;t mean the El Camino had no competition.</p>
<p><img class="alignnone" title="Mini with a trailer" src="http://sehlhorst.smugmug.com/Other/blog/i-q8S6ZXd/0/O/mini-with-trailer.jpg" alt="" width="246" height="185" /></p>
<p>You should not define competitive products as the products that exactly match the features of your product.  You should not define competitive products as those that solve (exactly) the same set of problems that your product solves.  Every interesting problem already has a solution &#8211; and therefore, you have competition.  It may be that there are not any <em>particularly good solutions</em> in the market.  It may be that the competitive products are not well known, and would not be likely to compete effectively.</p>
<p><img class="alignnone" title="overloaded car" src="http://sehlhorst.smugmug.com/Other/blog/i-FhrFGML/0/O/overloaded-car.jpg" alt="" width="250" height="185" /></p>
<p>It may be that the solution your customers choose is &#8220;deal with it.&#8221;  The &#8220;deal with it&#8221; solution, at first glance, from a B2C (business &#8211; to &#8211; consumer) perspective feels like &#8220;there is no competition,&#8221; but I believe that embracing that point of view puts you at risk of being myopic about your market.  In the B2B (business &#8211; to &#8211; business) area, &#8220;deal with it&#8221; is one version of the &#8220;in house solution&#8221; competitor &#8211; a very real scenario.  Stacking ridiculous amounts of stuff on top of your car is analogous to managing your accounts receivable in a spreadsheet.  You can do it, but it is a solution that is fraught with other risks.</p>
<p>Your customer generally has four options from which to choose when deciding if they should buy your product.</p>
<ol>
<li>Buy your product.  Hooray.</li>
<li>Buy someone else&#8217;s product.</li>
<li>Build their own solution.  Your customer believes that <em>rolling their own</em> is a better alternative to purchasing a solution from someone else.</li>
<li>Deal with the problem.  The cost of the solution is believed to be higher than the cost of the problem.</li>
</ol>
<p>How do you identify which products are compelling competitors?</p>
<h2>Problem Abstraction</h2>
<p>One thing you learn as a product manager, when eliciting requirements, is to <a title="The Reason Why" href="http://tynerblain.com/blog/2006/02/21/the-reason-why/">keep asking &#8220;why?&#8221;</a> (and <a title="Another Use for Why" href="http://tynerblain.com/blog/2006/10/24/another-use-for-why/">more </a>and <a title="The importance of Asking Why" href="http://tynerblain.com/blog/2005/12/13/everything-i-needed-to-know-i-forgot-in-kindergarden/">more </a>on asking &#8220;why?&#8221; &#8211; check out the comments on these articles).  The goal in elicitation is to find the actual underlying problem, and not just <a title="Your Problem Statement is the Problem" href="http://tynerblain.com/blog/2008/05/12/your-problem-statement/">the obvious manifestation of the problem</a>.  One technique you can use is to <a title="Defining Problems with Ishikawa Diagrams" href="http://tynerblain.com/blog/2008/05/27/cause-and-effect-diagrams/">create an Ishikawa Diagram that helps you define the problem(s) your product is attempting to solve</a>.</p>
<p>Your goal is to find the right level of abstraction at which to determine who your competition is.  If we consider <strong>Tim, the hi-tech prosumer who consumes niche content</strong>, we would see that the decomposition of his high level goals looks like the following:</p>
<p><img class="alignnone" title="Tim's Goal Decomposition" src="http://sehlhorst.smugmug.com/Other/blog/i-ZhJkWkF/0/O/20111221Comparing-Products.png" alt="" width="450" height="256" /> [<a title="Persona Goal Decomposition - Tim" href="http://sehlhorst.smugmug.com/Other/blog/i-nd8KQGZ/0/O/20111221Comparing-Products.png">larger image</a>]</p>
<p>There are several benefits to using this approach of describing the decomposition of Tim&#8217;s goals:</p>
<ol>
<li>You get traceability of your requirements, allowing you to see <a title="Writing Valuable Requirements" href="http://tynerblain.com/blog/2009/07/29/valuable-requirements/"><em>why</em> each goal matters</a>, from Tim&#8217;s perspective.</li>
<li>The graphical layout forces you to <a title="Writing Concise Requirements" href="http://tynerblain.com/blog/2009/08/03/concise-requirements/">be <em>concise</em> in how you describe Tim&#8217;s goals</a>.</li>
<li>You have a framework for validating that you have defined the <a title="Writing Complete Requirements" href="http://tynerblain.com/blog/2010/02/23/complete-requirements/"><em>complete</em> set of requirements</a> needed to satisfy Tim.</li>
<li>Looking at &#8220;everything&#8221; in one view helps you assure that your <a title="Writing Consistent Requirements" href="http://tynerblain.com/blog/2010/04/06/consistent-requirements/">requirements are <em>consistent</em></a>.</li>
<li>You know &#8220;when to stop&#8221; in decomposition when your <a title="Writing Atomic Requirements" href="http://tynerblain.com/blog/2010/09/14/atomic-requirements/">requirements are <em>atomic</em></a>.</li>
<li>You have a framework for assuring that you focus on <a title="Writing Passionate Requirements" href="http://tynerblain.com/blog/2010/09/27/passionate-requirements/">those goals that Tim is <em>passionate</em> about</a>.</li>
<li><strong>You have tractable goals that you can use to think <em>outside of the box</em> when identifying competitors.</strong></li>
<li>You have a clear and visceral tool for communicating with your team, to inspire innovative designs and clever solutions.</li>
</ol>
<h2>Finding Competitors</h2>
<p>Some of the competitive solutions will be very straightforward, and obvious based on your understanding of your product domain.  Others you will discover through research.</p>
<p>When we look at the <em><a title="Kindle Fire at Amazon" href="http://www.amazon.com/exec/obidos/ASIN/B0051VVOB2/tynerblain-20/">Kindle Fire</a></em> as a product, we know from Amazon&#8217;s positioning that Tim will be able to read books &amp; magazines (in color), consume multimedia content, browse the internet, stream movies, and borrow books.  He&#8217;ll have access to &#8220;millions of books,&#8221; be able to &#8220;read anywhere,&#8221; and connect with people over email from the device.  The <a title="Nook Tablet at B&amp;N" href="http://www.barnesandnoble.com/p/nook-tablet-barnes-noble/1104687969">Barnes &amp; Noble <em>Nook Tablet</em></a> is positioned directly as a competitor to the Kindle Fire (and <a title="Nook Tablet" href="http://www.amazon.com/exec/obidos/ASIN/1400501466/tynerblain-20/">can even be purchased through Amazon</a>).</p>
<p>It is occasionally annoying to read reviews of the <em>Kindle Fire </em>that basically say &#8220;not an <em>iPad </em>killer,&#8221; where the reviewer compares the features of the Kindle Fire, a <em>single purpose device with multiple capabilities</em>, with the iPad, <em>a multi-purpose device that can be used for (many) single purposes</em>.  The iPad is a viable competitor for the Kindle Fire, but a comparison in the other direction does not make sense.  The products are <em><a title="Introduction to Substitute and Complementary Goods" href="http://tynerblain.com/blog/2009/12/07/substitutes-and-complements/">asymmetric substitutes</a></em> &#8211; they are only substitutes for each other in a particular context.  If you are Tim, trying to enjoy niche content, then the iPad is a viable competitive product.  If you are a 15 year old boy who wants to play a first person shooter when you&#8217;re being shuttled to soccer practice, the Kindle Fire is a non-starter.</p>
<p><img class="alignnone" title="Needle in a Haystack" src="http://sehlhorst.smugmug.com/Other/blog/i-Xk5fnrc/0/O/haystack.jpg" alt="" width="250" height="166" /></p>
<p>Finding a needle in a haystack is easier than identifying competitive products.  You know there is only one needle &#8211; once you find it, you stop looking.</p>
<p><strong>Identifying competitive products is more akin to finding out how many needles are in the haystack</strong></p>
<p>You can do research on the internet &#8211; start with the positioning from already identified competitors, look for editorials, rumor articles, reviews, research papers, customer reviews, discussion forums.  Search social media streams &#8211; find conversations (and broadcasts) about the product and the domain.  This gives you either minimal or overwhelming information, depending on how many competitors are already positioning themselves as products in this market segment.</p>
<p>Interview people who share goals with your personas &#8211; they don&#8217;t<em> have to </em>match your personas (but they can) &#8211; you are trying to discover solutions that you don&#8217;t yet know about.  Find out how they address those goals.  Maybe they use a web browser on their desktop computer, cobbling together a cabal of single-purpose solutions.  If they already own a competitive product, find out what they did <em>before</em> they bought that product.  As an example, someone like our <em>Tim</em> persona, before buying a purpose-built product, did the following:</p>
<ul>
<li>Used The Sword and Laser podcast to discover new content and get recommendations.</li>
<li>Used Facebook to get and share suggestions with his friends, and have conversations about his favorite works.</li>
<li>Used wikipedia and artist individual websites to find other works by his favorite artists.</li>
<li>Subscribed by email to artists that published serials, blogs, other recurring content.</li>
<li>Purchased tangible copies of works from Amazon.com.</li>
<li>Borrowed tangible copies of works from IRL (in-real-life) friends.</li>
<li>Purchased ebooks in pdf, epub or other formats that could be read on his computer and phone.</li>
<li>Used Dropbox (or drag-and-drop by USB) to synchronize content across devices.</li>
</ul>
<p><strong>The problems that people are solving did not come into existence when the solutions were invented.</strong> The problems predate the solutions. [Note:if you have a Forrester subscription, check out Mary Gerush's <em><a title="Understand the lifecycle of requirements" href="http://www.forrester.com/rb/Research/exploit_real_requirements_life_cycle/q/id/57954/t/2">Exploit the Requirements Lifecycle</a></em> for a more detailed discussion].</p>
<p>The <em>roll your own </em>solution is a viable &#8220;competitor&#8221; for a B2C product.  In the B2B world, this is usually called <em>best of breed</em>. [Note: it is usually called this by one of the vendors of one of the pieces of the cobbled-together solution].  Using these amalgam-of-products solution strategies can make sense &#8211; and for some customers it will be the best solution.</p>
<p><img class="alignnone" title="Christina Persona" src="http://sehlhorst.smugmug.com/Other/blog/i-9FWtRFK/0/O/d250px.jpg" alt="" width="250" height="213" /> <img class="alignnone" title="Tim" src="http://sehlhorst.smugmug.com/Other/blog/i-D6h24dt/0/O/e250px.jpg" alt="" width="250" height="234" /></p>
<p>We know that Christina and Time (two of our personas, <a title="Personas in Context Example" href="http://tynerblain.com/blog/2011/11/29/comparing-products-part-3-market-problems/">defined earlier in the series</a>) are different personas &#8211; they value different goals differently.  They will also use different approaches to create their own <em>mix and match</em> solutions to their problems.  Previously, I said that you didn&#8217;t <em>have to</em> interview people who represented your personas in order to identify competitors.  You do, however, need to figure out which product bundles represent the <em>roll your own</em> solution for each persona.  That is best done by interviewing representative customer prospects.</p>
<h2>Our Example Competitors List</h2>
<p>In this series, we are showing the mechanics of performing a product comparison, not sharing an actual analysis of the Kindle Fire.  As such, this is (again) where I get to manufacture illustrative data.  Here&#8217;s the list of competitive products that could have resulted from the research and analysis described above:</p>
<ol>
<li>The Kindle Fire</li>
<li>The Nook Tablet</li>
<li>The Kindle Touch</li>
<li>The iPad 2</li>
<li>A laptop running windows, with a pdf reader, the free kindle app, and an HTML 5-compliant web browser.</li>
</ol>
<p>The list above is not exhaustive.  Like most analysis activities, you can go on forever, but with diminishing returns.  Where you draw the line is a matter of risk mitigation.  Add as many competitors as you feel you need to accurately assess how well your product (or a future version of your product) will compete in the market.  There is a risk associated with both too much analysis and too little analysis.</p>
<p><strong>Too much analysis slows you down</strong> and is expensive.  You will get a comprehensive view, and minimize the risk of missing something, but you run the risk of taking too long.  You also run the risk of never stopping &#8211; you can never find <em>all</em> of the needles in the haystack &#8211; <strong>and therefore you run the risk of never shipping or shipping too late.</strong></p>
<p><strong>Too little analysis saves money and time, but you run the risk of delivering the wrong product</strong>.  If you happen to identify all of the competitors that have (or will have) success in the market, you&#8217;ll be sufficiently informed (because your view will be a super-set of your customers&#8217; views).  If you overlook a product that is driving the market, you run the risk of watching the world go by through rose colored glasses &#8211; you&#8217;ll watch people buy that other product, and not understand why they aren&#8217;t buying yours.</p>
<p>Here&#8217;s where <em>agile</em> provides a perspective that lets you escape the catch-22.  If you do &#8220;too much&#8221; you can never recover.  The money you spent is a <a title="Definition of Sunk Cost" href="http://tynerblain.com/blog/2006/03/24/definition-of-sunk-cost/">sunk cost</a>.  The time you lost is gone.</p>
<p>If you do too little, you can always do more later, when you realize you need to, as long as your team is capable of embracing change.</p>
<h2>Summary</h2>
<p>To create a competitive product, you need to know how your product stacks up against the competition &#8211; and that means you need to know who the competition is.  A product marketing manager may take this information to emphasize strengths and &#8220;turn weaknesses into strengths.&#8221;  A product manager can use the insights from this analysis to paint an informed picture of what the product needs to be (and why).</p>
<p>Recapping the overall flow of this series of articles on product comparison</p>
<blockquote><p>Getting useful information from comparing products requires you to:</p>
<ol>
<li><a title="Comparing Products introduction" href="http://tynerblain.com/blog/2011/11/15/comparing-products-1/">Introduction and Overview (so that the step-numbers align with the article numbers)</a></li>
<li><a title="Comparing Products - Who Are Your Customers" href="http://tynerblain.com/blog/2011/11/22/comparing-products-2/">Identify your customers.</a></li>
<li><a title="Comparing Products Part 3 - Market Problems" href="http://tynerblain.com/blog/2011/11/29/comparing-products-part-3-market-problems/">Articulate the problems your customers care about solving.</a></li>
<li><a title="Assessing problem-importance when comparing products" href="http://tynerblain.com/blog/2011/12/06/comparing-products-4/">Determine how important solving each problem is, relative to the other problems, for your customers.</a></li>
<li><strong><a title="Comparing Products part 5 - Important Customers" href="http://tynerblain.com/blog/2011/12/15/comparing-products-5/">Characterize how important it is for you to solve the problems of each group of customers.</a></strong></li>
<li><strong>Discover which (competitive) products your customers consider to be your competition.</strong> (This article)</li>
<li><a title="Rating Your Competition" href="http://tynerblain.com/blog/2012/01/12/comparing-products-7/">Assess how effectively each competitive product solves each important problem.</a></li>
<li><a title="Tally the Score" href="http://tynerblain.com/blog/2012/01/19/comparing-products-part-8/">Assess how effectively each competitive product solves each important problem, for each important group of customers.</a></li>
</ol>
<p>With this information, you can create a point of view about how your product compares to other products.</p></blockquote>
<h2>Attributions</h2>
<p>Thanks <a title="Matthiew's Profile" href="http://www.flickr.com/people/myglesias/">Matthiew Yglesias</a> for the <a title="Matthiew Yglesias" href="http://www.flickr.com/photos/myglesias/476095305/sizes/l/in/photostream/">El Camino</a> photo.</p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Know+Your+Competition+%E2%80%93+Comparing+Products+Part+6+http%3A%2F%2Fbit.ly%2Fs1ZilY+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2011/12/21/comparing-products-6/&amp;t=Know+Your+Competition+%E2%80%93+Comparing+Products+Part+6" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2011/12/21/comparing-products-6/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Agile Estimation, Prediction, and Commitment</title>
		<link>http://tynerblain.com/blog/2011/08/09/agile-estimation/</link>
		<comments>http://tynerblain.com/blog/2011/08/09/agile-estimation/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 06:32:33 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Prioritization]]></category>
		<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[ROI]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[User Stories]]></category>
		<category><![CDATA[agile estimation]]></category>
		<category><![CDATA[agile prediction]]></category>
		<category><![CDATA[agile release planning]]></category>
		<category><![CDATA[cone of uncertainty]]></category>
		<category><![CDATA[project planning]]></category>
		<category><![CDATA[release planning]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1488</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2011%2F08%2F09%2Fagile-estimation%2F", "shorturl": "http://bit.ly/nUdL7S", "style": "big", "title": "Agile Estimation, Prediction, and Commitment" }); Your boss wants a commitment.  You want to offer a prediction.  Agile, you say, only allows you to estimate and predict &#8211; not to commit.  &#8221;Horse-hockey!&#8221; your boss exclaims, &#8220;I want one throat to choke, and it will be yours if [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2011%252F08%252F09%252Fagile-estimation%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FnUdL7S%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Agile%20Estimation%2C%20Prediction%2C%20and%20Commitment%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2011%2F08%2F09%2Fagile-estimation%2F", "shorturl": "http://bit.ly/nUdL7S", "style": "big", "title": "Agile Estimation, Prediction, and Commitment" });</script></div>
<p><img class="alignnone" title="One Throat" src="http://sehlhorst.smugmug.com/Other/blog/i-sBtqDPL/0/O/throat.jpg" alt="" width="166" height="250" /></p>
<p>Your boss wants a commitment.  You want to offer a prediction.  Agile, you say, only allows you to estimate and predict &#8211; not to commit.  &#8221;Horse-hockey!&#8221; your boss exclaims, &#8220;I want <em>one</em> throat to choke, and it will be yours if you don&#8217;t make a commitment and meet it.&#8221;  There&#8217;s a way to keep yourself off the corporate gallows &#8211; estimate, predict, <em>and</em> commit &#8211; using agile principles.</p>
<p>This is an article about agile product management and release planning.</p>
<p><span id="more-1488"></span></p>
<h1>Change and Uncertainty</h1>
<p><img class="alignnone" title="pyramid" src="http://sehlhorst.smugmug.com/Other/blog/i-kLX4P5V/0/O/pyramid.jpg" alt="" width="250" height="163" /></p>
<p>In the dark ages before your team became agile, you would make estimates and commitments.  You never <em>exactly</em> met your commitments, and no one <em>really</em> noticed.  That was how the game was played.  You made a commitment, everyone <em>knew</em> it would be wrong, but they expected it anyway.  Maybe your boss handicapped your commitment, removing scope, lowering expectations, padding the schedule.  Heck, that&#8217;s been the recipe for success since they planned the pyramids.</p>
<p>It makes sense.</p>
<ol>
<li><strong>Your early estimates are wrong. </strong> When you add them up, the total will be wrong.  If you do <a title="PERT estimation tutorial" href="http://tynerblain.com/blog/2006/04/13/foundation-series-basic-pert-estimate-tutorial/">PERT estimation</a>, the <a title="Advanced PERT page 1" href="http://tynerblain.com/blog/2009/06/18/advanced-pert-estimation/">law of large numbers</a> will <a title="Advanced PERT estimation - page 2" href="http://tynerblain.com/blog/2009/06/18/advanced-pert-estimation/2/">help you in aggregate</a>.  But you&#8217;ll still be wrong.</li>
<li><strong>The outside demands on, and availability of, your people will change.</strong> Unplanned sick time, attrition, levels of commitment over time, lots of &#8220;people stuff&#8221; is really unknown.</li>
<li><strong>The needs of your customers will change. </strong> <a title="Adapting to Changing Markets" href="http://tynerblain.com/blog/2008/08/26/market-driven-advantage/">Markets evolve over time</a>.  You get smarter, your competitors get better, your customer&#8217;s expectations change.</li>
</ol>
<p><img class="alignnone" title="sphinx" src="http://sehlhorst.smugmug.com/Other/blog/i-PJksfgv/0/O/sphinx.jpg" alt="" width="250" height="187" /></p>
<p>Agile processes are designed to help you deliver what your customer actually needs, not what was originally asked for.  Contrast the two worlds.</p>
<p>In the old world, you would commit to delivering a couple pyramids.  After spending double your budget, with double the project duration, you would have delivered one pyramid.  When you deliver it, you find out that sphinxes are <em>all the rage</em>.  Oops.</p>
<p>Your team changed to agile, so that you could deliver the sphinx.  But your Pharaoh still wants a commitment to deliver a couple pyramids (the smart ones will be expecting to get just one).  You can stay true to agile, and still mollify your boss&#8217; need to have a commitment, if you take advantage of the first-principles of why agile estimation works.</p>
<h2>Estimation</h2>
<p>A commitment is a factual prediction of the future.  &#8221;This will take two weeks.&#8221;  Nobody is prescient.</p>
<p>A factual prediction has to be nuanced.  &#8221;I expect* this will take no more than two weeks.&#8221;</p>
<p style="padding-left: 30px;">*in reality, this is shorthand for a mathematical prediction, such as &#8220;I expect, with 95% confidence, that this will take no more than two weeks.&#8221;</p>
<p>Few non-scientist, non-engineers, non-mathematicians understand that 95% confidence has a precise meaning.  People usually interpret it to mean &#8220;a 5% chance that it will take more than two weeks.&#8221;  What it really means is that if this exact same task were performed twenty thousand times (in a hypothetical world, of course), then nineteen thousand of those times, it would be completed in under two weeks &#8211; do you feel lucky?</p>
<p>To make a statement like this, you actually have to create <a title="PERT Estimation" href="http://tynerblain.com/blog/2006/04/13/foundation-series-basic-pert-estimate-tutorial/">a PERT estimate</a> &#8211; identifying the best-case, worst-case, and most-likely case for how long a task will take.</p>
<p><img class="alignnone" title="PERT Estimate" src="http://sehlhorst.smugmug.com/photos/567766108_8mN5Z-L.png" alt="" width="450" height="327" /></p>
<p>Unfortunately, we&#8217;re rarely asked to make a commitment about a <em>single</em> task &#8211; but rather a large collection of tasks &#8211; well-defined, ill-defined, and undefined.</p>
<p>You can combine PERT estimates for the individual tasks, resulting in an overall estimate of the collection of tasks.</p>
<p><img class="alignnone" title="Combined PERT Estimates" src="http://sehlhorst.smugmug.com/photos/567787127_5TbDg-L.png" alt="" width="450" height="327" /></p>
<p>The beauty of this approach is that the <a title="Central Limit Theorem" href="http://en.wikipedia.org/wiki/Central_limit_theorem">central limit theorem</a>, and <a title="Law of Large Numbers" href="http://en.wikipedia.org/wiki/Law_of_large_numbers">the law of large numbers</a>, work to help you estimate a collection of tasks &#8211; you can actually provide better estimates of a group of tasks than a single task.  This obviously helps with the <em>well-defined</em> tasks that you know about at the start of the project.  This even helps with the <em>ill-defined</em> tasks.  Rationalists will argue that the key, then, is to do more up-front research to discover the <em>undefined</em> tasks &#8211; and then we&#8217;re set.  As Frederick Brooks (<em>Mythical Man-Month</em>) points out in <em><a title="The Design of Design" href="http://tynerblain.com/blog/2010/07/06/the-design-of-design/">The Design of Design</a></em>, this debate has been going on since Descartes and Locke.  It is not a new idea.</p>
<p>Big Up-Front Design and Requirements (BUFD &amp; BUFR) hasn&#8217;t worked particularly well, so far.</p>
<p><img class="alignnone" title="baby boy" src="http://sehlhorst.smugmug.com/Other/blog/i-Szbjk5c/0/O/baby.jpg" alt="" width="250" height="174" /></p>
<p>Don&#8217;t throw out the baby with the bath-water, however.  The math of estimation is still important and useful.  Even if empiricism is not the silver bullet.</p>
<h1>Prediction</h1>
<p>Estimation is a form of prediction.  Even agile teams do it.  In Scrum, you estimate a collection of user stories &#8211; in story points that represent complexity, and you <em>predict</em> how many points the team can complete in <em>this sprint</em>.  Note the time factor.  If you&#8217;re working a two-week sprint, there is very little risk of changes in staffing during a two-week period.  There&#8217;s also very little risk that your market will change significantly in two weeks &#8211; and if it does, what are the odds that you will notice <em>and</em> materially change your requirements in <em>two weeks</em>?</p>
<p>Visually, let&#8217;s take that PERT estimate and turn it sideways &#8211; so we can introduce the dimension of time.  Imagine you estimated all of the tasks (well-defined, ill-defined, and a <em>guess</em> about the undefined), <em>as if they were all to happen in the first sprint</em>.  Ignore inter-task dependencies, and pretend you had unlimited resources and the ability to perform all tasks in parallel.</p>
<p><img class="alignnone" title="Estimate Without Time" src="http://sehlhorst.smugmug.com/Other/blog/i-84bwNmj/0/O/20110808Prediction-and.png" alt="" width="450" height="365" /></p>
<p>The graph above shows the aggregate estimate &#8211; the circle is your best <em>prediction</em>, with error bars representing your confidence interval in the estimate.  If you were using PERT estimates, these could represent that 5% and 95% confidence lines.  Subjectively pick something based on your team&#8217;s experience in the domain and your confidence in your guesses (about the <em>undefined</em> tasks).</p>
<p>We need a segue into the &#8220;best of waterfall&#8221; approach to estimating projects, to steal and invert a good idea.</p>
<h1>The Cone of Uncertainty</h1>
<p>The folks at <a title="Cone of Uncertainty" href="http://www.construx.com/Page.aspx?cid=1648">Construx have published a nice explanation of the <em>cone of uncertainty</em></a> &#8211; an adaptation of an idea from Steven McConnell&#8217;s <em>Software Estimation: Demystifying The Black Art</em> (2006).  That article uses his imagery with permission &#8211; so please go look at it there.  The idea is that as the project becomes better defined (e.g. <em>during the project</em>), the amount of uncertainty is reduced.</p>
<p>The findings show that initial estimates are off by 400% (either low by a factor of 4 or high by a factor of 4)!  Even after &#8220;nailing down&#8221; requirements, estimates are still off by 30% to 50%!</p>
<p>As bad as that sounds, it is actually worse.  This is a prediction for <em>the original project</em> (delivering pyramids).  Not only are your estimates wrong &#8211; but <strong>they are bad estimates for delivering <em>the wrong product</em></strong>.</p>
<p>But &#8211; the core idea is sound &#8211; the further into the future you have to execute, the greater the mistakes in your estimate.</p>
<p>Taking that concept, and applying it to our diagram, we get the following:</p>
<p><img class="alignnone" title="Cone of Uncertainty" src="http://sehlhorst.smugmug.com/Other/blog/i-qwXrRM4/0/O/20110808Prediction-and.png" alt="" width="450" height="363" /></p>
<p>The further into the future you are trying to <em>predict</em>, the less accuracy you have in your prediction.  This reduction in accuracy is reflected as a widening of the <em>confidence bands</em> for your estimate.</p>
<ul>
<li>A couple sprints&#8217; worth of work is not much different than one sprint &#8211; so your estimation range is not much changed.</li>
<li>An entire release of sprints (say 6 to 10 sprints) has much more opportunity for <em>the unknown</em> to rear its head.</li>
</ul>
<p>Now, your prediction is (probably) unusably vague and imprecise.  &#8221;This set of tasks will take X plus or minus a factor of two.&#8221;</p>
<p>That&#8217;s the reality.</p>
<p>Note: This has always been the reality.  People have historically reduced this &#8220;risk to timing&#8221; by hiding the &#8220;risk of change&#8221; aspects &#8211; and waterfall processes encourage you to deliver <em>the wrong thing, as close to on-time as possible.</em></p>
<p><em><img class="alignnone" title="Ostrich" src="http://sehlhorst.smugmug.com/Other/blog/i-FmRbFG8/0/O/ostrich.jpg" alt="" width="194" height="250" /></em></p>
<p>That&#8217;s not what we want to do, however.</p>
<p>We still want to deliver the (not-yet-defined) <em>right</em> product, as efficiently as possible.  That&#8217;s the goal of agile.  (For folks who haven&#8217;t been here at Tyner Blain for long &#8211; &#8220;right&#8221; includes both value and quality).</p>
<h1>Refinement</h1>
<p>Because we&#8217;re agile, and we&#8217;re willing to &#8220;get smarter&#8221; about our product over time, we have an opportunity to improve.  Because of the nature of compounding estimates and the cone of uncertainty, our uncertainty gets smaller over time.</p>
<p>Let&#8217;s remove our artificial simplification that we could do everything &#8220;right now&#8221; and look at what we think we know right now, about the end of the release.</p>
<p><img class="alignnone" title="today predicting the release" src="http://sehlhorst.smugmug.com/Other/blog/i-8mRL3Pd/0/O/20110808Prediction-and.png" alt="" width="450" height="363" /></p>
<p>Our ability to <em>predict</em> the amount of effort (for today&#8217;s definition of the product) at the end of the release is not very good.</p>
<p><img class="alignnone" title="release planning after first sprint" src="http://sehlhorst.smugmug.com/Other/blog/i-WjNhLZd/0/O/20110808Prediction-and.png" alt="" width="450" height="363" /></p>
<p>Our ability to predict (today&#8217;s definition of the product) one sprint into the future is much better.</p>
<p><img class="alignnone" title="predicting the release after one sprint" src="http://sehlhorst.smugmug.com/Other/blog/i-rmXLSKW/0/O/20110808Prediction-and.png" alt="" width="450" height="363" /></p>
<p>After completing the first sprint, we are <em>a little bit smarter</em> &#8211; the ill-defined tasks are better defined.  Maybe some of the undefined tasks are now ill-defined.  The same cone of uncertainty is now a little bit smaller &#8211; we are a little bit smarter, and the time horizon of the release date is a little bit closer.</p>
<p><img class="alignnone" title="cone of uncertainty shrinks with each sprint" src="http://sehlhorst.smugmug.com/Other/blog/i-42LNqnZ/0/O/20110808Prediction-and.png" alt="" width="450" height="363" /></p>
<p>The trend continues &#8211; each sprint gets us closer to the release date, and with each sprint (assuming we get feedback from our customers, and continue to study our markets) we get a little bit smarter.  We also get better at predicting the team&#8217;s velocity (how much &#8220;product&#8221; they can deliver during each sprint).</p>
<h1>Commitment</h1>
<p>Your boss still wants a commitment, however.  And that&#8217;s where we get to change the way we look at this (again).</p>
<p>The above diagrams all display how we converge on an estimate for a stable body of work.  However, we know that the body of work is constantly changing.</p>
<p>Backlog! [you say]</p>
<p>Yes!  The backlog.  The backlog is an ordered, prioritized list of user stories and bugs.  I was talking with Luke Hohmann of <a title="Innovation Games" href="http://innovationgames.com/">Innovation Games</a> last month, and one of<a title="Bang for the Buck Innovation Game" href="http://innovationgames.com/game_view/instant_play/KR25FMG33K0IKNKZV15JXCIXL4S4W1X2"> the most popular online Innovation Game</a>s is now the one they created based on <a title="Prioritize by Bang for the Buck" href="http://tynerblain.com/blog/2008/10/20/planning-sprints-part-2/">prioritizing by bang for the buck</a>.  Play it today online (for free!).  How cool is that?</p>
<p>The backlog represents the work the team is going to do &#8211; in the order in which the team is going to do it.  Over time, as we get smarter, we will add and remove items from the backlog &#8211; because we discover new capabilities that are important, and because we learn that some things aren&#8217;t worth doing.  We will even re-order the backlog as we recognize shifting priorities in the markets (or in our changing strategy).</p>
<p>As this happens, it turns out that the items at the top of the list are least likely to get displaced, and therefore most likely to still be part of the product by the time we get to the release.</p>
<p><strong>Instead of thinking about uncertainty in terms of how long it takes, think about uncertainty in terms of how much we complete in a fixed amount of time.</strong> In agile, generally, we apply<a title="Timeboxing Software Delivery" href="http://tynerblain.com/blog/2006/04/12/how-to-use-timeboxes-for-scheduling-software-delivery/"> a timebox approach</a> to determining what gets built.</p>
<p>Now, uncertainty, instead of manifesting as &#8220;<em>when</em> do we finish?&#8221; becomes &#8220;<em>what</em> will we finish?&#8221;</p>
<p>Your boss is rational.  She appreciates the constraints, she just wants to know <em>what you can commit</em>.  Every boss I&#8217;ve worked with has been willing (sometimes only after much discussion) to treat this uncertainty in terms of <em>what</em> instead of <em>when</em>.  They acknowledge that they need to translate (usually for <em>their</em> boss) into a &#8220;fixed&#8221; commitment.</p>
<p>The solution: <em>commit </em>to a subset of what you <em>predict</em> you can complete.</p>
<p>At the start of the release, you may have 500 points worth of stories.  Based on your team&#8217;s expected velocity, and the number of sprints in the release, you <em>predict</em> that you can complete 320 points worth of stories (5 people on the team, a team velocity of 40 points per sprint, and 8 sprints in the release).  Starting at the top of the backlog and working down, draw a cut-line at the last story you can complete (when you reach 320 points).  This is your <em>prediction</em>.</p>
<p>Now the commitment part.  You&#8217;ll have to figure out what you&#8217;re comfortable with.  Maybe for 8 sprints (say, 16 weeks into the future), you may only be comfortable <em>committing</em> to half that amount &#8211; 160 points.  Go back to the top of the backlog, and count down until you reach 160 points.  Everything above the line is what you <em>commit</em> to delivering.</p>
<p>Maybe you are comfortable committing to 240 points, maybe only 80.  This is like playing spades.  The more you can commit to, without missing, the better off you are.  Your tolerance for risk is different than mine.</p>
<p>You can also <em>negotiate</em> with your boss.  Commit to 160 points now, and provide an update after every other sprint.  More likely than not, you will be <em>increasing</em> the scope of your commitment with every update.</p>
<p>Mid-project updates of &#8220;we can do more&#8221; are always better than &#8220;we can do less.&#8221;  And both are better than end-of-project surprises.  This also allows you to have updates that look like this:</p>
<p style="padding-left: 30px;">We didn&#8217;t know this at the start of the release, but X is really important to our customers &#8211; and we will be able to deliver X <em>in addition to</em> what we already committed.  Without slipping the release date.</p>
<h1>Conclusion</h1>
<p>Making commitments with an agile process is not impossible.  It just needs to be approached differently (if you want to stay true to agile).  The end result: better predictions, more realistic commitments, and the likelihood that each update will be good news instead of bad.</p>
<p>[Update: Changed initial image.  Thanks <a title="CC Attribution link" href="http://www.flickr.com/photos/archer10/">Dennis</a> for the great photo!]</p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Agile+Estimation%2C+Prediction%2C+and+Commitment+http%3A%2F%2Fbit.ly%2FnUdL7S+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2011/08/09/agile-estimation/&amp;t=Agile+Estimation%2C+Prediction%2C+and+Commitment" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2011/08/09/agile-estimation/feed/</wfw:commentRss>
		<slash:comments>100</slash:comments>
		</item>
		<item>
		<title>The Value of Insights</title>
		<link>http://tynerblain.com/blog/2011/04/01/the-value-of-insights/</link>
		<comments>http://tynerblain.com/blog/2011/04/01/the-value-of-insights/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 19:07:06 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Kano Analysis]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Product Strategy]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[intellectual property]]></category>
		<category><![CDATA[market insight]]></category>
		<category><![CDATA[patents]]></category>
		<category><![CDATA[product manager]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1467</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2011%2F04%2F01%2Fthe-value-of-insights%2F", "shorturl": "http://bit.ly/gFWtcL", "style": "big", "title": "The Value of Insights" }); Intellectual Property.  The legal jargon definition of this term has come to effectively mean &#8220;something I&#8217;ve patented, copyrighted, or hold as a trade secret.&#8221;  A more general interpretation is &#8220;an idea.&#8221;  For product managers, the most valuable ideas are insights. The Value [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2011%252F04%252F01%252Fthe-value-of-insights%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FgFWtcL%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22The%20Value%20of%20Insights%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2011%2F04%2F01%2Fthe-value-of-insights%2F", "shorturl": "http://bit.ly/gFWtcL", "style": "big", "title": "The Value of Insights" });</script></div>
<p><img class="alignnone" title="patent 5808255 small diagram" src="http://sehlhorst.smugmug.com/Other/blog/patent-5808255-diagram-small/1236152354_d22Vt-O.png" alt="" width="152" height="250" /></p>
<p>Intellectual Property.  The legal jargon definition of this term has come to effectively mean &#8220;something I&#8217;ve patented, copyrighted, or hold as a trade secret.&#8221;  A more general interpretation is &#8220;an idea.&#8221;  For product managers, the most valuable ideas are insights.</p>
<p><span id="more-1467"></span></p>
<h2>The Value of Insight as Intellectual Property</h2>
<p>Last week, the folks at <a title="Ryma" href="http://www.rymatech.com/about-us.html">Ryma Technologies Solutions</a> invited me back to present another webinar as part of their <a title="Grandview" href="http://grandview.rymatech.com/about-us.html">GrandView</a> Product Management View webinar series.  [My previous PMV webinar was on Kano Analysis] Thanks to <a title="Val Workman on twitter" href="http://twitter.com/#!/valworkman">Val </a>and <a title="Bradley Kravitz" href="http://twitter.com/#!/bradley_kravitz">Bradley</a> and <a title="Johnny Russo" href="http://twitter.com/#!/russojohnny">Johnny </a>for the invitation, and for making it a great experience!</p>
<p>You can watch the video version, listen to the audio, or get the slides in pdf format from <a title="Insights as Intellectual Property" href="http://grandview.rymatech.com/2011/186-value-of-insights-as-intellectual-property.html">the GrandView site</a>.  If you want to get a 5-minute sample to <em>try before you buy</em> (with your attention, that is &#8211; this is 100% free), check out <a title="Insights as IP" href="http://www.youtube.com/watch?v=ZmtSmCgzemA">the sampler on youtube.com</a>.</p>
<p>Or &#8211; if you want to flip through the slides (also on slideshare) now, and then decide &#8211; go right ahead:</p>
<div id="__ss_7439919" style="width: 425px;"><strong><a title="The Value of Insight as Intellectual Property" href="http://www.slideshare.net/ssehlhorst/20110329value-of-insights-as-intellectual-property">The Value of Insight as Intellectual Property</a></strong> <object id="__sse7439919" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=20110329-valueofinsightsasintellectualproperty-110329213319-phpapp01&amp;stripped_title=20110329value-of-insights-as-intellectual-property&amp;userName=ssehlhorst" /><param name="name" value="__sse7439919" /><param name="allowfullscreen" value="true" /><embed id="__sse7439919" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=20110329-valueofinsightsasintellectualproperty-110329213319-phpapp01&amp;stripped_title=20110329value-of-insights-as-intellectual-property&amp;userName=ssehlhorst" name="__sse7439919" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/ssehlhorst">Scott Sehlhorst</a></div>
</div>
<p>Or go directly to the <a title="Insights as IP" href="http://www.slideshare.net/ssehlhorst/20110329value-of-insights-as-intellectual-property">page on slideshare.net</a>.</p>
<p>The main idea in the presentation is that your understanding of your market is the information that is most valuable.  There are several examples of this type of information in the presentation &#8211; you can see the visuals in the slides, but listening is probably required to explain most of them.</p>
<h2>The Contentious Idea</h2>
<p>I got some feedback that my central theorem &#8211; that insights are more valuable than patents &#8211; would be controversial.  I addressed this <em>a little bit</em> in the webinar.  Expanding on those thoughts here might serve to get a debate and conversation going.</p>
<p>I&#8217;m a former engineer (electro-mechanical controls design), and I hold 4 patents.  Each of those patents represents a body of &#8220;protected information&#8221; describing a solution to a problem.  A very specific solution.  Those patents have value.  But those patented solutions are not the <em>only</em> solutions to those problems.</p>
<p>When I was taking economics classes in college, I learned about the notions of <a title="Substitute Goods and Complementary Goods" href="http://tynerblain.com/blog/2009/12/07/substitutes-and-complements/">substitute and complementary goods</a>.  Once I became a design engineer, and learned how patents work, I also learned how to get around patents.  By designing perfect substitutes.  The process is pretty simple:</p>
<ol>
<li>Pick a patented device.</li>
<li>Understand what it does &#8211; what function does it perform (and precisely how &#8211; this is the patented part)?</li>
<li>Understand what problem it was designed to solve &#8211; note: this part is <em>not</em> protected information.</li>
<li>Determine the <em>important</em> performance characteristics for solving the problem in (3).</li>
<li>Invent another way to solve the problem from (3), that meets the criteria from (4), without copying (2).</li>
</ol>
<p>That&#8217;s it.</p>
<p>Every problem can be solved in many ways.  And when those alternatives all solve the problem equivalently, those solutions become perfect substitutes.  That makes any single solution effectively a commodity.  You can&#8217;t <a title="Successful Products are Intentional" href="http://tynerblain.com/blog/2008/05/19/successful-products/">intentionally create a valuable solution</a> to the problem without understanding the problem.</p>
<p>The value is in the understanding of the problem, and your market&#8217;s willingness to pay to solve it.  Not in having protection of one of the infinite number of possible solutions.  That&#8217;s the point I make in the webinar, before quickly moving to examples that show ways of developing insights about your customers [note: the examples are influenced by my approach using <a title="Customer-Centric Market Model" href="http://tynerblain.com/blog/2010/09/20/customer-centric-market-model/">a customer-centric market model</a>].</p>
<h2>Disagree?</h2>
<p>Chime in below or on the GrandView site, and let&#8217;s have a great discussion.  And as always, thanks for listening/watching/reading!</p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+The+Value+of+Insights+http%3A%2F%2Fbit.ly%2FgFWtcL+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2011/04/01/the-value-of-insights/&amp;t=The+Value+of+Insights" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2011/04/01/the-value-of-insights/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Everything Old is New Again</title>
		<link>http://tynerblain.com/blog/2011/02/03/everything-old-is-new-again/</link>
		<comments>http://tynerblain.com/blog/2011/02/03/everything-old-is-new-again/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 23:54:19 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Ishikawa Diagram]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[Requirements gathering]]></category>
		<category><![CDATA[market driven]]></category>
		<category><![CDATA[migration continuum]]></category>
		<category><![CDATA[migration projects]]></category>
		<category><![CDATA[project goals]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1434</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2011%2F02%2F03%2Feverything-old-is-new-again%2F", "shorturl": "http://bit.ly/hyO0sa", "style": "big", "title": "Everything Old is New Again" }); A lot of teams that I&#8217;ve worked on and with get hung up when thinking about defining requirements for &#8220;migration projects&#8221; and &#8220;system upgrades.&#8221;  There&#8217;s some intangible barrier to being market focused when it comes to improving existing internal systems.  Every [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2011%252F02%252F03%252Feverything-old-is-new-again%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FhyO0sa%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Everything%20Old%20is%20New%20Again%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2011%2F02%2F03%2Feverything-old-is-new-again%2F", "shorturl": "http://bit.ly/hyO0sa", "style": "big", "title": "Everything Old is New Again" });</script></div>
<p><img class="alignnone" title="blindfolded programmers" src="http://sehlhorst.smugmug.com/Other/blog/blindfolded-typists/1176759477_Ltfqp-O.jpg" alt="" width="250" height="180" /></p>
<p>A lot of teams that I&#8217;ve worked on and with get hung up when thinking about defining requirements for &#8220;migration projects&#8221; and &#8220;system upgrades.&#8221;  There&#8217;s some intangible barrier to being <em>market focused</em> when it comes to improving <em>existing internal systems</em>.  Every <em>new</em> product represents a solution to an existing problem.  Why do so many projects move forward with teams that are blind to the actual requirements?</p>
<p><span id="more-1434"></span></p>
<h2>New Products</h2>
<p><img class="alignnone" title="tangled cassette tape" src="http://sehlhorst.smugmug.com/Other/blog/cassette-small/1176536700_4yVVB-O.jpg" alt="" width="250" height="187" /></p>
<p>Even &#8220;revolutionary&#8221; products like the iPod are just addressing existing market problems.  Part of what makes this statement true is looking at things from a market perspective &#8211; thinking about the <em>valuable</em> problems that people are willing to pay to solve.  Even if the iPod were the first mp3 player (<a title="The first mp3 player" href="http://reviews.cnet.com/4520-6450_7-5622055-1.html">it wasn&#8217;t</a>), it would still only be an improvement.  The first mp3 player was not <em>new</em>, it provided an improved way to listen to your music on the go.  You could put your whole music library in your pocket.  Much better than a stack of cassettes melting in the glove box of your car, or a tape getting caught on your keys and unraveled when you pull it out of your backpack.</p>
<p>What&#8217;s important, and difficult (especially for people with technology backgrounds), is to think about it in terms of what people are trying to accomplish &#8211; not <em>how</em> they are trying to accomplish it.  In a business process view, it is the difference between process (why) and procedure (how).</p>
<p>There&#8217;s <a title="continuum of migration projects" href="http://tynerblain.com/blog/2006/03/15/organizing-a-software-migration-project/">a continuum of migration projects</a>, ranging from <em>completely new</em> to <em>identical </em>processes.  Neither extreme <em>technically</em> exists &#8211; think of it as a range from infinite change in the existing process to 1 / (infinite change) in the existing process.</p>
<p><img class="alignnone" title="migration project continuum" src="http://sehlhorst.smugmug.com/photos/59244846-M.png" alt="" width="501" height="196" /></p>
<p>Near the &#8220;completely new process&#8221; /<em>infinite change</em> end of the spectrum are processes that are completely new <em>to you</em>.  Remember, you&#8217;re solving a problem, perhaps in a very innovative way, that people are already solving some other way.  You&#8217;re just providing a better solution approach.</p>
<p>Near the <em>identical process</em> end of the spectrum are projects are &#8220;pin-compatible&#8221; platform migrations and near-sighted legacy system migrations.  Moving from an old gas-guzzling car to a new, more efficient model is a good example.  I mention &#8220;near sighted&#8221; because that old system was designed to meet an old set of market needs, so the new system will, by definition, not meet current market needs &#8211; it will only meet the old market needs.  Pragmatically, when considering organizational change, it may make sense to do your system upgrade in two stages: migrate the systems (&#8220;nearly identical process&#8221;) and deal with all the gotchas of migration <em>first</em>, then start re-engineering the processes and optimizing the procedures to address new market needs (major and minor process changes, respectively) <em>second</em>.</p>
<p>Set aside the possible, possibly rational rationale* to migrate the implementation first, and the functionality second.  Consider that a deployment and logistics detail and get back to the problem at hand.  Most of the times I&#8217;ve been involved in system migrations, they have been initiated as cost-savings platform projects.  Over the last few years, more often the migration project gets prioritized as a means to an end &#8211; &#8220;doing <em>new thing X</em> is prohibitively expensive on the old system.&#8221;  That opens the door to talking about goals.</p>
<p style="padding-left: 30px;">* Couldn&#8217;t pass that one up.</p>
<h2>Capturing Goals</h2>
<p>On a recent project to migrate part of a company&#8217;s operations from one platform to another (system consolidation, after an acquisition), I created the following <a title="Ishikawa Diagrams of Goals" href="http://tynerblain.com/blog/2008/05/27/cause-and-effect-diagrams/">Ishikawa diagram</a> to represent the goals for the migration project.</p>
<p><img class="alignnone" title="migration project goals" src="http://sehlhorst.smugmug.com/Other/blog/blurred-ishikawa/1176737644_DctZG-O.png" alt="" width="450" height="259" /></p>
<p>Even a &#8220;don&#8217;t change anything&#8221; project has real underlying goals.  Once you discover them, you open the door to having conversations about making things <em>better</em>.  Might be a &#8220;do it later&#8221; situation, but often, there is an opportunity to grab some of the <em>low-hanging fruit</em> during the system implementation.</p>
<p>The most important reason to capture the goals when &#8220;everyone already knows the goals&#8221; &#8211; aside from the fact that that is never true &#8211; is to make sure decisions are being made eyes-open.</p>
<p>Requirements live outside of the timeline of a particular project.  Once you&#8217;ve identified those requirements (aka market needs / company strategy), the next question is to determine which of those goals <em>this</em> project is intended to support or advance.  That question drives a lot of clarity into strategic thinking, and those answers drive a lot of clarity into project execution.</p>
<p><img class="alignnone" title="blind typists" src="http://sehlhorst.smugmug.com/Other/blog/blindfolded-typists/1176759477_Ltfqp-O.jpg" alt="" width="250" height="180" /></p>
<p>When you don&#8217;t share the context of the goals of the project, you are effectively blindfolding your team.  You prevent them from discovering opportunities to make things better.  You prevent them from making the <em>right </em>choice, when decisions are otherwise (without the context of goals) arbitrary.</p>
<p>For example, we talk about <a title="satisficing" href="http://tynerblain.com/blog/2008/11/12/satisficing-sprints/">satisficing </a>as a means to know when to ship &#8211; when it is &#8220;good enough.&#8221;  Without context, the <em>opinion</em> of &#8220;good enough&#8221; comes from someone on the team, without guidance.  In an agile environment, with <em>self-directed</em> teams, you&#8217;re making a trust-based decision to explicitly empower the team to make those decisions.  Don&#8217;t you want to give them some information, to help them make that decision?</p>
<h2>Conclusion</h2>
<p>This article really only explores <em>part</em> of the process of making real, large, projects happen in large environments.  That is a topic I&#8217;ll be talking about in a couple months.  You won&#8217;t get a sense of sated accomplishment from reading just <em>this</em> article &#8211; too much of the end-to-end, start-to-finish of real projects is unaddressed.</p>
<p>You will, however, know how to start the project.  Define the goals.  Someone will tell you the goal is to &#8220;Copy what the old system did.  We don&#8217;t have time to re-engineer.  Why are you bothering me?  Let me know if I need to find someone who can get the job done.&#8221;</p>
<p>Now you know how to respond.</p>
<p>**Attributions</p>
<p>Thanks <a title="foxtongue on flickr" href="http://www.flickr.com/photos/foxtongue/">foxtongue </a>for the blindfolded typists photo</p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Everything+Old+is+New+Again+http%3A%2F%2Fbit.ly%2FhyO0sa+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2011/02/03/everything-old-is-new-again/&amp;t=Everything+Old+is+New+Again" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2011/02/03/everything-old-is-new-again/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Prioritize Features!</title>
		<link>http://tynerblain.com/blog/2011/01/21/dont-prioritize-features/</link>
		<comments>http://tynerblain.com/blog/2011/01/21/dont-prioritize-features/#comments</comments>
		<pubDate>Fri, 21 Jan 2011 06:51:26 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Kano Analysis]]></category>
		<category><![CDATA[Prioritization]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[estimation]]></category>
		<category><![CDATA[Kano analysis]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1429</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2011%2F01%2F21%2Fdont-prioritize-features%2F", "shorturl": "http://bit.ly/e0x9f0", "style": "big", "title": "Don't Prioritize Features!" }); Estimating the &#8220;value&#8221; of features is a waste of time.  I was in a JAD session once where people argued about if the annoying beeping (audible on the conference line) was a smoke alarm or a fire alarm.  Yes, you can get to [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2011%252F01%252F21%252Fdont-prioritize-features%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2Fe0x9f0%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Don%27t%20Prioritize%20Features%21%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2011%2F01%2F21%2Fdont-prioritize-features%2F", "shorturl": "http://bit.ly/e0x9f0", "style": "big", "title": "Don't Prioritize Features!" });</script></div>
<p><img class="alignnone" title="Smoke Alarm" src="http://sehlhorst.smugmug.com/Other/blog/smoke-alarm/1163238793_Dai8d-O.jpg" alt="" width="250" height="187" /></p>
<p>Estimating the &#8220;value&#8221; of features is a waste of time.  I was in a JAD session once where people argued about if the annoying beeping (audible on the conference line) was a <em>smoke</em> alarm or a <em>fire</em> alarm.  Yes, you can get to an answer, but <em>so what?!</em> The important thing is to solve the problem.</p>
<p><span id="more-1429"></span></p>
<h2>Solutions Versus Features</h2>
<p>Everyone on that conference call had an immediate and visceral appreciation of the value of <em>making the beeping stop</em>.  That&#8217;s the power of solving a problem.  The <em>methods </em> of solving the problem &#8211; mute the offender, replace the battery, throw the alarm out the window &#8211; do not have implicit value.  They have an <em>indirect</em> value, in an &#8220;end justifies the means&#8221; kind of way.  But not direct value.</p>
<p>The same sort of thing applies when talking about prioritizing features.  Eric Krock (<a title="Eric Krock on Twitter" href="http://twitter.com/#!/voximate">@voximate</a>) just wrote a really good article, <em><a title="Calculating ROI per Feature" href="http://www.voximate.com/blog/article/822/per-feature-roi-stupid/">Per-Feature ROI Is (Usually) a Stupid Waste of Time</a></em>, where he does two great things, and (barely) missed an opportunity for a hat trick.</p>
<p>The first great thing Eric did was look at the challenges of determining relative (ordinal or cardinal) value of &#8220;several things.&#8221;  He points out several real world challenges:</p>
<ol>
<li>When you have a product with <em>several things already</em> and you want to determine the value of <em>yet another thing</em> &#8211; how do you allocate a portion of future revenue <em>to the new thing</em> versus the things you already have?</li>
<li>When thing A and thing B have to be delivered together, to realize value, how do you prioritize things A &amp; B?  Relative to each other?</li>
<li>The opportunity cost of having your product manager do a valuation exercise on a bunch of things is high.  She could be doing more valuable things.</li>
<li>You won&#8217;t perform a retrospective on the accuracy of your valuation.  So you won&#8217;t know if it was a waste of time, and you won&#8217;t get better at future exercises.</li>
</ol>
<p>The second great thing Eric did was reference a Tyner Blain article from early 2007 on <a title="Measuring the Costs of Features" href="http://tynerblain.com/blog/2007/02/05/calculating-roi-and-measuring-costs/">measuring the costs of features</a>.  I mean &#8220;great&#8221; on three levels.</p>
<ol>
<li>As a joke (for folks who don&#8217;t know me, figured I&#8217;d mention that I&#8217;m kidding, just in case you get the wrong idea).</li>
<li>There is some good stuff in that earlier costing article about allocation of fixed and variable costs (with a handy reminder.</li>
<li>Eric&#8217;s article gives me an opportunity to shudder at the language I was using in 2007, see how much some of my thinking has evolved in four years, and improve a bit of it here and now.</li>
</ol>
<p>What Eric slightly missed is the same thing I completely missed in 2007 &#8211; features don&#8217;t have inherent value.  Solutions to problems do have value.  He only slightly missed it because he got the <a title="Problem Manifestations and Underlying Problems" href="http://tynerblain.com/blog/2008/05/12/your-problem-statement/">problem manifestation</a> right &#8211; it takes a lot of effort, for little reward, to spend time thinking about what features are worth.  I also missed the opportunity in an article <a title="Utility Curves and ROI" href="http://tynerblain.com/blog/2007/02/07/prioritization-with-roi-and-utility/">looking at utility curves as an approach to estimating benefits</a>, written two days after the one on cost allocation.  We were both <em>so close</em>!</p>
<p><strong>People don&#8217;t buy features.  They buy solutions.</strong></p>
<h2>Valuing Solutions Instead of Features</h2>
<p>Estimating the value of solutions addresses a lot of the real problems that Eric calls out.  It also has a side benefit of keeping your perspective <em><a title="Outside-In thinking" href="http://tynerblain.com/blog/2007/09/27/outside-in/">outside-in</a></em> versus <em>inside-out</em>.  Or as others often say, it keeps you &#8220;market driven.&#8221;</p>
<p>Anything that you&#8217;re doing, as a product manager, that has you focused on understanding your market and your customers and their problems is a good thing.  It may even be the most important thing.  I would contend that it eliminates objection 3 &#8211; the opportunity cost of estimating the value of <em>solutions</em> is minimal or zero.  There may be activities with more urgency, but off the top of my head, none that are more important, for a product manager.</p>
<p>Comment if I&#8217;m missing something (it&#8217;s late and I just got home from another week on the road).</p>
<p>The way I approach determining the value of a solution is by developing a point of view about how much incremental profit I will get when my product starts solving this additional problem.  Revenue can increase from additional sales, or from the ability to increase prices.  Cost can increase if new marketing and other operations (launches, PR campaigns, etc) are required to realize the incremental revenue.</p>
<p>I start with a <a title="Customer-Centric Market Model" href="http://tynerblain.com/blog/2010/09/20/customer-centric-market-model/">customer-centric market model</a>.</p>
<p><img class="alignnone" title="Customer Centric Market Model" src="http://sehlhorst.smugmug.com/Other/blog/20100915Big-Market-Overview450/1015188438_YekhJ-O.png" alt="" width="450" height="393" /></p>
<p>A given solution, or improved solution (as in &#8220;solves the problem better,&#8221; or &#8220;solves more of the problem&#8221;) &#8211; which only applies to <a title="Kano Analysis of Problems" href="http://tynerblain.com/blog/2006/02/27/prioritizing-software-requirements-kano-take-two/">some problems</a> &#8211; is interesting to <em>some</em> customers, in <em>some</em> market segments.</p>
<p>A solution has value when it brings in incremental customers, in a targeted market segment.  It also has value when it reduces or prevents erosion of your current customer base (in a SaaS or maintenance-revenue model) to competitive solutions.</p>
<p>The time you spend thinking about <a title="buyer persona vs user persona" href="http://tynerblain.com/blog/2008/07/22/buyers-and-users/">buyer and user personas</a>, the problems they care about, and <a title="Kano Analysis for Product Managers" href="http://tynerblain.com/blog/2009/09/28/kano-analysis-for-product-managers/">the nature of those problems (which varies by persona)</a> is not time wasted &#8211; or even spent &#8220;at the cost of doing something else.&#8221;</p>
<p>To make this useful, you have to have a forecast &#8211; without <em>solution A</em>, we will sell X; with <em>solution A</em> we will sell Y (and to whom).  A good product manager will be looking at sales, and will be able to reconcile the sales with the projections.  That helps with objection 4 (but doesn&#8217;t completely address it &#8211; you don&#8217;t know if your projections were accurate, so you can&#8217;t really know if your estimation is accurate).</p>
<p>This also helps you deal with challenge #1.  You&#8217;ve got a model that says &#8220;the current product works great for high school students, but not college students, because they also have problem A, which they solve today by&#8230;&#8221; Your intention is to create solution A, making your product viable to college students.  Allocate the incremental profits from college-student sales to solution A.</p>
<p>My approach to challenge #2 is a little more tactical.</p>
<h2>Coupled Solutions</h2>
<p>There are a couple ways that Eric&#8217;s &#8220;must deliver A <em>and</em> B&#8221; scenario are interesting, when looking at the value of solutions.</p>
<p><strong>Scenario 1</strong>: Solution A solves part of problem X for persona M.  Solution B solves part of problem X for persona M.  Combined, they solve <em>more of</em> problem X for persona M.</p>
<p>This makes sense for &#8220;more is better&#8221; problems &#8211; where &#8220;more&#8221; solution yields &#8220;more&#8221; value.</p>
<p><img class="alignnone" title="more is better" src="http://sehlhorst.smugmug.com/Other/blog/20100830diminishing-returns/1163280380_s7aUw-O.png" alt="" width="450" height="422" /></p>
<p>In this case, I have a forecast (the more time I spend on it, the better it will be) that maps incremental sales to improved solutions.  The &#8220;first&#8221; solution to be released will have more value than the second.  If they are being released together, then I don&#8217;t care about the allocation &#8211; I combine them.</p>
<p><strong>Scenario 2: </strong>If, however, the two solutions are valuable to <em>different</em> personas, then I treat them separately &#8211; even if they solve &#8220;the same problem,&#8221; it is not the <em>same</em> problem (for the same person).</p>
<h2>Conclusion</h2>
<p>Prioritization by &#8220;Bang For the Buck&#8221; is worth doing.  <strong>Just make sure you are prioritizing <em>solutions</em>, not features</strong>.</p>
<p>Also note: this article talked about <em>valuation</em> &#8211; what you do with that valuation, <a title="Prioritization by Market Segment Importance" href="http://tynerblain.com/blog/2008/04/09/improved-prioritization/">prioritizing by market</a>, can be trickier.</p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Don%E2%80%99t+Prioritize+Features%21+http%3A%2F%2Fbit.ly%2Fe0x9f0+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2011/01/21/dont-prioritize-features/&amp;t=Don%E2%80%99t+Prioritize+Features%21" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2011/01/21/dont-prioritize-features/feed/</wfw:commentRss>
		<slash:comments>64</slash:comments>
		</item>
		<item>
		<title>Agile Documentation</title>
		<link>http://tynerblain.com/blog/2010/11/16/agile-documentation/</link>
		<comments>http://tynerblain.com/blog/2010/11/16/agile-documentation/#comments</comments>
		<pubDate>Tue, 16 Nov 2010 21:15:14 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[User Stories]]></category>
		<category><![CDATA[agile documentation]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[just enough documentation]]></category>
		<category><![CDATA[user story]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1398</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F11%2F16%2Fagile-documentation%2F", "shorturl": "http://bit.ly/af85o7", "style": "big", "title": "Agile Documentation" }); Agile values working software over comprehensive documentation &#8211; it is 1/4th of the original manifesto.  That doesn&#8217;t mean don&#8217;t document!  It means don&#8217;t document more than you need to document.  Documentation does have value, but the practice of documenting got excessive &#8211; that&#8217;s why [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2010%252F11%252F16%252Fagile-documentation%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2Faf85o7%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Agile%20Documentation%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F11%2F16%2Fagile-documentation%2F", "shorturl": "http://bit.ly/af85o7", "style": "big", "title": "Agile Documentation" });</script></div>
<p>Agile <a title="agile values - by alistair cockburn" href="http://tynerblain.com/blog/2006/05/10/agile-values-alistair-cockburn-on-the-agile-manifesto/">values working software over comprehensive documentation</a> &#8211; it is 1/4th of the original manifesto.  That doesn&#8217;t mean <em>don&#8217;t document</em>!  It means <em>don&#8217;t document more than you </em>need<em> to document</em>.  Documentation does have value, but the practice of documenting got excessive &#8211; that&#8217;s why a reaction to the <em>bad stuff</em> earned a spot as one of the pillars of agile.  How do you avoid over-reacting when changing a culture of over-documentation?</p>
<p><span id="more-1398"></span></p>
<h2>The Need for Documentation</h2>
<p>We need documentation to help us communicate.  You can define an agile team as &#8220;the people creating the product.&#8221;  You can interpret &#8220;creating&#8221; as the people we normally think of as <em>executing</em> to accomplish the goals, or you can be more inclusive, and think of <em>the people who have the goals</em> as being part of the team too.</p>
<p><strong>Philosophically, agile stresses collaboration</strong>.  Usually it is couched in terms of (1) people who are executing <em>collaborate</em> to devise the best solutions and (2) people who are part of the team <em>collaborate</em> with the people for whom they are creating the product.  Personally, my experience has been that projects with committed sponsors succeed, and projects without them fail &#8211; so I always think of the sponsors as <em>part of the team</em>.</p>
<p><img class="alignnone" title="collaboration" src="http://sehlhorst.smugmug.com/Other/blog/collaboration/1063052453_72GGi-O.jpg" alt="" width="250" height="166" /></p>
<p>Regardless of your definition &#8211; collaboration requires communication, and communication benefits from documentation.</p>
<h2>Temporal Communication</h2>
<p>Communication among groups of people happens over time.</p>
<p><img class="alignnone" title="date and time" src="http://sehlhorst.smugmug.com/Other/blog/date-and-time/1093411326_FYxXH-O.jpg" alt="" width="250" height="166" /></p>
<p>Some collaboration is transient &#8211; communication happens <em>right now</em>, and is only important <em>right now</em>.  Other communications are persistent &#8211; the collaboration happens right now, but we need to <em>remember later</em> what we agreed upon and why.  There are variations of &#8220;right now&#8221; and varying degrees of &#8220;later&#8221;, but slightly oversimplifying,</p>
<ul>
<li>There is communication <em>for now.</em></li>
<li>There is communication <em>for later</em>. </li>
</ul>
<p><strong>Both are important.</strong></p>
<p>Documentation, in the vision from your nightmares &#8211; giant requirements documents, architectural analyses, and detailed psychographic profiles &#8211; is very inefficient when communicating <em>for now</em>.</p>
<p><img class="alignnone" title="stack of documents" src="http://sehlhorst.smugmug.com/Other/blog/papers/1093432018_nAxDh-O.jpg" alt="" width="166" height="250" /></p>
<p>These massive documents, while getting in the way of a conversation, do provide the opportunity to remember (in the future) why we make the decisions we make (today).</p>
<p>Documentation, as emphasized in most agile discussions &#8211; user stories and acceptance criteria, on an index card, taped on the wall &#8211; is not a robust solution for communication that <em>happens later</em>.</p>
<p><img class="alignnone" title="product backlog" src="http://sehlhorst.smugmug.com/Other/blog/story-backlog-small/1093432000_NBZWf-O.jpg" alt="" width="250" height="187" /></p>
<p>This low-overhead approach to capturing today&#8217;s ideas actually facilitates and improves today&#8217;s conversation &#8211; but does not give us a record we can use in the future for why we made our decisions.</p>
<p>As an agile team, there are ways we can approach <em>both</em> the persistent and transient documentation tactics to make them more valuable.  We can tweak our transient documents to make them more useful for persistence.  We can take an agile approach to development of persistent documents, so that we only do <em>just enough documentation</em> &#8211; trading off the minimum amount of short term efficiency to avoid long-term blunders.</p>
<h2>Transient Documents for the Future</h2>
<p>The image above is from a workshop defining the product backlog for an initial sprint for a new project.  The team identified the most important stories for the first sprint, their acceptance criteria, and the size, in story points, for each story.  As part of scrum, the stories are written in user-story format, with acceptance criteria for each story identified and documented on additional index cards (taped to the index cards for the associated stories).  Great transient way to capture the <em>must do</em> and <em>makes it better</em> stories that the product owner is thinking about.</p>
<p>As a team, we made a couple minor tweaks to make these story cards more useful.  First, all of the stories were organized into themes that help establish the context (for the team), and combine the stories into &#8220;meaningful areas of focus&#8221; for communication with stakeholders.</p>
<p><img class="alignnone" title="themes for stories" src="http://sehlhorst.smugmug.com/Other/blog/themes-450/1093470549_eUbnW-O.jpg" alt="" width="450" height="337" /></p>
<p>Each story got a blob of color in the top left hand corner, identifying which of the five themes were being supported.  You can see a few of them circled in the image above.</p>
<p>We also developed a set of 8 proto-personas (prototype, early draft, very rough personas &#8211; almost stereotypes) that the overall product / project was designed to support.  Each persona got a different color star.</p>
<p><img class="alignnone" title="personas for user stories" src="http://sehlhorst.smugmug.com/Other/blog/personas-450/1093470532_Uh9tj-O.jpg" alt="" width="450" height="337" /></p>
<p>Each user story got a corresponding colored-star sticker to indicate for which persona the story has been written.  Specifically, when multiple personas could use a story, we identified for which persona we were implementing the story in this sprint.</p>
<p>In the &#8220;right now&#8221; world, these tweaks helped us understand, question, and confirm the themes and personas being supported in the first story.  Those conversations allowed us to reach pragmatic compromises about which stakeholders were going to benefit and when.  They also allowed us to craft the outbound message that is step one of stakeholder expectation management.</p>
<p>The list of themes changed while we were doing this &#8211; moving from 4 to 5 themes, as we realized that there was value in splitting one of the themes.  The group of proto-personas grew from an initial set of 3 to a set of 8, as we quickly realized that the team was trying to &#8220;build something for everyone&#8221; and we wanted to avoid <a title="elastic user problem" href="http://tynerblain.com/blog/2007/07/23/elastic-users/">the elastic user problem</a>, and instead, roll out capabilities sequentially that satisfied valuable groups of users with similar goals and perspectives.</p>
<h2>Culture Change for Stakeholders</h2>
<p>As you would expect, having a bunch of cards stuck on the wall provides a great, visceral, <em>now</em> communication for the team &#8211; both in implementing and communicating.  However, <em>cards on the wall</em> is very transient.  It also doesn&#8217;t provide a good way to communicate with old-school stakeholders (imagine the execs who have their admins <em>print out their emails</em> for them to read and annotate &#8211; those folks still exist!).</p>
<p>This can make it hard for the &#8220;not part of the implementation&#8221; part of the team to collaborate and communicate.</p>
<blockquote><p>In <a title="user stories applied" href="http://www.amazon.com/dp/0321205685?tag=tbrb-20&amp;link_code=as3&amp;creativeASIN=0321205685&amp;creative=373489&amp;camp=211189"><em>User Stories Applied</em></a>, Mike Cohn stresses that the brevity of user stories is intentionally designed to facilitate (and I would add “dependent upon”) conversation.  I find it to be both a strength and a weakness of user stories.  It is strong because you can cover a lot of ground quickly (breadth) and capture a number of stories, much like the list above.  It is weak because the requirements documentation does not stand on its own – it requires conversation to fill in the details.  I’ve had some success using the “Verify that…” user acceptance tests as the method of documenting those details (depth), in conjunction with the brief, easily consumable stories.</p>
<p><cite><a title="Stakeholders in a Barrel" href="http://tynerblain.com/blog/2008/12/30/stakeholders-in-a-barrel/">Stakeholders in a Barrel</a></cite></p>
</blockquote>
<p>Those conversations happened as part of getting the stories defined, getting them on the board in the right order, and defining the acceptance criteria.  Stakeholders often have a short memory, especially when they were the ones making a compromise.  You need some way to <a title="providing context in agile" href="http://tynerblain.com/blog/2008/10/01/agile-product-management-providing-context/">retain the context of the conversation</a> that led to the particular organization and content of the stories on the wall.</p>
<h2>Persistent Documents in the Present</h2>
<p>Agile proponents complain about the massive get-in-your-way documents that slow down the start of projects, prevent the teams from <a title="Markets Change - You Adapt and Win or Ignore and Fail" href="http://tynerblain.com/blog/2008/08/26/market-driven-advantage/">adapting to changing market conditions</a>, and otherwise make it harder to deliver great products.  I agree.  Agile proponents also rail against the &#8220;build it all, then release it,&#8221; waterfall, process for creating software &#8211; and propose an alternative &#8211; iterative development of the software.  I agree again.</p>
<p>Why not apply the same principle of iterative development to persistent documents?</p>
<p>Consider the example above of using colored-star stickers to identify the people for whom each story is being implemented in any given sprint.  The majority of the time spent on this analysis is around understanding which people are important (to the success of the product), and for which people the ability to perform this user story is important (to the person).  The combination of these two importances is an input to prioritization.  A minimal amount of time is spent putting stickers on cards, and creating multiple cards for the same story (each with a different sticker <a title="slicing stories by persona" href="http://tynerblain.com/blog/2010/10/05/use-cases-and-iteration/">for a different persona and potentially different acceptance criteria</a>).</p>
<p>Add a tiny bit of overhead, and capture the information in a spreadsheet (or whatever).</p>
<p><img class="alignnone" title="use case to actor mapping" src="http://sehlhorst.smugmug.com/photos/49195704-M.jpg" alt="" width="580" height="193" /></p>
<p>The image above shows <a title="actor to use case mapping" href="http://tynerblain.com/blog/2008/06/09/use-case-to-actor-mapping/">a mapping of use cases to actors</a>.  It could just as easily show a mapping of user stories to personas.  The transition <a title="actors and personas" href="http://tynerblain.com/blog/2007/12/20/global-actor-hierarchies-and-personas/">from thinking about actors to thinking about personas</a> is a small one.  This chart comes from an earlier article on <a title="communicate your delivery schedule with use cases" href="http://tynerblain.com/blog/2005/12/22/communicating-a-delivery-schedule-with-use-cases/">communicating a delivery schedule with use cases</a> &#8211; it helps stakeholders get a big picture view of who benefits when &#8211; a user-centric, yet still top-down perspective.</p>
<p>Note: Another nuance to incremental delivery is that you can introduce the &#8220;bare bones&#8221; version of a story now, and the &#8220;better&#8221; version of it later.  You can also <a title="actor hierarchies and improving use cases over time" href="http://tynerblain.com/blog/2006/12/13/actor-hierarchies/">communicate that stories get better over time, for some users</a>, with the same type of chart.</p>
<p>A very similar, and also simple to create table can show how each theme is getting &#8220;representation&#8221; within each sprint.  That view facilitates great discussions about trying to emphasize one theme and then another sequentially, versus doing the most important items in each theme first &#8211; gradually making progress in each theme.  Creating that view, and using it to communicate, has helped me address concerns that &#8220;external&#8221; stakeholders have shared about how a team appeared to be &#8220;chaotic and random&#8221; in their approach to prioritization and implementation.</p>
<h2>Many Models</h2>
<p>There are many types of documentation &#8211; and many types of models for emphasizing and discussing particular aspects of a complex system (like users and goals and solutions).  Creating a simple diagram like the following whiteboard sketch is almost required for effective transient communication in some projects.</p>
<p><img class="alignnone" title="simple agile model" src="http://sehlhorst.smugmug.com/photos/429885895_48JaP-O.jpg" alt="" width="400" height="282" /> [from <a title="Simple Agile Model Example" href="http://tynerblain.com/blog/2008/12/03/simple-agile-model-example/">Simple Agile Model Example</a>]</p>
<p>When most folks are complaining about documentation, they are not complaining about the sketch above.  They would consider that sketch to be <em>augmenting a conversation</em>.  Fine.  That&#8217;s what I did, at the time.  Then I took a picture of it.  Suddenly, it was documentation.  A stakeholder came by later, confirmed that the system needed to work this way, and <em>signed the whiteboard</em> &#8211; and the photo was updated.</p>
<p>Every <em>heavyweight</em> document can start out this way.  And it can evolve.  It should evolve.  If you&#8217;re going to succeed, it <em>must</em> evolve as your team gets smarter, your competitors react, and your market changes.</p>
<p>The trick is that you don&#8217;t have to write the <em>final version</em> before you get started.  Capture at a high level what you know right now &#8211; just like a roadmap.  Capture in <em>just enough detail</em> what you need right now &#8211; just like a story backlog.  And change it as you go.</p>
<h2>Conclusion</h2>
<p>Documentation is not bad.  Documenting stuff you will never use is bad.  Documenting stuff you don&#8217;t need for a long time is risky, because it will probably change before you refer back to your document.</p>
<p>Documenting why you made decisions right now, as part of <em>transient</em> collaboration and communication is important, so that you collectively remember.  That documentation <em>persists</em> and your team can build upon knowledge, incrementally &#8211; just as your team builds upon the evolving code base, incrementally.</p>
<p> </p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Agile+Documentation+http%3A%2F%2Fbit.ly%2Faf85o7+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2010/11/16/agile-documentation/&amp;t=Agile+Documentation" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2010/11/16/agile-documentation/feed/</wfw:commentRss>
		<slash:comments>56</slash:comments>
		</item>
		<item>
		<title>Provocateurs Gather the Best Requirements</title>
		<link>http://tynerblain.com/blog/2010/11/05/provocateurs/</link>
		<comments>http://tynerblain.com/blog/2010/11/05/provocateurs/#comments</comments>
		<pubDate>Fri, 05 Nov 2010 14:23:09 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Ishikawa Diagram]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[Requirements gathering]]></category>
		<category><![CDATA[requirements elicitation]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1389</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F11%2F05%2Fprovocateurs%2F", "shorturl": "http://bit.ly/avUAVy", "style": "big", "title": "Provocateurs Gather the Best Requirements" }); Ask someone what they want, and they&#8217;ll tell you they want a faster horse.  Provoke them, and they&#8217;ll tell you they have a &#8216;get there faster&#8217; problem, an &#8216;equine waste disposal&#8217; problem, and issues with total cost of ownership. Thought Provoking [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2010%252F11%252F05%252Fprovocateurs%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FavUAVy%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Provocateurs%20Gather%20the%20Best%20Requirements%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F11%2F05%2Fprovocateurs%2F", "shorturl": "http://bit.ly/avUAVy", "style": "big", "title": "Provocateurs Gather the Best Requirements" });</script></div>
<p><img class="alignnone" title="provoking" src="http://sehlhorst.smugmug.com/Other/blog/provoke/1078498774_rUc9g-O.jpg" alt="" width="250" height="187" /></p>
<p>Ask someone what they want, and they&#8217;ll tell you they want a faster horse.  Provoke them, and they&#8217;ll tell you they have a &#8216;get there faster&#8217; problem, an &#8216;equine waste disposal&#8217; problem, and issues with total cost of ownership.</p>
<h2><span id="more-1389"></span><em>Thought</em> Provoking</h2>
<p>If your <a title="top ten requirements elicitation techniques" href="http://tynerblain.com/blog/2007/09/13/elicitation-techniques-2/">requirements elicitation</a> session looks like the photo above, <em>you&#8217;re doing it wrong</em>.  However, just asking people what they want and confirming that you heard what they said is also not enough.  <a title="Top 10 Active Listening Tips" href="http://tynerblain.com/blog/2007/03/15/ten-active-listening-skills/">Active listening is important</a>, but to capture great requirements, you also have to provoke thought about <em>why</em> someone is expressing a &#8220;requirement.&#8221;</p>
<p><a title="Adrian Reed on Twitter" href="http://twitter.com/#!/ukadrianreed">Adrian Reed</a> wrote a great article this week (hat tip to <a title="Kevin Brennan on Twitter" href="http://twitter.com/#!/bakevin/">Kevin Brennan</a>) on <a title="asking provoking questions" href="http://www.bridging-the-gap.com/asking-provocative-questions-to-encourage-lateral-thinking/">asking provoking questions</a> that leverage <a title="Lateral Thinking" href="http://en.wikipedia.org/wiki/Lateral_thinking">lateral thinking</a> techniques to get better insight into the true requirements.  Adrian presents eight questions, such as &#8220;Imagine if we fast-forward to 2 years after the implementation of this project, what will the organisation look like?&#8221;  Some of his questions remind me a lot of the ideas behind Enthiosys&#8217; <em><a title="Innovation Games" href="http://innovationgames.com/">Innovation Games</a></em> (and <a title="Innovation Games" href="http://www.amazon.com/dp/0321437292?tag=tbrb-20&amp;link_code=as3&amp;creativeASIN=0321437292&amp;creative=373489&amp;camp=211189">Luke Hohmann&#8217;s <em>Innovation Games</em> book</a>).  The <em>remember the future</em>, and <em>product box</em> games immediately come to mind.</p>
<h2>Unprovoked Thoughts</h2>
<p>Most good subject matter experts I&#8217;ve met, when asked about the important problems to be solved, try and be really helpful and incorporate elements of <em>solutions</em> in their descriptions of <em>problems</em>.  They will say things like &#8220;the system must integrate with [other system] to do X.&#8221;  They may even ultimately be right, that this particular system integration is a constraint, and that &#8220;X&#8221; is the only acceptable (by policy) way to achieve &#8220;Y.&#8221;  But usually, neither constraint is a <em> requirement</em> &#8211; it is a <em>solution approach</em>.</p>
<p>Subject matter experts who are not as good at having and sharing insights about their domain often <a title="Problem manifestations and underlying problems" href="http://tynerblain.com/blog/2008/05/12/your-problem-statement/">confuse problem manifestations with their underlying problems</a>.  By analogy, it is requesting treatment for a runny nose, when the problem the you have is the flu.  You can dry up your nose and still feel horrible.</p>
<h2>Provoking Questions Reveal Real Problems</h2>
<p>Adrian&#8217;s questions are designed to help you understand that you&#8217;re treating the flu, and not a runny nose.  Requirements gathering is a lot like diagnosis of a medical malady.  You have to discover the real problems.  The problems that people are willing to pay to solve.  You have to uncover the latent problems that are &#8220;hidden&#8221; behind problem manifestations.</p>
<p>In a (rare for me) American football analogy &#8211; the problem manifestation is that your quarterback is completing 1 of 20 forward passes.  Replacing the quarterback and receivers will not solve the problem.  The problem is that your offensive line is not able to give the quarterback sufficient time to throw higher-probability-of-success passes.</p>
<p>Asking questions that force people to describe their objectives differently is a good way to bypass solution-design answers.  It also creates chinks in the armor of problem manifestations.  <em>Completing more passes</em> is not the future you&#8217;re looking for, <em>winning more games</em> is the goal.  When you&#8217;re treating your flu, your goal is not to be sick &#8211; but with a dry nose.  Your goal is to be well.  When you ask someone to remember the future, they will will describe being <em>not sick</em>, not being <em>dry-nosed</em>.  The product box will be a description of a winning team.</p>
<p>Check out Adrian&#8217;s list of questions, and ask yourself, how do you get to the root causes?  <a title="Ishikawa Diagrams" href="http://tynerblain.com/blog/2008/05/27/cause-and-effect-diagrams/">Ishikawa diagrams (also known as <em>cause and effect</em> or <em>fishbone</em> diagrams)</a> provide a great visualization tool if you&#8217;re a spatial thinker or a whiteboard-talker.  In the example below, you can quickly see that <em>spending too much on fuel</em> is part of the real problem &#8211; that the <em>cost of operation is too high</em>.  You can likewise see that under-inflated tires are a source of poor fuel economy.  Check out the Ishikawa article for an explanation, or this article on <a title="providing context" href="http://tynerblain.com/blog/2008/10/01/agile-product-management-providing-context/">providing context</a> (with Ishikawa diagrams), and this article on <a title="buyers and users" href="http://tynerblain.com/blog/2008/07/22/buyers-and-users/">buyer and user personas</a> for more examples of problem decomposition.</p>
<p><img class="alignnone" title="Ishikawa Diagram Example" src="http://sehlhorst.smugmug.com/photos/302635390_W2GiV-O.jpg" alt="" width="450" height="269" /></p>
<p>If you&#8217;ve got any examples of problem-statement-turned-problem, chime in below&#8230;</p>
<p> </p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Provocateurs+Gather+the+Best+Requirements+http%3A%2F%2Fbit.ly%2FavUAVy+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2010/11/05/provocateurs/&amp;t=Provocateurs+Gather+the+Best+Requirements" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2010/11/05/provocateurs/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Use Cases for Iterative Development</title>
		<link>http://tynerblain.com/blog/2010/10/05/use-cases-and-iteration/</link>
		<comments>http://tynerblain.com/blog/2010/10/05/use-cases-and-iteration/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 12:53:42 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Interaction design]]></category>
		<category><![CDATA[Prioritization]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[ROI]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Use Cases]]></category>
		<category><![CDATA[agile development]]></category>
		<category><![CDATA[agile use cases]]></category>
		<category><![CDATA[incremental development]]></category>
		<category><![CDATA[iterative development]]></category>
		<category><![CDATA[satisficing]]></category>
		<category><![CDATA[use cases]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1357</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F10%2F05%2Fuse-cases-and-iteration%2F", "shorturl": "http://bit.ly/aoG6ea", "style": "big", "title": "Use Cases for Iterative Development" }); Almost everything I&#8217;ve read about use cases focuses on describing what needs to be added to your product.  Agile development says &#8220;get it working first, make it better second.&#8221;  That means changing the way the software enables a user to do [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2010%252F10%252F05%252Fuse-cases-and-iteration%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FaoG6ea%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Use%20Cases%20for%20Iterative%20Development%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F10%2F05%2Fuse-cases-and-iteration%2F", "shorturl": "http://bit.ly/aoG6ea", "style": "big", "title": "Use Cases for Iterative Development" });</script></div>
<p><img class="alignnone" title="I35 and 45 Toll Interchange in Round Rock" src="http://sehlhorst.smugmug.com/Other/blog/Texas45small/1033564686_kg8bG-O.jpg" alt="" width="250" height="145" /></p>
<p>Almost everything I&#8217;ve read about use cases focuses on describing <em>what needs to be added</em> to your product.  Agile development says &#8220;get it working first, make it better second.&#8221;  That means changing the way the software enables a user to do something <em>they can already do</em>.  How do you manage requirements for incremental improvement?</p>
<h2><span id="more-1357"></span>Iterative Development and Incremental Improvement</h2>
<p>Iterative development is the process by which you release software in iterations &#8211; small, incrementally better versions of your software.  People usually think about this solely in terms of <em>enable the most valuable capabilities first, then the next most valuable capability next</em>.</p>
<p>That&#8217;s fine, when your product is new.  Eventually (or quickly!) you will reach the point when the <em>next most valuable improvement</em> is not to add a new capability, but rather, <strong>to make an existing capability more valuable</strong>.</p>
<h2>Everything is an Upgrade</h2>
<p>In a couple earlier articles about <a title="how to organize requirements when migrating to new software" href="http://tynerblain.com/blog/2006/03/15/organizing-a-software-migration-project/">organizing migration projects</a> and <a title="requirements for migration projects" href="http://tynerblain.com/blog/2006/03/09/software-requirements-for-migration-projects/">requirements for migration projects</a>, I wrote about how <em>migration</em> is a bit of a misnomer.  Everything is a migration.</p>
<p><img class="alignnone" title="migration project continuum" src="http://sehlhorst.smugmug.com/photos/59244846-M.png" alt="" width="501" height="196" /></p>
<p>My argument in those earlier articles is that the problems you&#8217;re solving with your &#8220;new&#8221; solution are not new.  Your customers are currently solving them in different ways.  The relevant question for migration projects is around how much your users are changing <em>the way they solve</em> their problems.</p>
<p>[As a slight segue, failing to appreciate this distinction can lead you to a project that is based on a <em><a title="Write good problem statements" href="http://tynerblain.com/blog/2008/05/12/your-problem-statement/">faulty problem statement</a></em>.]</p>
<p>When you are delivering incremental improvements to your product, through iterative development, you are upgrading your software.  You are <em>migrating</em> your users from their old solution to their new solution.  It just so happens that you are replacing yourself, as you migrate them from the old version to the new one.</p>
<p>A viable strategy, that appeals to me personally, is to continuously innovate, <a title="market driven competitive advantage" href="http://tynerblain.com/blog/2008/08/26/market-driven-advantage/">disrupting your market</a>, before someone else does.  With this approach, you are intentionally reinventing your solution, making it difficult for someone else to out-innovate you.  This is a great way to approach <a title="strategic product raodmap" href="http://tynerblain.com/blog/2009/10/05/strategy-and-product-roadmaps/">developing your roadmap strategically</a>.</p>
<p><a title="The Pace of Market Changes" href="http://tynerblain.com/blog/2008/11/27/keeping-up-with-change/"><strong>Your market will change</strong></a><strong>.  Rapidly.</strong> Do you want to react to your competitors, or keep them on their heels while you stay on the balls of your feet?</p>
<p>The reverberations of the &#8220;new&#8221; Twitter still haven&#8217;t settled, and many of Twitter&#8217;s competitors are on their heels &#8211; some of them only now realizing that Twitter has always been a competitor and not just &#8220;a platform.&#8221;  The new Twitter doesn&#8217;t really change anything about how people use Twitter, except make it (markedly) better.</p>
<h2>Avoiding Featuritis</h2>
<p>When is it more valuable to improve what your software already enables, versus enabling users to accomplish more with your software?  Kathy Sierra introduced us to the concept of <em><a title="Featuritis" href="http://tynerblain.com/blog/2006/04/14/goldilocks-and-the-three-products/">featuritis</a></em>, the idea that <em>too much</em> is <em>too much</em>.</p>
<p>In an article on <a title="viral product management" href="http://tynerblain.com/blog/2009/03/02/viral-product-management/">viral product management</a>, I proposed that by making your software better, you can tap into an altruistic mechanism by which people will promote your product.  As an example, I proposed <a title="Usability Sells Software" href="http://tynerblain.com/blog/2007/01/10/usability-sells-software/">improving the usability of your software</a> as a means to cross this viral tipping point.</p>
<p><img class="alignnone" title="viral tipping point" src="http://photos.smugmug.com/photos/483853927_6nA22-L.png" alt="" width="486" height="241" /></p>
<p>One of the key ideas is that <em>making it better for users</em> makes your product better for your company.</p>
<h2>Managing &#8220;Improvement&#8221; Requirements</h2>
<p>Now that we all agree that there is value in making your software better [comment below if you disagree] the question becomes &#8220;<em>How</em>?!&#8221;</p>
<p>Use Cases can be used as the keystone to your requirements arch.  Sometimes, <a title="User Stories and Use Cases - Which One To Use?" href="http://tynerblain.com/blog/2009/02/02/user-stories-and-use-cases/">user stories are better than use cases</a>, but <a title="Use Cases are Agile" href="http://tynerblain.com/blog/2008/02/18/cockburn-loves-agile-use-cases/">use cases are perfectly agile</a>.  When you&#8217;re starting a project, you want to apply an outside-in approach to defining the scope of that project &#8211; or more particularly, to <a title="How to Start Use Cases" href="http://tynerblain.com/blog/2007/03/28/how-to-start-use-cases/">define the scope of problems you are solving</a> in your roadmap. This article will talk in the language of use cases, but identical concepts and approaches apply when using user stories as well.</p>
<p>When you have prioritized a use case as &#8220;the next most valuable capability to introduce&#8221; you add it to the backlog for your sprint.  The implementation team then provides feedback that use case is &#8220;too big&#8221; and you have to slice it up.  It is important that you <a title="splitting use cases" href="http://tynerblain.com/blog/2010/09/08/sprint-backlog-splitting-user-stories/">don&#8217;t split the use case  in such a way that you only solve half the problem</a>.</p>
<p>You also shouldn&#8217;t deliver a &#8220;bad&#8221; product.  In fact, the ideal way to introduce a new capability is to <a title="Satisficing your Users" href="http://tynerblain.com/blog/2008/11/12/satisficing-sprints/">satisfice</a>, and not introduce the &#8220;perfect&#8221; solution in your first iteration.  Make your first solution &#8220;good enough.&#8221;  Part of the art is defining &#8220;good enough,&#8221; but rest assured, it is not the same as &#8220;the best you can possibly do.&#8221;</p>
<p><strong>Summarizing some key elements from above demonstrates the eventual reality you will face:</strong></p>
<ol>
<li>Every problem* your users face is already being solved, you are just providing a better solution.</li>
<li>There is diminishing, and eventually negative return on adding more capabilities to your product.</li>
<li>Your first release of a given capability will only be &#8220;good enough.&#8221;  That leaves room for improvement.</li>
</ol>
<p>*<em>Yes, you can pedantically define &#8220;the problem&#8221; as &#8220;the existing solution is not good enough&#8221; &#8211; but you still end up in the same place, so why bother</em>?</p>
<p>Eventually, the value of improving something you&#8217;ve already released will be greater than the value of releasing something new.</p>
<p><strong>What do you do?  You implement the same use case </strong><em><strong>again</strong></em><strong>.</strong></p>
<p>If your product is Software as a Service (SaaS), you absolutely should be thinking about things this way.  Becoming better is <a title="economics of SaaS" href="http://tynerblain.com/blog/2008/08/13/foundation-series-saas-economics/">a continuous improvement objective that is implicit in the economics of SaaS products</a>.</p>
<h2>Revisiting Use Cases</h2>
<p>Not to be confused with <em><a title="re-use of use cases in decomposition of epic use cases" href="http://tynerblain.com/blog/2006/11/27/subordinate-use-cases/">re-use of use cases</a>,</em> revisiting a use case is specifically revisiting &#8211; <strong>with the goal of improving</strong> &#8211; the implementation that is already in place within your product.  This is a special case of a <em>migration</em> project &#8211; you&#8217;re migrating your users from <em>your</em> old solution to your new and improved solution.</p>
<p><img title="migration project continuum" src="http://sehlhorst.smugmug.com/photos/59244846-M.png" alt="" width="501" height="196" /></p>
<p>You may be migrating to an identical process, perhaps with faster performance than your previous release was capable of.  Or you may be improving the procedure (improving usability, interaction design, visual design, etc) without affecting the process. Generally, a &#8220;make it better&#8221; use case improvement effort will have no more than a minor <em>process</em> impact.  Your users are still doing the same thing, they are just enjoying it more, or doing it more effectively.</p>
<p>When slicing use cases to make them fit within a single sprint, you may <a title="Avoid elastic users" href="http://tynerblain.com/blog/2007/07/23/elastic-users/">design them for a single user persona </a>in the first release, knowing that you won&#8217;t meet the expectations of a different user persona until the next release.  In this case, your non-functional requirements, constraints, or acceptance criteria will be different.  Your use case may also be different (in the details) while appearing to be the same.  This also common scenario can be addressed with the same approach.</p>
<p>Find that old use case (from several iterations ago) and put it back in the backlog.  Remember, agile is about conversation, not artifacts.  If you need to add an explanation to the use case, because your team fixates on the fact that it is &#8220;already working,&#8221; add a qualifier that it needs to be &#8220;better.&#8221;  Then have a conversation, and explain how it needs to be better.</p>
<h2>Is Design Part of Implementation?</h2>
<p>Some teams organize such that designers (both architects <em>designing code</em> and designers <em>designing interfaces</em> are being addressed here) are part of the implementation team.  Other companies treat designers as stakeholders &#8211; providing guidance and input to the product managers and product owners.</p>
<p>When a &#8220;new design&#8221; is being requested from <em>outside</em> the team, include that design guidance as part of the input to the implementation team &#8211; through artifact and / or clarification.</p>
<p>When a &#8220;new design&#8221; is being requested <em>of the team</em> (the designer is part of the team), express the new acceptance criteria to the team.  Note that these need to be <a title="writing measurable requirements" href="http://tynerblain.com/blog/2010/08/30/verifiable-requirements/">measurable requirements</a> if they are to be considered <a title="Writing good requirements" href="http://tynerblain.com/blog/2006/05/25/writing-good-requirements-the-big-ten-rules/">good requirements</a>.</p>
<h2>Summary</h2>
<p>There will come a time when the most valuable thing you can do is improve the user experience for a capability your product already embodies.  When that time comes, use the same use case again, updated with the new constraints, non-functional requirements, and acceptance criteria.</p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Use+Cases+for+Iterative+Development+http%3A%2F%2Fbit.ly%2FaoG6ea+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2010/10/05/use-cases-and-iteration/&amp;t=Use+Cases+for+Iterative+Development" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2010/10/05/use-cases-and-iteration/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Customer-Centric Market Model</title>
		<link>http://tynerblain.com/blog/2010/09/20/customer-centric-market-model/</link>
		<comments>http://tynerblain.com/blog/2010/09/20/customer-centric-market-model/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 02:28:58 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Kano Analysis]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[competitive analysis]]></category>
		<category><![CDATA[customer centric]]></category>
		<category><![CDATA[outside-in]]></category>
		<category><![CDATA[user centered design]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1329</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F09%2F20%2Fcustomer-centric-market-model%2F", "shorturl": "http://bit.ly/asd6Hg", "style": "big", "title": "Customer-Centric Market Model" }); A market can be thought of as the collection of contexts in which you might sell your product. You can split your market into a set of market segments. Each of those segments represents a group of customers, each of whom shares a [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2010%252F09%252F20%252Fcustomer-centric-market-model%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2Fasd6Hg%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Customer-Centric%20Market%20Model%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F09%2F20%2Fcustomer-centric-market-model%2F", "shorturl": "http://bit.ly/asd6Hg", "style": "big", "title": "Customer-Centric Market Model" });</script></div>
<p><img class="alignnone" title="customers are the focus of your market" src="http://sehlhorst.smugmug.com/Other/blog/20100915Small-Customers/1015192159_RwkpH-O.png" alt="" width="265" height="224" /></p>
<p>A market can be thought of as the collection of contexts in which you might sell your product.  You can split your market into a set of market segments.  Each of those segments represents a group of customers, each of whom shares a set of problems for which they would pay for solutions.</p>
<p><span id="more-1329"></span></p>
<h2>Customer-Centric Market Model</h2>
<p>I&#8217;ve been developing a model for describing markets that emphasizes the critical customer-centric perspective that product managers need to have.  This article is a first draft of that model &#8211; I&#8217;m sharing it here in hopes of getting feedback to improve the model and my approach for communicating it.</p>
<p><strong>Key goals of the model</strong>:</p>
<ul>
<li>Provide a framework that helps product managers make decisions about products.</li>
<li>Establish an <em><a title="Outside-In Software Development Book" href="http://tynerblain.com/blog/2007/09/27/outside-in/">outside-in</a></em> bias that encourages product managers to think first about customers and second about implementation.</li>
<li>Encourage teams to <a title="The Design of Design - Frederick Brooks" href="http://tynerblain.com/blog/2010/07/06/the-design-of-design/">design products that solve real problems</a> that people will pay to solve.</li>
<li>Support both Agile and Waterfall development processes.</li>
</ul>
<p>Please comment below (or privately) with any feedback about the model or presentation thereof (both prose and graphics).  Thanks in advance!</p>
<h2>A Model for Markets, Segments, Customers, and Problems</h2>
<div id="_mcePaste">A market can be thought of as the collection of contexts in which you might sell your product.  You can split your market into a set of market segments.  Each of those segments represents a group of customers, each of whom shares a set of problems for which they would pay for solutions.</div>
<p> </p>
<p><img class=" alignnone" title="markets are a closed loop of segments, customers, and problems" src="http://sehlhorst.smugmug.com/Other/blog/20100915Big-Market-Overview450/1015188438_YekhJ-O.png" alt="" width="450" height="393" /></p>
<h2>Markets and Market Segments</h2>
<p><img class="alignnone" title="Market Segments overview" src="http://sehlhorst.smugmug.com/Other/blog/20100915Small-Market-Segments/1015185286_2kBGV-O.png" alt="" width="265" height="225" /></p>
<p>Market segments are traditionally defined based on aggregate data that makes it easy to <a title="Prioritizing by Importance of Groups of Customers" href="http://tynerblain.com/blog/2008/04/09/improved-prioritization/">operationally address groups of customers</a>.  Business-to-business (B2B) and business-to-consumer (B2C) markets are typically divided using the same approach, with a few data sources that are uniquely relevant for each type of company-to-customer relationship.</p>
<p><img class="alignnone" title="Market Segmentation approach" src="http://sehlhorst.smugmug.com/Other/blog/20100915Big-Market-Segments450/1015188461_2AyLw-O.png" alt="" width="450" height="249" /> [<a title="larger view of market segmentation approaches" href="http://sehlhorst.smugmug.com/Other/blog/20100915Big-Market-Segments/1015185340_3BfDe-O.png">larger image</a>]</p>
<p> </p>
<h2>Business-To-Business (B2B)</h2>
<p>When defining market segments for B2B products, your customers are companies.  Groups of companies are defined, and organizational structures are built around those segmentation models.  Different factors and combinations of factors are used to define the different market segments. Common B2B segmentation factors include:</p>
<ul>
<li><strong>NAICS Industry Definitions</strong> – A standard taxonomy  for defining the different businesses in which your customers engage. </li>
<li><strong>Demographic Data</strong> – For companies, this can be number of employees, annual revenue, corporate structure, or other characterizing metrics that are relevant to your product.</li>
<li><strong>Transaction History</strong> – The history of purchases by the company.  Absolute magnitude, frequency, and recency of purchases can all be used.</li>
<li><strong>Geography</strong> – Where a particular company is located.  While not always correlating with variation in companies, it may serve as an effective way to “split the work” for internal organization – such as geographic sales teams.  This type of segmentation can also help when business rules or policies vary by geographic region – such as tax, policy, and other legal variations that apply either to your company or your customer.</li>
</ul>
<div>
<h2>Business-To-Consumer (B2C)</h2>
<div>Defining market segments for B2C products typically uses the same approach, with slightly different factors for consideration.  Common B2C segmentation factors include:</div>
</div>
<div>
<div>
<ul>
<li><strong>Demographic Data</strong> – For consumers, this can be household income, age, or other easily measured and aggregated characteristics.</li>
<li><strong>Transaction History</strong> – As with B2B segmentation, the history of purchases by the consumer is considered.  Frequency (loyalty), recency, and absolute magnitude (lifetime customer value) of purchases are all usable.</li>
<li><strong>Geography </strong>– Geography can be used for B2C segmentation in the same way that it is used for B2B products.  A designated market area (DMA) represents a region of customers that would receive the same broadcast messages, and companies sometimes organize their customers by DMA .  Third party companies also provide geographic segmentation based on patterns of similar demographic data that can be statistically associated with a given geography.</li>
<li><strong>Behavioral Data</strong> – As an ecommerce company, you can measure and study the specific user actions of customers on your website, correlate those behaviors with transactional actions, and define groups of customers that “behave the same way” in order to customize their website experience, offer targeted promotions, and otherwise organize engagement and reporting.</li>
<li><strong>Psychographic Data</strong> – Customers that consider purchasing your product for similar reasons; customers who have similar backgrounds, experiences, and perspectives; and <a title="Market Segmentation Example" href="http://tynerblain.com/blog/2008/09/15/market-segmentation-example/">customers that share user goals</a> are commonly identified as personas.  These personas are archetypes that represent groups of customers.  <a title="Market Segmentation Example - Microsoft" href="http://tynerblain.com/blog/2006/04/25/market-segmentation-or-senseless-mistake/">These groupings can be used to segment your market</a>.</li>
</ul>
</div>
</div>
<h2>Customers</h2>
<p><img class="alignnone" title="customers in a market model" src="http://sehlhorst.smugmug.com/Other/blog/20100915Small-Customers/1015192159_RwkpH-O.png" alt="" width="265" height="224" /></p>
<p>The term customer is ambiguously applied to both <a title="Buyer Persona and User Persona" href="http://tynerblain.com/blog/2008/07/22/buyers-and-users/">buyers and users</a>, and is only accurate when it represents someone who is both the purchaser and the end-user of your product.  You should explicitly think about your customers as buyer personas and user personas.</p>
<p><img class="alignnone" title="customers are both buyers and users" src="http://sehlhorst.smugmug.com/Other/blog/20100915Big-Customers/1015185337_BjUzL-O.png" alt="" width="265" height="501" /></p>
<p>Buyer personas compare products based on their suitability to solve the problems that the buyer perceives as valuable.  User personas value products based on how effectively the products solve their real problems.  This is the most important distinction between buyers and users, while both are focused on value, only the <a title="Writing Valuable Requirements" href="http://tynerblain.com/blog/2009/07/29/valuable-requirements/">end users will </a><em><a title="Writing Valuable Requirements" href="http://tynerblain.com/blog/2009/07/29/valuable-requirements/">realize</a></em><a title="Writing Valuable Requirements" href="http://tynerblain.com/blog/2009/07/29/valuable-requirements/"> the value</a> directly.</p>
<p>Market research should be focused on developing personas that represent homogeneous groups of customers, so that you can <a title="Using Personas to Drive Market Research Investments" href="http://tynerblain.com/blog/2006/11/01/how-to-apply-market-research-better/">focus on the problems that each group distinctly faces</a>.</p>
<h2>Problems</h2>
<p><img class="alignnone" title="problems in a customer centric market model" src="http://sehlhorst.smugmug.com/Other/blog/20100915Small-Problems/1015185327_EAPWi-O.png" alt="" width="265" height="225" /></p>
<p> </p>
<p><strong>Problems to be solved for the groups of customers that make up your market segments are what define a market</strong>.  <a title="Kano analysis for product managers" href="http://tynerblain.com/blog/2009/09/28/kano-analysis-for-product-managers/">Kano analysis</a> provides you with the tools to classify these problems, allowing you to make informed decisions about which <a title="focus on problems, not problem statements" href="http://tynerblain.com/blog/2008/05/12/your-problem-statement/">problems to focus on</a> in <a title="the argument for good product roadmaps" href="http://tynerblain.com/blog/2008/04/28/dont-build-a-stupid-product-roadmap/">your product roadmap</a>.</p>
<p><img class="alignnone" title="kano analysis for classification of market problems" src="http://sehlhorst.smugmug.com/Other/blog/20100915Big-Problems450/1015188435_9mrbg-O.png" alt="" width="450" height="577" /> [<a title="kano analysis problem classification" href="http://sehlhorst.smugmug.com/Other/blog/20100915Big-Problems/1015185300_dRqyk-O.png">larger image</a>]</p>
<p>Kano analysis, <a title="Wikipedia Kano Analysis article" href="http://en.wikipedia.org/wiki/Kano_model">as originally defined</a>, classifies products in terms of the features or capabilities they provide.  The naming originally used by professor Kano  (as translated) is slightly different than the terms used above.  The change in terminology here provides more clarity, particularly when applying Kano analysis from a market-perspective (outside-in) versus a feature-perspective (inside-out).</p>
<p>As a <a title="Being market driven creates advantages" href="http://tynerblain.com/blog/2008/08/26/market-driven-advantage/">market-driven product manager</a>, you should tweak the language of Kano into classification of problems and solutions, because customers value solutions, not features.  All of the techniques of Kano analysis apply, the nuance of this approach is to refocus on problems (outside-in) not features (inside-out).</p>
<p>Use Kano analysis to identify each problem faced by customers in your market as being in one of the following four classifications:</p>
<ul>
<li><strong>Delighter </strong>– A solution to this problem will delight your customers.  As markets change over time, customers lose their sense of delight, and come to expect solutions to previously solved problems.</li>
<li><strong>Must Be</strong> – This problem must be solved by your product, or your prospective customer will refuse to buy or recommend it.</li>
<li><strong>More Is Better</strong> – This is the classic shades of grey problem, in contrast to the black and white nature of a must be problem.  Solving part of this problem is good, solving more of it is better.  The easiest way to think of this problem is that solutions are partial solutions, and the greater the portion of this problem your product solves, the more satisfied your prospective customers will be with your product.</li>
<li><strong>Indifferent </strong>– This is a problem for which your customers are indifferent to the solution.  Buyer decisions about purchasing your product (versus the competition) are not affected by how capably this problem is solved.  Users will not judge your product’s effectiveness based on how well it solves this problem.</li>
</ul>
<h2>Conclusion / Request for Feedback</h2>
<p>This view of the market as an organization of problems that are shared by groups of customers allows you to</p>
<ul>
<li>Gain more insights from competitive analysis.</li>
<li>Prioritize the content of each release to grow (revenue or profits or market share) faster.</li>
<li><a title="User Centered Design" href="http://tynerblain.com/blog/2007/02/22/user-centered-design-bridge/">Design solutions that particular groups of customers will </a><em><a title="User Centered Design" href="http://tynerblain.com/blog/2007/02/22/user-centered-design-bridge/">love</a></em>.</li>
</ul>
<p>That pretty much describes the model.  Please share feedback below (in the comments section) or offline.</p>
<p>Thanks again!</p>
<p> </p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Customer-Centric+Market+Model+http%3A%2F%2Fbit.ly%2Fasd6Hg+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2010/09/20/customer-centric-market-model/&amp;t=Customer-Centric+Market+Model" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2010/09/20/customer-centric-market-model/feed/</wfw:commentRss>
		<slash:comments>52</slash:comments>
		</item>
		<item>
		<title>Atomic Requirements</title>
		<link>http://tynerblain.com/blog/2010/09/14/atomic-requirements/</link>
		<comments>http://tynerblain.com/blog/2010/09/14/atomic-requirements/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 15:35:25 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Ishikawa Diagram]]></category>
		<category><![CDATA[Prioritization]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Software requirements specification]]></category>
		<category><![CDATA[User Stories]]></category>
		<category><![CDATA[writing atomic requirements]]></category>
		<category><![CDATA[writing good requirements]]></category>
		<category><![CDATA[writing requirements]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1315</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F09%2F14%2Fatomic-requirements%2F", "shorturl": "http://bit.ly/9OCVmS", "style": "big", "title": "Atomic Requirements" }); Each requirement you write represents a single market need, that you either satisfy or fail to satisfy.  A well written requirement is independently deliverable and represents an incremental increase in the value of your software.  That is the definition of an atomic requirement.  Read [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2010%252F09%252F14%252Fatomic-requirements%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2F9OCVmS%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Atomic%20Requirements%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F09%2F14%2Fatomic-requirements%2F", "shorturl": "http://bit.ly/9OCVmS", "style": "big", "title": "Atomic Requirements" });</script></div>
<p><img class="alignnone" title="Rules of Requirements Logo #9" src="http://sehlhorst.smugmug.com/photos/128628670-M.png" alt="" width="250" height="250" /></p>
<p>Each requirement you write represents a single market need, that you either satisfy or fail to satisfy.  A well written requirement is independently deliverable and represents an incremental increase in the value of your software.  That is the definition of an atomic requirement.  Read on to see why atomic requirements are important.</p>
<p><span id="more-1315"></span></p>
<h2>Atomic Requirements &#8211; Revisiting</h2>
<p><img class="alignnone" title="atomic" src="http://sehlhorst.smugmug.com/Other/blog/atom/1005966203_AFtcP-O.jpg" alt="" width="250" height="187" /></p>
<p>As part of the ongoing series, <a title="Rules of Writing Good Requirements" href="http://tynerblain.com/blog/2006/05/25/writing-good-requirements-the-big-ten-rules/">Writing Good Requirements &#8211; The Big Ten Rules</a>, I wrote about the <a title="Writing atomic requirements" href="http://tynerblain.com/blog/2006/06/14/writing-atomic-requirements/">importance of atomic requirements</a> first in 2006.  That article touched on only one aspect of atomic requirements &#8211; being able to ask &#8220;is it done?&#8221;</p>
<p>Writing atomic requirements is important from two perspectives &#8211; delivering value to your customers, and operating efficiently.  You get benefits both operationally, and in how you are delivering value when you write atomic requirements.</p>
<h2>Atomic Requirements Accelerate Value Delivery</h2>
<p>In a recent article, I proposed <a title="splitting user stories while maintaining atomicity" href="http://tynerblain.com/blog/2010/09/08/sprint-backlog-splitting-user-stories/">methods for splitting user stories when they are too large</a> to be delivered <a title="Inside a Scrum sprint - foundation series" href="http://tynerblain.com/blog/2010/08/24/inside-a-scrum-sprint/">within a single Scrum sprint</a>.  That article looked at ways to break up <a title="Writing Complete User Stories" href="http://tynerblain.com/blog/2009/07/06/writing-complete-user-stories/">complete user stories</a> (an agile requirement artifact, <a title="Comparing user stories and use cases" href="http://tynerblain.com/blog/2009/02/02/user-stories-and-use-cases/">similar to a use case</a>) that were <em>already</em> atomic, making them even smaller.  Think of that article as <em>Atomic Requirements 301</em> &#8211; sort of an advanced class on splitting the atom.  There are opportunities to subdivide <em>molecular</em> requirements &#8211; those made up of multiple <em>atomic</em> goals &#8211; the topic of this article, which would be <em>Atomic Requirements 101</em>.</p>
<p>If you&#8217;re using an agile development process like Scrum, consider a user story like the following:</p>
<ul>
<li>As an online shopper, I need to find and compare similar products, a few times a year, so that I can make an informed purchasing decision.</li>
</ul>
<p>The key element, from an atomicity perspective, is <em>find and compare</em>.  These are actually discrete user goals, although it may not be immediately obvious.  Rewriting as follows, will highlight this:</p>
<ul>
<li>As an online shopper, I need to find products and compare similar products, a few times a year, so that I can make an informed purchase.</li>
</ul>
<p>Rewritten like this, <em>find products</em> and <em>compare similar products</em> are clearly different activities supporting different user goals.  They should be split into separate, atomic user stories.</p>
<ol>
<li>As an online shopper, I need to find products, a few times a year, so that I can purchase desired products.</li>
<li>As an online shopper, I need to compare similar products when shopping online, so that I can make an informed purchase.</li>
</ol>
<ul> </ul>
<p>These two user stories can be delivered separately.  If this example were for B2B (business-to-business) eCommerce, the example would be different &#8211; because the online shopper is (often) not the right persona.  A typical situation in B2B is that one person will do the research to determine <em>what to buy</em>, and another person will make the decision of <em>from whom to buy it</em>.</p>
<p>This rule applies for non-agile requirements development as well &#8211; consider the following &#8220;BRD-style&#8221; requirement example:</p>
<ul>
<li>The system must record all purchases and submit them to the fulfillment system for processing.</li>
</ul>
<p>Recording purchases and submitting them for processing are two different activities.  While they likely support the same goal, they may also support different goals and could be implemented separately.  Recording purchases is important not only for fulfillment, but potentially also for analytics.  Pushing data to a fulfillment system can be done in either a manual or automated fashion &#8211; providing a distinct cost-reduction opportunity.  To write these as atomic requirements, they must be separated.</p>
<ol>
<li>The system must record all purchases.</li>
<li>The system must submit all recorded purchases to the fulfillment system for processing.</li>
</ol>
<p>This example shows only the bare bones &#8211; there is more involved in writing either requirement, particularly around defining the n<a title="Non-functional requirements" href="http://tynerblain.com/blog/2006/05/23/non-functional-requirements-era/">on-functional requirements</a> and <a title="separating business rules increases agility" href="http://tynerblain.com/blog/2007/07/12/business-rules-yield-agility/">business rules</a> (see also: <a title="separating rules from requirements" href="http://tynerblain.com/blog/2007/09/11/why-separate-rules-from-requirements/">why you benefit when you separate rules from requirements</a>, and <a title="The difference between business rules and business requirements" href="http://tynerblain.com/blog/2006/10/18/business-rules-and-requirements/">the difference between business rules and business requirements</a>) that affect and constrain each requirement.  This is easier to see when the requirements are atomic. These two atomic requirements may be rewritten as follows:</p>
<ol>
<li>The system must record all purchases on the same day that they are created, recording information per [BR117: Purchase Data Rules].</li>
<li>The system must submit all recorded purchases to the fulfillment system for processing per [BR231: Fulfillment System Data Interchange Specification].</li>
</ol>
<p>These additional constraints are not non-atomic additional requirements, they are constraints that specify <em>how</em> the system must perform the atomic actions.</p>
<p><img class="alignnone" title="connected atoms - representing requirements traceability" src="http://sehlhorst.smugmug.com/Other/blog/connected-atoms/1005966204_i6K49-O.jpg" alt="" width="250" height="187" /></p>
<p>The previous examples allude to another key benefit of atomicity &#8211; clean traceability.  Each requirement (or user story) exists to support one or more goals.  Requirements traceability can get complex, when many goals are dependent upon multiple requirements to be realized and many requirements enable multiple goals.  This approach to representing <a title="Goal decomposition with Ishikawa diagrams" href="http://tynerblain.com/blog/2008/05/27/cause-and-effect-diagrams/">goal-decomposition</a> (or <a title="user story decomposition" href="http://tynerblain.com/blog/2007/06/27/benefits-of-agile-stories/">user story decomposition</a>) is critical to assuring that you are <a title="Writing Valuable Requirements" href="http://tynerblain.com/blog/2009/07/29/valuable-requirements/">writing valuable requirements</a>.</p>
<p>The simple version of traceability can be visualized with this <a title="structured requirements introduction" href="http://tynerblain.com/blog/2006/01/04/foundation-series-structured-requirements/">view of structured requirements</a>, presenting (and slightly extending) some of <a title="Process Impact - Karl Wiegers" href="http://www.processimpact.com/">Karl Wiegers&#8217; work</a> on requirements.  If you&#8217;re doing any work in requirements of any kind, you need to read Karl&#8217;s stuff &#8211; his <em><a title="Software Requirements, Karl Wiegers" href="http://www.amazon.com/dp/0735618798?tag=tbrb-20&amp;link_code=as3&amp;creativeASIN=0735618798&amp;creative=373489&amp;camp=211189">Software Requirements</a></em> is a must-have.</p>
<p><img class="alignnone" title="requirements structure" src="http://sehlhorst.smugmug.com/photos/71264266-M.jpg" alt="" width="567" height="450" /></p>
<p>This diagram makes it seem pretty straightforward.  Where it gets messy is when the multi-goal-per-requirement and multi-requirement-per-goal dependencies (that always exist) turn it from a simple tree into a complex graph.  Non-atomic requirements make that graph messier (a hassle, but not a problem)as each &#8220;requirement that is really multiple requirements&#8221; ads extra dependency relationships to your traceability model.  This becomes a <em>problem</em>, however, when you need to change.</p>
<p>Every project has implementation tasks that take longer than originally expected.  Using a t<a title="timeboxes for scheduling" href="http://tynerblain.com/blog/2006/04/12/how-to-use-timeboxes-for-scheduling-software-delivery/">ime-box approach to managing the content of each release</a> gives you a straightforward framework for determining how much stuff will be delivered in each release.  When you have to slip something, you have to revisit prioritization.  With well-defined requirements, each valuable requirement that could be delivered provides value by enabling users (or systems as users) to achieve a goal.  When you have to delay the implementation of a requirement, you delay the goals that it supports.</p>
<p>As soon as you realize you are considering delaying <em>part of a requirement</em>, that is a red flag that your requirement is not atomic.</p>
<p><strong>Atomic Requirements Simplify Operations</strong></p>
<p>Atomic requirements allow you to make these on-the-fly prioritization decisions with <em>much better insight</em> into the resultant delay in value.  This allows you to better manage communication with your stakeholders &#8211; validating that you are delaying the realization of the right goals.</p>
<p>The same benefits apply when originally planning your software iterations and releases.  Conceptually, you can imagine &#8220;scheduling&#8221; <em>everything</em> for the first release, immediately discovering that <em>most things</em> need to slip to future releases.  That&#8217;s how most* software projects really play out.</p>
<p>*There are times when you intentionally delay particular capabilities, based on external factors &#8211; market positioning, customer-adoption cadences, sales-team capacity (to absorb change), etc.</p>
<h2>Conclusion</h2>
<p><strong>Writing atomic requirements helps you</strong></p>
<ul>
<li>Organize and describe <em>why</em> you are asking the team to build what they are building, and <em>how</em> stakeholders will benefit from what will be built.</li>
<li>Understand the <em>assignable value</em> of each requirement by maximizing clarity in the dependency tree &#8211; each requirement is in place for specific reasons.</li>
<li>Communicate the relevance of each requirement to the implementation team &#8211; informing cost-benefit discussions around the inevitable schedule-change discussions.</li>
<li>Test the deliverables &#8211; atomic requirements get graded as pass-fail, not &#8220;X% working.&#8221;</li>
</ul>
<p>Attributions:</p>
<ul>
<li>Thanks <a title="Clix on sxc" href="http://www.sxc.hu/profile/clix">clix </a>for both &#8220;atomic&#8221; photos!</li>
</ul>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Atomic+Requirements+http%3A%2F%2Fbit.ly%2F9OCVmS+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2010/09/14/atomic-requirements/&amp;t=Atomic+Requirements" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2010/09/14/atomic-requirements/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Sprint Backlog &#8211; Don&#8217;t Solve Half of the Problem</title>
		<link>http://tynerblain.com/blog/2010/09/08/sprint-backlog-splitting-user-stories/</link>
		<comments>http://tynerblain.com/blog/2010/09/08/sprint-backlog-splitting-user-stories/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 15:19:28 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[User Stories]]></category>
		<category><![CDATA[backlog]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[sprint]]></category>
		<category><![CDATA[user story decomposition]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1305</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F09%2F08%2Fsprint-backlog-splitting-user-stories%2F", "shorturl": "http://bit.ly/9aC0aX", "style": "big", "title": "Sprint Backlog - Don't Solve Half of the Problem" }); Every team that transitions to agile faces this problem &#8211; some stories are too big to fit in a single sprint.  Most of the teams that I have worked with have the wrong instinct &#8211; to solve [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2010%252F09%252F08%252Fsprint-backlog-splitting-user-stories%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2F9aC0aX%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Sprint%20Backlog%20-%20Don%27t%20Solve%20Half%20of%20the%20Problem%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F09%2F08%2Fsprint-backlog-splitting-user-stories%2F", "shorturl": "http://bit.ly/9aC0aX", "style": "big", "title": "Sprint Backlog - Don't Solve Half of the Problem" });</script></div>
<p><img class="alignnone" title="half a coin" src="http://sehlhorst.smugmug.com/Other/blog/coin/999585259_ZZZWM-O.jpg" alt="" width="250" height="175" /></p>
<p>Every team that transitions to agile faces this problem &#8211; some stories are too big to fit in a single sprint.  Most of the teams that I have worked with have the wrong instinct &#8211; to solve half of the problem for all users.</p>
<p>The right approach is to first solve all of the problem for a subset of the users.</p>
<p><span id="more-1305"></span></p>
<h2>The Goal of the Story</h2>
<p>User stories were created as lower-overhead use cases that served to better describe chunks of valuable software that could be rapidly developed, delivered, reviewed, used, and improved.  Writing user stories that undermine that intent &#8211; rapid, valuable, incremental delivery &#8211; is a bad way to write user stories.</p>
<p>Imagine you are part of the team building GoToAssist, a product designed to do this.  Your product manager and product owner put the following story into the top of your backlog &#8211; it is the most valuable capability you could add.</p>
<p><strong>As a provider of IT support, I need to remotely resolve issues on multiple computers simultaneously, every day, so that those computers will run well. </strong></p>
<p>The acceptance criteria include requiring that the solution working when accessing Apple computers, and PCs running various versions of windows and Linux.  Other acceptance criteria include allowing the solution to work well through network connections having minimum characteristics, not requiring the remote users to take action, and other elements that characterize what would be considered acceptable solutions by the stakeholders.</p>
<p>Your team immediately raises a red flag that <a title="Using timeboxes to schedule delivery" href="http://tynerblain.com/blog/2006/04/12/how-to-use-timeboxes-for-scheduling-software-delivery/">this user story is &#8220;too big&#8221; for a single sprint</a>.</p>
<p>Since the goal of the sprint is to deliver valuable, shippable software, you have a problem with any user story that cannot be <a title="What happens inside a Scrum sprint" href="http://tynerblain.com/blog/2010/08/24/inside-a-scrum-sprint/">completed within a single sprint</a>.</p>
<p><strong> No problem, just decompose the user story into smaller user stories&#8230;</strong></p>
<h2>Inside-Out User Stories (Bad)</h2>
<p>Note: Don&#8217;t confuse <em>making smaller user stories</em> with <em><a title="Decomposing user stories into tasks" href="http://tynerblain.com/blog/2007/06/27/benefits-of-agile-stories/">defining the tasks required to implement a user story</a></em>. Task definition is important and valuable for helping the development team organize their activities.  Making <em>smaller</em> user stories is not a good approach for organizing the team&#8217;s activities &#8211; use tasks instead.  The size and structure of user stories should align with the user&#8217;s goals.</p>
<p>An inside out perspective or approach is one that starts with an awareness of what is involved in creating the software, and either never, or only later considers the perspective of what it is like use the software.</p>
<p>When approaching the problem inside-out, you will break the story down as follows:</p>
<ol>
<li> As a provider of IT support, I need to remotely gain access to multiple computers simultaneously&#8230;</li>
<li>As a provider of IT support, I need to remotely authenticate as an administrator to each computer I access&#8230;</li>
<li>As a provider of IT support, I need to remotely control each computer I access&#8230;</li>
<li> As a provider of IT support, I need to remotely restore control of each computer&#8230;</li>
</ol>
<p>This approach looks very appealing, because it is very clear what has to be done to support each new user story, and each new user story is appreciably smaller.  Assume that each new user story is &#8220;small enough&#8221; for the team and does not need to be further reduced in size.  It is very easy to see how the scope of development work has been reduced for each user story.</p>
<p>The problem shows up when you approach this schedule from a user&#8217;s perspective.  Imagine that this product shipped with only stories 1 &amp; 2, and not 3 &amp; 4.  How useful would the user find the product to be if she could remotely access a computer and authenticate, but not actually control the computer (to do her remote support work) or return control to the computer&#8217;s owner?</p>
<p><img class="alignnone" title="pieces" src="http://sehlhorst.smugmug.com/Other/blog/pieces-small/999624114_CRNZ3-O.jpg" alt="" width="250" height="217" /></p>
<p>The reason you should <em>not </em>break the original user story up into these pieces is that the new stories do not independently represent delivery of <a title="Write Valuable Requirements" href="http://tynerblain.com/blog/2009/07/29/valuable-requirements/">valuable</a> software.  These proposed smaller user stories are atomic (each step is discrete), but each step has no independent value.  The value is implicit in the sequence of steps, and is only realized when all four steps can be completed.  The original story is already <a title="Writing Complete User Stories" href="http://tynerblain.com/blog/2009/07/06/writing-complete-user-stories/">the smallest set of activities that allow the user to achieve his goal &#8211; a complete user story</a>.</p>
<p>The problem with decomposing the original user story from the inside-out is that the new user stories don&#8217;t provide independent value to any of the users.</p>
<p><strong> What about trying an approach that provides all of the value to some of the users?</strong></p>
<h2>Outside-In Story Decomposition (Good)</h2>
<p><img class="alignnone" title="IT support specialist persona" src="http://sehlhorst.smugmug.com/Other/blog/techie-face-small/60909507_JW6SB-O.jpg" alt="" width="165" height="250" /></p>
<p>You are still faced with the challenge of making the story smaller, but now with the constraint of only delivering pieces that provide independent value.  You need an approach that will work to split the story up per-user.  &#8220;Provider of IT support&#8221; is an overly broad category of users &#8211; it is heterogeneous, within which different groups of users will use the product differently.  I am a &#8220;provider of IT support&#8221; to my family, but I never have a need to access multiple computers simultaneously.  I also don&#8217;t need to do this more than once a month on average.  A corporate IT specialist responsible for 100 users would really benefit from simultaneous remote access to multiple machines &#8211; allowing her to multi-task, starting updates on a second machine while the first machine is working, etc.</p>
<p><img class="alignnone" title="Normal person persona" src="http://sehlhorst.smugmug.com/Other/blog/middle-aged-woman-small/60909472_YTZuH-O.jpg" alt="" width="250" height="234" /></p>
<p>There are at least two different personas that care about the &#8220;remote administration&#8221; user story, within the &#8220;provider of IT support&#8221; user category.  One persona who needs to access only one machine at a time, and one persona who needs to access multiple machines simultaneously.  This split allows you to decouple all of the work associated with managing simultaneous connections from the work associated with the sequence of steps (as applied through a single connection).  This may reduce the size of the original user story enough to complete it in one sprint, but probably not, since it only &#8220;shaves off a little work.&#8221;</p>
<p>Another way to discover different sets of people who could benefit from delivering the user story differently is to look at the acceptance criteria.</p>
<p>Right off the bat, we&#8217;ve called out that the solution needs to work when the remotely accessed computers are running several different operating systems.  You can make the user story smaller by constraining to one supported platform at a time.  Whichever platform you pick first &#8211; say Linux &#8211; has some users who will value your solution.  Start with them, then add another platform.  Work with the product manager to determine how many customers in the market will require each platform or combination of platforms &#8211; that will guide the sequence in which you build support for each platform.</p>
<p>Another acceptance criteria required that the remote users not need to be involved &#8211; enabling &#8220;unattended&#8221; remote support &#8211; a key market differentiator.  A key differentiator for the corporate IT specialist persona, who gets value from not having to coordinate support activities with multiple remote users.  In fact, it is probably a must-have feature for those customers.  As a family-support specialist, I don&#8217;t really have this need.  My mom is going to call me, and I can fix her pc while we&#8217;re on the phone.  I&#8217;m not trying to remotely administer her machine when a corporate policy has changed (on my schedule) &#8211; I&#8217;m doing it when a problem arises (on her schedule).  This criteria can be deferred for a later iteration of the story</p>
<p>This approach works because, while it may be not be intuitive (from the inside) that this is a viable way to decompose the story, it makes send from an outside-in, user perspective.  Think about the different sources of value / problems, and how <a title="Kano analysis" href="http://tynerblain.com/blog/2009/09/28/kano-analysis-for-product-managers/">different people value solutions to the same problems differently</a>.  The important characteristics of the problem will vary from one persona to another.</p>
<h2>What About Development Efficiency?</h2>
<p>As a developer, you may very correctly complain that this is a really inefficient development process.  Some portion of the work done to enable controlling a single machine may need to be discarded and recreated in order to control multiple machines in parallel.</p>
<p>While these extra development costs are very visible, especially to developers, they are much smaller than the benefits that come from delivering the working software earlier.  The cost of resolving bugs increases by orders of magnitude as you move through the product creation life cycle (from development to testing to deployment).  The value of solutions also increases by orders of magnitude as they move through the process.  Getting working product deployed earlier allows you to start realizing value (and therefore revenue) earlier.</p>
<p>That increase in revenue far outweighs the cost of a less-efficient development approach.  Ignoring revenue side and focusing only on the cost side is being penny-wise but pound-foolish.</p>
<h2>Dogma and Pragmatism</h2>
<p><img class="alignnone" title="Rodin's Thinker" src="http://sehlhorst.smugmug.com/Other/blog/thinker-small/999631679_KXbxN-O.jpg" alt="" width="250" height="187" /></p>
<p>None of this should be taken as dogma.  My experience has been that this approach has almost always worked, sometimes requiring more radical thinking than others.  When it does not work (e.g. does not provide additional value, or does not sufficiently reduce the size of the stories), don&#8217;t do it.  I&#8217;ll always remember Kent Beck saying to me &#8211; &#8220;If it costs more to test (in advance) than it costs to fix the bugs (after the fact), then don&#8217;t test.&#8221;</p>
<p><strong> The same applies here, be pragmatic about it.</strong></p>
<p>If you&#8217;ve been biting your tongue since the middle of the &#8220;Inside-Out&#8221; section, because you can always just wait until all four user stories are completed in separate sprints, before releasing the software, then my apologies.  Of course you can do that.  But you are undermining a precept of Scrum &#8211; that every sprint could be released, if you needed to release it.</p>
<p>That may not apply to you &#8211; I work with some teams that develop enterprise software, and for them, releasing every sprint makes no sense &#8211; their customers can&#8217;t absorb the rapid improvements, their sales teams aren&#8217;t willing to sell differently, etc.  So, please forgive me, and go back and read the <em>Outside-In</em> section again, since you were probably ignoring that section as you started planning a great comment about this.</p>
<p>Who knows &#8211; a &#8220;too big&#8221; user story may appear in the backlog for the last sprint within your current release &#8211; wouldn&#8217;t it be great if you had the choice to release something (valuable) in the current release?</p>
<p>Think about this problem from an outside-in perspective.  The smallest story is one that allows a single customer to perform a single task, for which he will pay you.</p>
<h2>People Over Process &#8211; Conclusion</h2>
<p><strong>The objective that every sprint deliver valuable, working software, is not a </strong><em><strong>requirement</strong></em><strong>.  It is a </strong><em><strong>design principle</strong></em><strong> of the Scrum process. </strong></p>
<p>Agile is not about mandating processes, it is about getting better and faster.  When you can&#8217;t reasonably decompose a story into something that can be delivered in a single sprint, don&#8217;t.  You can have a sprint where you don&#8217;t deliver anything, because you only complete part of one thing.  Yes, it will look bad on the burn-down chart.</p>
<p>Will it mess with your velocity?  A bit.  But who cares?  Velocity is a measurement that helps inform projected delivery schedules.  You may have one sprint with zero velocity, but in the next sprint, when you do deliver the &#8220;two sprint story&#8221;, you&#8217;ll have double the velocity.  Magically, your running average is back to normal.</p>
<p><strong>Don&#8217;t let the rulers you use to measure the team&#8217;s output cause you to act irrationally.</strong></p>
<p>Attributions:</p>
<ul>
<li>Thanks to <a title="Half a Coin" href="http://www.flickr.com/photos/8510225@N07/2217689909/">John Loo</a> for the half-a-coin image.</li>
<li>Thanks to <a title="puzzle" href="http://commons.wikimedia.org/wiki/File:Mech_puzzle_3_disassembled.jpg">Handige Harry</a> for the puzzle pieces image.</li>
</ul>
<p> </p>
<p><!--3809b58eddb5482091df67fd19a9eaf4--></p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Sprint+Backlog+%E2%80%93+Don%E2%80%99t+Solve+Half+of+the+Problem+http%3A%2F%2Fbit.ly%2F9aC0aX+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2010/09/08/sprint-backlog-splitting-user-stories/&amp;t=Sprint+Backlog+%E2%80%93+Don%E2%80%99t+Solve+Half+of+the+Problem" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2010/09/08/sprint-backlog-splitting-user-stories/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>Verifiable Requirements</title>
		<link>http://tynerblain.com/blog/2010/08/30/verifiable-requirements/</link>
		<comments>http://tynerblain.com/blog/2010/08/30/verifiable-requirements/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 19:54:46 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Ishikawa Diagram]]></category>
		<category><![CDATA[Kano Analysis]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[verifiable requirements]]></category>
		<category><![CDATA[writing good requirements]]></category>
		<category><![CDATA[writing verifiable requirements]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1290</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F08%2F30%2Fverifiable-requirements%2F", "shorturl": "http://bit.ly/cNGgE2", "style": "big", "title": "Verifiable Requirements" }); Writing Verifiable Requirements should be a rule that does not need to be written.  Everyone reading this has seen or created requirements that can not be verified.  The primary reason for writing requirements is to communicate to the team what they need to accomplish. [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2010%252F08%252F30%252Fverifiable-requirements%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FcNGgE2%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Verifiable%20Requirements%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F08%2F30%2Fverifiable-requirements%2F", "shorturl": "http://bit.ly/cNGgE2", "style": "big", "title": "Verifiable Requirements" });</script></div>
<p><img class="alignnone" title="rules of writing requirements logo - rule #8" src="http://sehlhorst.smugmug.com/photos/128628654-M.png" alt="" width="250" height="250" /></p>
<p>Writing Verifiable Requirements should be a rule that does not need to be written.  Everyone reading this has seen or created requirements that can not be verified.  The primary reason for writing requirements is to communicate to the team what they need to accomplish.  If you can&#8217;t verify that what the team delivered is acceptable, neither can the team.  This may be the most obvious of the rules of writing requirements &#8211; but it is ignored every day.</p>
<h2><span id="more-1290"></span>Verifiable Requirements &#8211; Revisiting</h2>
<p><img class="alignnone" title="reviewing the checklist" src="http://sehlhorst.smugmug.com/Other/blog/checklist/984534329_hipKA-O.jpg" alt="" width="243" height="250" /></p>
<p>In 2006, I first looked at how and <a title="writing verifiable requirements" href="http://tynerblain.com/blog/2006/06/13/writing-verifiable-requirements/">why writing verifiable requirements is important </a>- as part of the ongoing series on <a title="The rules of writing requirements" href="http://tynerblain.com/blog/2006/05/25/writing-good-requirements-the-big-ten-rules/">the rules of writing good requirements</a>.  The focus of that article was on testability, as is this one.  When visiting <em>verifiability</em> again, however, I will add that not only must <em>specifications</em> be objectively measurable, but so must <em>goals</em> be written so that you can identify when a solution has met the objectives that justified its creation.</p>
<h2>Directly Verifiable Requirements</h2>
<p>Most of the requirements we come across can be directly verified.  The only problem with these requirements is that they lack specificity.  The following example is <em>almost</em> verifiable, and only needs a little help:</p>
<ul>
<li>The web site must make it easier for users who use site search to find the products they want to buy.</li>
</ul>
<p>This requirement presents the challenge of <a title="Writing Unambiguous Requirements" href="http://tynerblain.com/blog/2010/08/18/unambiguous-requirements/">resolving the </a><em><a title="Writing Unambiguous Requirements" href="http://tynerblain.com/blog/2010/08/18/unambiguous-requirements/">ambiguity of the requirement</a>.</em> This lack of specificity prevents the requirement from being verifiable.  You have to identify <em>how much easier</em> the site search process must become for users.  Findability is a <em>more is better</em> characteristic in the <a title="Kano Analysis" href="http://tynerblain.com/blog/2009/09/28/kano-analysis-for-product-managers/">Kano Analysis model for defining requirements</a>.</p>
<p>You have to acknowledge that making it easier to find what you&#8217;re looking for is better for users than making it harder &#8211; there is an upward slope to the function.  However, there are also diminishing returns.</p>
<p><img title="kano analysis - more is better - diminishing returns" src="http://sehlhorst.smugmug.com/Other/blog/20100830diminishing-returns/988115350_VV5EW-O.png" alt="" width="450" height="422" /> [<a title="kano analysis - more is better - diminishing returns" href="http://sehlhorst.smugmug.com/Other/blog/20100830diminishing-returns/988115366_9GaSG-O.png">larger image</a>]</p>
<ul>
<li>A search that includes &#8220;the perfect item&#8221; is massively better than a search that does not include what you are looking for.</li>
<li>A search that includes the perfect item on the first page of results is significantly better than one that returns the perfect item on the second page of results.</li>
<li>A search that includes the perfect item as the first result is only marginally better than a search that returns that perfect item as the second or third result.</li>
</ul>
<p>Improving findability as articulated above, from a user perspective, manifests in value to your company in two ways: immediate revenue impact and indirect revenue impact.</p>
<p>The immediate impact can be measured in terms of increases in commerce.  The indirect impact results from improving the user experience.  These<a title="viral product management" href="http://tynerblain.com/blog/2009/03/02/viral-product-management/"> improvements in experience result in increased word of mouth</a>, as <a title="Usability improvements have measurable value" href="http://tynerblain.com/blog/2007/01/10/usability-sells-software/">users altruistically encourage others to visit your website</a>, and also result in an increase in satisfaction causing users to return to your site more frequently and make more purchases from you.</p>
<p>You can measure these impacts in terms of</p>
<ul>
<li>Conversion percentage (percentage of people who search and then purchase the products found in the results)</li>
<li>Revenue attributed to users who search (an absolute measurement of purchases of products found via search)</li>
<li>Site traffic levels (the number of people that visit your site over time)</li>
<li>Visitor-recency statistics (the amount of time that elapses between return visits for returning visitors)</li>
</ul>
<p>Conversion percentage, for users who search, normalized against users who do not search, is the most isolated (from other variables and noise) and fastest responding (as a delayed measurement of impact) measurement of the value of making it &#8220;easier&#8221; for users to search for the products they <em>want to buy</em>.</p>
<p>Your team will design different approaches to achieving these improvements.  You have to estimate both the cost and the potential benefit of each approach.  Balancing cost estimates with potential benefits will yield the ideal requirement &#8211; perhaps a 10% improvement.  [Note: I've collapsed at least another article's worth of balancing cost versus benefit, and multiple articles of "understanding and measuring site search" into one paragraph here, in hopes of staying on task with writing verifiable requirements.]</p>
<p><strong>Rewriting the requirement as follows makes the requirement verifiable</strong>:</p>
<ul>
<li>Before: &#8220;The web site must make it easier for users who use site search to find the products they want to buy.&#8221;</li>
<li>After: &#8220;Users who search on the site will be at least 10% more successful at finding the products they want to buy when using site search.&#8221;</li>
</ul>
<h2>Impossible to Verify Requirements</h2>
<p>Often, stakeholders will present us with requirements that are impossible to verify (as requested).</p>
<ul>
<li>The home page needs to load fast.</li>
</ul>
<p>At first blush, this looks just like the previous requirement (easier search is similar to faster page load).  You can use the same techniques to determine a measurable &#8220;requirement&#8221; like &#8220;the home page needs to load in under 1 second.&#8221;  However, that&#8217;s not a good requirement, because it is not an implicitly <em><a title="Writing Valuable Requirements" href="http://tynerblain.com/blog/2009/07/29/valuable-requirements/">valuable</a></em><a title="Writing Valuable Requirements" href="http://tynerblain.com/blog/2009/07/29/valuable-requirements/"> requirement</a>.  This statement provides no insight into <em>why</em> a fast-loading home page might be valuable to a particular user or why it would be valuable to the company.</p>
<p>To address this issue, you have to meet with the stakeholder(s) and understand the actual underlying requirements.  You will ask why, <a title="The reason why things are as they are" href="http://tynerblain.com/blog/2006/02/21/the-reason-why/">determine motivations</a> and <a title="using Ishikawa diagrams to discover underlying requirements" href="http://tynerblain.com/blog/2008/05/27/cause-and-effect-diagrams/">underlying problems</a>, and <a title="Ten Awesome Active Listening Skills" href="http://tynerblain.com/blog/2007/03/15/ten-active-listening-skills/">apply active listening skills to discover the underlying requirement</a>.</p>
<p>The problem is that the statement, &#8220;the home page needs to load fast&#8221; is a specification.  In <em><a title="Different perspectives on what a requirement is" href="http://tynerblain.com/blog/2006/05/11/requirements-documents-one-mans-trash/">Requirements Documents &#8211; One Man&#8217;s Trash&#8230;</a></em>, I first used the following diagram to show how different people in the process of designing software view their piece of providing a solution.</p>
<p><img class="alignnone" title="differing perspectives on what is a requirement" src="http://sehlhorst.smugmug.com/photos/69105260-M.png" alt="" width="482" height="420" /></p>
<p>A developer may receive a spec &#8211; &#8220;home page must load in under 5 seconds&#8221; and feel like the <em>why</em> component is perfectly well defined &#8211; it is a matter of context and perspective.  Another way to think about this is that <a title="Creating actionable and valuable problem statements" href="http://tynerblain.com/blog/2008/05/12/your-problem-statement/">the problem is with the problem statement</a>.</p>
<p>A product manager, however, needs to do research that follows a path like the following:</p>
<p>Given that we are building an eCommerce website, we know that people have expectations around page load times (<a title="ecommerce website performance" href="http://www.akamai.com/2seconds">per Forrester / Akamai report</a> (requires registration)).</p>
<p><img class="alignnone" title="akamai page load time survey results" src="http://sehlhorst.smugmug.com/Other/blog/akamai-small/988093069_xoHja-O.png" alt="" width="450" height="299" /> [<a title="page load time expectations for ecommerce customers" href="http://sehlhorst.smugmug.com/Other/blog/akamai-large/988093083_nqqSD-O.png">larger image</a>]</p>
<p>Further, those expectations manifest as people abandoning slow-loading websites (from the same report).</p>
<p><img class="alignnone" title="users abandon slow-loading websites" src="http://sehlhorst.smugmug.com/Other/blog/akamai-2-small/988377686_dTZYy-O.png" alt="" width="450" height="289" /> [<a title="users abandon slow-loading websites" href="http://sehlhorst.smugmug.com/Other/blog/akamai-2-large/988377703_nhnRY-O.png">larger image</a>].</p>
<p>We know from this <em>market research</em> that page-load times (for websites) represent another <em>more is better</em> Kano attribute, but one that has <em>must be</em> characteristics at the extremes.</p>
<p><img class="alignnone" title="more is better feature with extreme must-be behavior" src="http://sehlhorst.smugmug.com/Other/blog/20100830Extreme-More-is-Better/988386407_83xud-O.png" alt="" width="450" height="422" /> [<a title="extreme must-be behavior in more-is-better characteristic" href="http://sehlhorst.smugmug.com/Other/blog/20100830Extreme-More-is-Better/988386415_hsVef-O.png">larger image</a>]</p>
<p>While <em>more speed is better</em>, what the market research reveals is that for any given person, there is a minimum-speed <em>threshold</em>, at which speed is a <em>must-be</em> characteristic &#8211; too slow, and you lose customers (immediately).</p>
<p>A  combination of market research and elicitation will reveal that there is a true underlying goal of being fast enough to satisfy as many users as possible.  Combining this with practicalities of scaling your solution, and the associated costs; in the context of a particular solution design (an eCommerce website), you will arrive at a goal that allows you to rework your requirement so that it is verifiable.</p>
<p>Note: The requirement in this example is a subordinate requirement to a goal focused on maximizing conversion percentage (the percentage of customers who visit the site making purchases) &#8211; with a recognition that a major source of non-conversion is abandonment of the site, and that a large contributor to visitor abandonment is page load times.  An Ishikawa (or other model) will help you articulate this complexity and formulate requirements at a level of abstraction that is both valuable and actionable.</p>
<p><strong>Rewriting the requirement as follows makes the requirement verifiable</strong>:</p>
<ul>
<li>Before: &#8220;The home page needs to load fast.&#8221;</li>
<li>After: &#8220;No more than 10% of potential site visitors will abandon our site before viewing the page.&#8221;</li>
</ul>
<h2>Indirectly Verifiable Requirements</h2>
<p>Some requirements are impossible to <em>literally</em> verify, and must be <em>inferentially </em>verified.</p>
<ul>
<li>The site must support 1 million visitors per day, with a peak of 10,000 simultaneous with page-load times under 5 seconds.</li>
</ul>
<p>Models are Models, Not Reality.</p>
<p>Imagine trying to create a test by organizing a million visitors to hit your SaaS web solution on the same day, with at least 10,000 of them hitting the site simultaneously.  That is completely impractical.  That doesn&#8217;t however, invalidate the requirement or make it untestable.  The combination of modeling, hypothesis formulation, and extrapolation gives you a <em>reasonable</em> way to verify that your solution probably meets this requirement.</p>
<p>You&#8217;re already used to the concept that models are representations of reality &#8211; think about the maps you use &#8211; a map may have a scale like <em>one inch equals one mile</em>.  The map is a <em>model</em> of reality.  A map where one inch equals one inch would be impractical.</p>
<p>An effective approach to measuring this type of scalability requirement is to simulate users (with load testing and realistic user-behavior scripts) with automation.  That takes care of most of the coordination problem.  However, the cost of simulating a million users and 10,000 simultaneous users is high.  You can, more realistically, measure the site&#8217;s performance when 10, 100, and 1,000 simulated users simultaneously access a server.  You can extrapolate from those results to estimate how the system is likely to perform under 10,000 user loads.</p>
<p>Note: Extrapolation is dangerous (follow the Elvis link below)- you have to justify why extrapolation holds true, and identify when it does not, to minimize the risk of invalidating your hypothesis.  Make sure you have confidence in the engineering prowess of whoever is doing your extrapolation and modeling.</p>
<p><img class="alignnone" title="infinite elvises" src="http://sehlhorst.smugmug.com/photos/128096460-M.jpg" alt="" width="250" height="204" /> [see<a title="Five ROI calculation tips and the infinite elvis extrapolation antipattern" href="http://tynerblain.com/blog/2007/02/08/five-roi-calculation-tips/"> tip #5 of these ROI calculation tips for the </a><em><a title="Five ROI calculation tips and the infinite elvis extrapolation antipattern" href="http://tynerblain.com/blog/2007/02/08/five-roi-calculation-tips/">Infinite Elvis</a></em><a title="Five ROI calculation tips and the infinite elvis extrapolation antipattern" href="http://tynerblain.com/blog/2007/02/08/five-roi-calculation-tips/"> anti-pattern</a>]</p>
<p><strong>While this requirement does not to be rewritten in order to be verifiable, it does need to be augmented</strong>:</p>
<ul>
<li>Original: &#8220;The site must support 1 million visitors per day, with a peak of 10,000 simultaneous with page-load times under 5 seconds.&#8221;</li>
<li>Additional: &#8220;Testing of the site must show that 500 simultaneous users following &lt;user script X&gt; will yield no more than 1% page load times over 200 ms.&#8221;</li>
</ul>
<h2>Conclusion</h2>
<p>Every requirement you write must be verifiable.  When you can&#8217;t verify something, and can&#8217;t rewrite it into a verifiable form, that should be a sign that either it is a vision statement or a red herring.  Vision statements guide how we approach creating products and engage markets &#8211; they are valuable, but they are not requirements.  Red herrings are well-meaning but ill-advised inputs into the process that need to be culled &#8211; they are neither valuable nor requirements.</p>
<p><strong>Make sure all your requirements are verifiable</strong>.</p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Verifiable+Requirements+http%3A%2F%2Fbit.ly%2FcNGgE2+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2010/08/30/verifiable-requirements/&amp;t=Verifiable+Requirements" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2010/08/30/verifiable-requirements/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Foundation Series: Inside A Scrum Sprint</title>
		<link>http://tynerblain.com/blog/2010/08/24/inside-a-scrum-sprint/</link>
		<comments>http://tynerblain.com/blog/2010/08/24/inside-a-scrum-sprint/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 04:06:22 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Foundation series]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[User Stories]]></category>
		<category><![CDATA[user stories inside a scrum sprint]]></category>
		<category><![CDATA[user story]]></category>
		<category><![CDATA[user story life cycle]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1279</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F08%2F24%2Finside-a-scrum-sprint%2F", "shorturl": "http://bit.ly/aSWSqO", "style": "big", "title": "Foundation Series: Inside A Scrum Sprint" }); People who already use Scrum will only find one new thing in this article &#8211; a way to communicate what happens inside a sprint that has proven effective for me.  People who are new to Scrum who wonder &#8220;how do things [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2010%252F08%252F24%252Finside-a-scrum-sprint%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FaSWSqO%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Foundation%20Series%3A%20Inside%20A%20Scrum%20Sprint%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F08%2F24%2Finside-a-scrum-sprint%2F", "shorturl": "http://bit.ly/aSWSqO", "style": "big", "title": "Foundation Series: Inside A Scrum Sprint" });</script></div>
<p><img class="alignnone" title="Scrum Classroom" src="http://sehlhorst.smugmug.com/photos/50445724-M.jpg" alt="Photo of students in a classroom, learning scrum" width="250" height="195" /></p>
<p>People who already use <a title="Scrum introduction" href="http://www.mountaingoatsoftware.com/topics/scrum">Scrum </a>will only find one new thing in this article &#8211; a way to communicate what happens <em>inside</em> a sprint that has proven effective for me.  People who are new to Scrum who wonder &#8220;<em>how do things work inside a sprint?&#8221;</em> will see how things work in a way that avoids hyperbole and is easy to map to what they already understand from traditional software development processes.</p>
<h2><span id="more-1279"></span>Two Teams Separated by a Common Process</h2>
<p><img class="alignnone" title="George Bernard Shaw" src="http://sehlhorst.smugmug.com/Other/blog/GBS-small/980999434_zHDRi-O.jpg" alt="" width="187" height="250" /></p>
<p>George Bernard Shaw was <a title="George Bernard Shaw" href="http://en.wikipedia.org/wiki/George_Bernard_Shaw">an Irish author in London </a>who memorably said &#8220;<em>England and America are two countries separated by a common language.</em>&#8221;  The same can be said about teams developing in agile and waterfall processes.</p>
<p>The story of agile adoption is one that has many colorful examples of adoption and of <em>spreading the gospel</em>.  Some practitioners traveled across the ocean from the agile continent to the lands of agile and opportunity to reap the rewards.  A few of those, after realizing the benefits of agile, invade our consciousness with a <em>hellfire and brimstone tale of doom</em> for anyone who doesn&#8217;t convert to the new religion.</p>
<p>Others seem hell-bent on kidnapping entire development teams, smuggling them across the ocean in the belly of steamer ships and unceremoniously dumping them in the land of agile, ready or not.  Scrum is but one branch of the agile movement.</p>
<p>Stalwarts of <em>the old way, which has worked fine </em>for me<em>, thank you very much</em>, refuse to leave their comfortable lives to step into the unknown wilds of agile.  Open-minded but responsible potential converts ask questions to gain an understanding of what life in the new world might be like.  <em>What will life be like if I join this Scrum congregation?</em></p>
<h2>How Does Scrum <em>Really</em> Work?</h2>
<p>The <a title="Scrum by MountainGoat Software" href="http://www.mountaingoatsoftware.com/topics/scrum">best explanations of how scrum works</a> that I&#8217;ve read come from <a title="Mike Cohn" href="http://www.mountaingoatsoftware.com/company/about-mike-cohn">Mike Cohn</a> and <a title="Mountain Goat Software" href="http://www.mountaingoatsoftware.com/">Mountain Goat Software</a>.  The training, videos, and explanations they share provide fantastic top-down introductions (as well as guidance after adopting Scrum).  His book, <em><a title="User Stories Applied" href="http://www.amazon.com/dp/0321205685?tag=tbrb-20&amp;link_code=as3&amp;creativeASIN=0321205685&amp;creative=373489&amp;camp=211189">User Stories Applied</a></em>, is the ultimate reference when gaining an understanding of the mechanics of using user stories as the central artifacts for developing software with scrum.</p>
<p><img class="alignnone" title="Scrum process, from Mountain Goat Software" src="http://sehlhorst.smugmug.com/Other/blog/ScrumSmallLabelled/981015853_PJtuQ-O.png" alt="" width="399" height="188" /> [<a title="Scrum Process from Mountain Goat Software" href="http://sehlhorst.smugmug.com/Other/blog/ScrumLargeLabelled/981015855_M3hzW-O.png">larger image</a>]</p>
<p>The process diagram above provides a good outside-in, top-down view of how &#8220;this newfangled process&#8221; results in shippable product, incrementally.  It is a great way to present the concept of Scrum, and incremental development in general.</p>
<p>When people I&#8217;ve worked with first gain this understanding, they often ask, what are the artifacts that live in these backlogs?  User stories live there.  Sometimes <a title="Use Cases vs User Stories" href="http://tynerblain.com/blog/2009/02/02/user-stories-and-use-cases/">use cases make more sense than user stories for Scrum</a>- it depends (read the article to see which works best in your circumstance).  The common element is an <a title="Outside-In Software Development" href="http://tynerblain.com/blog/2007/09/27/outside-in/">outside-in</a>, <a title="User Centered Design" href="http://tynerblain.com/blog/2007/02/22/user-centered-design-bridge/">user-centric approach</a> to describing <em>which problems the software is intended to solve</em>.  This is also known as <a title="Goal Driven vs. Feature Driven development" href="http://tynerblain.com/blog/2006/08/09/features-or-goals/">goal-driven development</a>.</p>
<p>Once people understand the top-down view of the process, and have an idea of what user stories are, the next question they tend to ask is &#8220;how do stories move through the Scrum process?&#8221;</p>
<p>The first attempt at answering this question leans on the process diagram above:</p>
<ol>
<li>The product owner takes the most important stories from the <em>product backlog</em> and puts them into the <em>sprint backlog</em> &#8211; collaborating with the team to agree on the scope of work for <em>this</em> sprint (based on the amount of work, capacity of the team, real-world constraints, etc).</li>
<li>The team &#8220;<strong>works the stories</strong>&#8220;, meeting every day to communicate effectively and provide progress updates &#8211; best visualized with <a title="modified burndown chart" href="http://www.mountaingoatsoftware.com/scrum/alt-releaseburndown">a burndown chart</a>.  This chart says &#8220;we started with X work to do, and every day, we track how much of X remains to be done.&#8221;</li>
<li>At the end of the sprint, the work is done, and the software (or an update to the software) is ready to deliver.</li>
<li>Sometimes, multiple sprints happen between <em>releases</em> &#8211; launches of the updated software, because customers (and the rest of your organization) incur a cost when changing to the latest version.  But the output of each sprint <em>is deliverable</em> &#8211; that&#8217;s a key concept &#8211; even if you choose not to deliver it just yet.</li>
</ol>
<h2>What Does it Mean to <em>Work The Stories</em>?</h2>
<p>I&#8217;ve repeatedly had people ask, after absorbing the above explanation, &#8220;what does it mean to <em>work the stories</em>?&#8221;</p>
<p>I&#8217;ve had consistent success (in bridging the language divide) using the following diagrams (drawn on a whiteboard) to explain how stories flow through the sprint process in Scrum.</p>
<p>The first diagram shows that user stories have a structure &#8211; the story itself, and the acceptance criteria for the story. I also establish that the story is going to go through a life cycle within the sprint.</p>
<p><img class="alignnone" title="User Stories have structure and a lifecycle" src="http://sehlhorst.smugmug.com/Other/blog/201008242b/981774852_PbBwD-O.png" alt="" width="450" height="320" /> [<a title="anatomy of a user story inside a sprint" href="http://sehlhorst.smugmug.com/Other/blog/201008242/981808359_QsSxE-O.png">larger image</a>]</p>
<p>Next I remind folks that the user stories make it into the sprint backlog because they are the most important (highest priority) not-yet-implemented stories in the product backlog.</p>
<p><img class="alignnone" title="user stories in a sprint backlog" src="http://sehlhorst.smugmug.com/Other/blog/201008243b/981774888_7nARd-O.png" alt="" width="450" height="320" />[<a title="user stories in the sprint backlog come from the top of the product backlog" href="http://sehlhorst.smugmug.com/Other/blog/201008243/981808388_aWcsJ-O.png">larger image</a>]</p>
<p>Developers on the team <em>pull</em> stories from the sprint backlog and begin working on them.  These stories are <em>work in progress</em>, and are owned by individuals.  Some teams maintain that priority order within the sprint backlog (e.g. implement the most important story in the sprint first, etc.), while other teams use a more coarse-grained approach, relying on the product backlog prioritization to assure that everything in <em>this</em> sprint is the next most important stuff, and the order that the team implements, within the sprint, is up to the team.  Some folks like to strenuously debate this decision (<a title="Don't prioritize within sprints" href="http://agile.dzone.com/articles/scrum-anti-pattern">don&#8217;t prioritize within sprints</a> vs. <a title="Do prioritize within sprints" href="http://availagility.co.uk/2010/01/20/scrum-anti-pattern-not-prioritising-stories-within-sprints/">do prioritize within sprints</a>).  Both approaches are valid, and you should choose the right one for <em>your </em>team.</p>
<p><img class="alignnone" title="individuals pull stories from the backlog" src="http://sehlhorst.smugmug.com/Other/blog/201008244b/981774926_aBAn7-O.png" alt="" width="450" height="320" />[<a title="individuals pull stories from the backlog inside the sprint" href="http://sehlhorst.smugmug.com/Other/blog/201008244/981808413_QhD53-O.png">larger image</a>]</p>
<p>As each user story owner believes that her work is complete (all unit tests pass, and the developer believes that the acceptance criteria have been met), the story is ready to be tested by QA.  This step, in particular, helps people who are new to scrum and who think of things as &#8220;code and test&#8221;, to make some sense of the inner workings of a sprint.  When working with a team that was under-staffed in the QA department, I discovered that calling out this queue of user stories waiting to be tested helped convince management to increase QA investment in the team.  When too many stories pile up here, you know you have a problem.</p>
<p><img class="alignnone" title="completed user stories are queued up for QA" src="http://sehlhorst.smugmug.com/Other/blog/201008245b/981774942_xRKCT-O.png" alt="" width="450" height="320" />[<a title="user stories are queued for qa inside a sprint" href="http://sehlhorst.smugmug.com/Other/blog/201008245/981808440_kRCjz-O.png">larger image</a>]</p>
<p>The scrum team member responsible for testing the user story has the responsibility of assuring that it meets all of the acceptance criteria.  He pulls the story from the queue of &#8220;done&#8221; stories, and tests.</p>
<p><img class="alignnone" title="testing a user story within a sprint" src="http://sehlhorst.smugmug.com/Other/blog/201008246b/981774960_LBRof-O.png" alt="" width="450" height="320" />[<a title="qa rejecting a user story inside a sprint" href="http://sehlhorst.smugmug.com/Other/blog/201008246/981808480_22dSS-O.png">larger image</a>]</p>
<p>If the story fails to meet any of the acceptance criteria, it moves back into either the <em>sprint backlog</em> or the <em>being developed</em> column, where a member of the team resumes ownership of the user story and works to resolve the issue.  Once the issue is resolved, the user story is re-queued for testing.  When the user story meets the acceptance criteria, it is moved into the <em>done done</em> column.</p>
<p><img class="alignnone" title="user stories that are done done" src="http://sehlhorst.smugmug.com/Other/blog/201008247b/981774980_e85hf-O.png" alt="" width="450" height="320" />[<a title="lifecycle of a user story in a scrum sprint" href="http://sehlhorst.smugmug.com/Other/blog/201008247/981808535_CeNJf-O.png">larger image</a>]</p>
<h2>Conclusion</h2>
<p>If you are new to Scrum, and wondered how the sausage is made inside a sprint, this gives you a framework for understanding what is going on, and how the team delivers.  If you already know or use Scrum, you may have learned a couple things.</p>
<ul>
<li>Using this framework to describe how a sprint works is effective when explaining to people who do not have any experience with agile.</li>
<li>Laying things out this way visually, will give you an easy-to-see signal if your team is unbalanced between developers and testers.</li>
</ul>
<p>I&#8217;ve been involved with agile teams and processes for just over 11 years now, and incremental development is burned into my brain.  If you are new to scrum, <em>please</em> let me know if this seemed like a good way for you to consume this material.  If you&#8217;re an old hat, and have other suggestions or presentations, please add them in the comments below, because future readers will benefit from the additional ideas.</p>
<p> </p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Foundation+Series%3A+Inside+A+Scrum+Sprint+http%3A%2F%2Fbit.ly%2FaSWSqO+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2010/08/24/inside-a-scrum-sprint/&amp;t=Foundation+Series%3A+Inside+A+Scrum+Sprint" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2010/08/24/inside-a-scrum-sprint/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>The One Idea of Your Product</title>
		<link>http://tynerblain.com/blog/2010/04/14/one-idea-product-management/</link>
		<comments>http://tynerblain.com/blog/2010/04/14/one-idea-product-management/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 14:32:09 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Kano Analysis]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[agile product management]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[minimum market acceptance]]></category>
		<category><![CDATA[product idea]]></category>
		<category><![CDATA[product manager]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1210</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F04%2F14%2Fone-idea-product-management%2F", "shorturl": "http://bit.ly/aLKAJK", "style": "big", "title": "The One Idea of Your Product" }); &#8220;For what one idea do you want your product to stand in the mind of your customer?&#8221;  I heard Roger Cauvin ask that question at the most recent ProductCamp Austin [correction - he said it here - thanks Roger], and [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2010%252F04%252F14%252Fone-idea-product-management%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FaLKAJK%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22The%20One%20Idea%20of%20Your%20Product%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F04%2F14%2Fone-idea-product-management%2F", "shorturl": "http://bit.ly/aLKAJK", "style": "big", "title": "The One Idea of Your Product" });</script></div>
<p><img class="alignnone" title="blue light bulb" src="http://sehlhorst.smugmug.com/Other/blog/blue-light-bulb/836410544_9wRHz-O.jpg" alt="a blue light bulb, a visual metaphor for having a single idea" width="250" height="187" /></p>
<p>&#8220;For what <em>one idea</em> do you want your product to stand in the mind of your customer?&#8221;  I heard <a title="Roger Cauvin's blog" href="http://blog.cauvin.org/">Roger Cauvin</a> ask that question at the most recent <a title="pcaustin 2010" href="http://tynerblain.com/blog/2010/03/25/paustin-spring-2010/">ProductCamp Austin</a> [correction - he said it <a title="Writing Consistent Requirements" href="http://tynerblain.com/blog/2010/04/06/consistent-requirements/">here</a> - thanks Roger], and the quote has been jumping to the front of my mind almost daily ever since.  Maybe by writing about it I can exorcise the demon and get back to <em>using</em> the idea instead of being haunted by it.</p>
<p><span id="more-1210"></span></p>
<h2>The One Idea</h2>
<p>You&#8217;ve just been given a new assignment &#8211; your company needs a new software <em>thingamajig </em>so that you can play in the <em>whatchamacallit</em> space, and you&#8217;re going to drive product management for it.  You&#8217;ve also been asked to deliver the first version in six weeks.  Of course you&#8217;ll be able to do follow-on releases, after all, you are agile.  That&#8217;s how &#8220;agile&#8221; works, isn&#8217;t it?</p>
<p>Cool.  Exciting.  Challenging.</p>
<p>You sit down with the folks who will be building the product, and find out that they have already spoken with several stakeholders.  Excellent. You circle back with the stakeholders, and start to gather data about your market and audience.</p>
<p>Your schedule is aggressive, so you think about what is realistic to get done in <a title="How to use timeboxes for scheduling software delivery" href="http://tynerblain.com/blog/2006/04/12/how-to-use-timeboxes-for-scheduling-software-delivery/">a very small timebox</a>.  With the current schedule, you can&#8217;t afford to get <a title="Avoiding Analysis Paralysis" href="http://tynerblain.com/blog/2007/08/30/analysis-paralysis/">caught in analysis paralysis</a>, and you can&#8217;t realistically do in depth market analysis, persona development, hyper-accurate requirements prioritization, etc.  You do, however, have time to do the most important thing &#8211; define the <em>one idea that will define your product</em>.</p>
<p><strong>If you cannot come up with this idea, you need to push back on your management team, and delay the launch of your product until you have that one idea.</strong></p>
<h2>Don&#8217;t Abuse Agile</h2>
<p>Agile is designed to help you rapidly create iteratively <em>better</em> products, with iterative development and <a title="Market Driven Competitive Advantage" href="http://tynerblain.com/blog/2008/08/26/market-driven-advantage/">continuous infusion of market feedback</a> and data.  Agile <strong><em>is not</em></strong> a process by which you start typing without any idea of what you intend, releasing it and <em>then</em> getting feedback in an iterative process.  If that&#8217;s how you&#8217;re approaching agile, your process is broken.</p>
<p><img class="alignnone" title="innovation" src="http://www.smugmug.com/photos/359586997_xXG83-L.gif" alt="" width="416" height="378" />[image from <a title="Market Driven Competitive Advantage" href="http://tynerblain.com/blog/2008/08/26/market-driven-advantage/">Market Driven Competitive Advantage</a>]</p>
<p>Unless you&#8217;re very lucky, your first iteration will be a waste of time and money.  Wouldn&#8217;t you rather <a title="successful products are intentional" href="http://tynerblain.com/blog/2008/05/19/successful-products/">be intentional</a> than lucky? Make sure you have that <em>one idea</em> before you start developing.</p>
<h2>Strategic Alignment</h2>
<p>You need to come up with a <em>one idea</em> that is aligned with and supports your corporate strategy.  At a minimum, you have to make sure that you have an idea that is aligned with <a title="managing stakeholder goals" href="http://tynerblain.com/blog/2007/10/11/stakeholder-goals/">your stakeholder&#8217;s goals</a>, based on the assumption that those goals are aligned with corporate strategy.</p>
<h2>Wow</h2>
<p>Your <em>one idea</em> really needs to make your users say &#8220;Wow!&#8221;</p>
<p><img class="alignnone" title="fishhook" src="http://sehlhorst.smugmug.com/Other/blog/hook/836460644_8eTUg-O.jpg" alt="fishhook" width="166" height="250" /></p>
<p>I was explaining the importance of this to a colleague (who is not a product manager), and his response was &#8220;Oh, you mean <em><strong>the hook</strong></em>.&#8221;</p>
<p>I was reminded that you not only have to provide a <em>wow</em> experience for your users, but you have to present a <em>hook</em> that will capture the imagination of your buyers.  Remember that <a title="buyer personas and user personas" href="http://tynerblain.com/blog/2008/07/22/buyers-and-users/">buyer personas make decisions based on their <em>perceptions </em>of user problems</a> [<a title="Selling to Your Buyer" href="http://www.stickyminds.com/processimprovement.asp?Function=edetail&amp;ObjectType=ART&amp;ObjectId=15906&amp;tth=DYN&amp;tt=siteemail&amp;iDyn=13">more on convincing buyers</a>].</p>
<h2>Satisfice</h2>
<p>Remember that you don&#8217;t want to try and do everything perfectly in the first release &#8211; <a title="Satisficing" href="http://tynerblain.com/blog/2008/11/12/satisficing-sprints/">you want to satisfice</a>.  You may only be able to target a <em>single </em>persona with a solution to a <em>single </em>problem.  You just need to make sure you are solving the <em>right</em> problem &#8211; which is where Kano analysis is very handy for identifying the <em><a title="minimum market acceptance" href="http://tynerblain.com/blog/2010/03/31/minimum-market-acceptance/">Minimum Market Acceptance</a></em> criteria.</p>
<p><img class="alignnone" title="kano analysis focus on personas" src="http://sehlhorst.smugmug.com/Other/blog/kano-personas/824597829_9M8zS-S.png" alt="" width="400" height="296" /> [From <a title="Minimum Market Acceptance" href="http://tynerblain.com/blog/2010/03/31/minimum-market-acceptance/">Minimum Market Acceptance</a>]</p>
<h2>Conclusion: A Balancing Act</h2>
<p>Defining the <em>one idea</em> for your product is a balancing act.</p>
<ul>
<li>You have to align the <em>one idea</em> with your corporate strategy and stakeholder goals</li>
<li>You have to solve a <em>valuable</em> problem for your users, presented in a way that captivates your buyers</li>
<li>You have to create a product that is <em>compelling</em> right away &#8211; good <em>enough</em> in execution to enter your market</li>
<li>And you have to get the first release out in six weeks!</li>
</ul>
<p>Good luck!  Or better yet &#8211; Good Intent!</p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+The+One+Idea+of+Your+Product+http%3A%2F%2Fbit.ly%2FaLKAJK+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2010/04/14/one-idea-product-management/&amp;t=The+One+Idea+of+Your+Product" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2010/04/14/one-idea-product-management/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>Minimum Market Acceptance</title>
		<link>http://tynerblain.com/blog/2010/03/31/minimum-market-acceptance/</link>
		<comments>http://tynerblain.com/blog/2010/03/31/minimum-market-acceptance/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 00:23:26 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Kano Analysis]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[agile product management]]></category>
		<category><![CDATA[initial market acceptance]]></category>
		<category><![CDATA[minimal market acceptance]]></category>
		<category><![CDATA[minimum market acceptance]]></category>
		<category><![CDATA[startup marketing]]></category>
		<category><![CDATA[startup product management]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1195</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F03%2F31%2Fminimum-market-acceptance%2F", "shorturl": "http://bit.ly/9E0ZKV", "style": "big", "title": "Minimum Market Acceptance" }); April Dunford just presented Startup Marketing 101 at DemoCamp Toronto.  Great ideas from the &#8216;marketing and your startup&#8217; point of view.  I&#8217;ve often said that product managers and product marketers care about much of the same market data, they just do different things [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2010%252F03%252F31%252Fminimum-market-acceptance%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2F9E0ZKV%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Minimum%20Market%20Acceptance%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F03%2F31%2Fminimum-market-acceptance%2F", "shorturl": "http://bit.ly/9E0ZKV", "style": "big", "title": "Minimum Market Acceptance" });</script></div>
<p><img class="alignnone" title="april dunford startup marketing 101" src="http://sehlhorst.smugmug.com/Other/blog/startup-marketing/824590905_QKcrF-O.png" alt="" width="250" height="235" /></p>
<p>April Dunford just presented <em><a title="startup marketing 101" href="http://www.rocketwatcher.com/blog/2010/03/startup-marketing-101.html">Startup Marketing 101</a></em><em> </em>at DemoCamp Toronto.  Great ideas from the &#8216;marketing and your startup&#8217; point of view.  I&#8217;ve often said that product managers and product marketers care about much of the same market data, they just do different things with it.  The idea of <em>minimal feature set</em> came up in April&#8217;s presentation &#8211; this article talks about product management, agile, and initial market acceptance.</p>
<p><span id="more-1195"></span></p>
<h2>Initial Market Acceptance and Minimum Market Acceptance</h2>
<p>April mentions (in slide 4) that an important event to the timing of marketing activities is achieving the &#8220;_minimal feature set (for certain markets)_.&#8221;  April organizes those marketing investments in terms of three stages of &#8220;product marketing lifecycle&#8221;:</p>
<ol>
<li>What to do when your startup has a &#8220;pre-product&#8221; product.</li>
<li>Where to focus when you&#8217;re focused on early adopters.</li>
<li>How to invest in your marketing programs when your focus is on scale / growth.</li>
</ol>
<p>Coming from an agile background, I think about two distinct notions of &#8220;minimum&#8221; or &#8220;initial&#8221; when it comes products and markets.  The following definitions are in a B2B context, as I&#8217;ve been focusing on this recently with a client in the B2B space.  The same ideas are relevant to B2C and B2B2C companies, but the language would be slightly different.</p>
<div>
<ol>
<li><em><strong>Initial market acceptance</strong></em>: set of addressed problems that at least one customer in your target market is willing to pay to solve.</li>
<li><em><strong>Minimum market acceptance</strong></em>: set of solved problems that enough of your customers in your target market are willing to pay to solve, that determines &#8220;minimum success&#8221; for your product strategy.</li>
</ol>
</div>
<p>I&#8217;m assuming that when April used the phrase &#8220;minimal feature set&#8221;, she was really talking about &#8220;minimum market acceptance&#8221; in the way that I&#8217;m describing here.  The distinction is that features describe what a product does, which is an inside-out view of the product.  To be market focused, you have to think about which market problems are being solved, for whom they are solved, and how well they are being solved &#8211; an <a title="outside in" href="http://tynerblain.com/blog/2007/09/27/outside-in/">outside-in product </a>view.</p>
<p>If you focus on, and organize around your features, you are likely to miss the mark.  You must<a title="prioritize the problems not the features" href="http://tynerblain.com/blog/2009/10/19/agile-prioritization/"> focus on the problems</a> that your customers need to solve.  In your product, you will prioritize the development of capabilities (embodied through features) that are designed to help your customers (<a title="buyer personas and user personas" href="http://tynerblain.com/blog/2008/07/22/buyers-and-users/">buyers and users</a>) solve their problems.  Your market analysis should be geared around understanding how many customers in each segment face each problem, and how much they are willing to pay to solve those problems.</p>
<h2>Agile or Waterfall or <em>Waterfragile</em>?</h2>
<p>As an agile product manager, and former developer, I know that when you do &#8220;everything we need to be successful&#8221; in the first release, you&#8217;re not being agile &#8211; we&#8217;re being waterfall.  A slight extension of this is &#8220;everything we need to be <em>minimally</em> successful&#8221; &#8211; and that is still waterfall.</p>
<p>An agile team should focus on the first release addressing the <em>initial</em> market acceptance criteria &#8211; the minimal set for a <em>single </em>customer.  The goal is to get the product in front of customers as soon as possible &#8211; this starts your revenue stream earlier, gives you valuable market feedback, and gives you the opportunity to establish momentum through repeated incremental releases of your product.  Each release will solve addressed problems &#8220;better&#8221; and / or address additional problems, until you reach <em>minimum</em> market acceptance.</p>
<h2>Kano Analysis for Understanding Problems</h2>
<p>Last year, I was thrilled to share my approach for applying <a title="Kano Analysis for Product Managers" href="http://tynerblain.com/blog/2009/09/28/kano-analysis-for-product-managers/">Kano Analysis as a product manager</a> with the PMV webinar audience as well as the Austin IIBA chapter.  One of the key ideas in the application of Kano Analysis to understanding your market is developing the personas within that market, and understanding how each of them treats each problem / capability.</p>
<p><img class="alignnone" title="kano analysis and personas" src="http://sehlhorst.smugmug.com/Other/blog/kano-personas/824597829_9M8zS-O.png" alt="kano analysis and personas" width="415" height="307" /> [<a title="kano analysis for product managers" href="http://www.slideshare.net/ssehlhorst/kano-analysis20090923">slideshare presentation</a> &amp; <a title="kano analysis webinar" href="http://grandview.rymatech.com/pmv/webinars/2009/09/kano-analysis.php">PMV webinar</a>]</p>
<p>This analysis, in addition to being useful for understanding the market (or a segment) as a whole, also helps you identify your <em>first</em> customer.  Once you know who your first customer is, you can determine the <em>initial market acceptance</em> criteria for that customer, and that determines the <em><a title="Kano Analysis" href="http://tynerblain.com/blog/2006/02/27/prioritizing-software-requirements-kano-take-two/">must have</a></em><a title="Kano Analysis" href="http://tynerblain.com/blog/2006/02/27/prioritizing-software-requirements-kano-take-two/"> capabilities</a>.</p>
<p>Note that finding the initial solution (that the first customer will buy) does not mean releasing a poor quality product &#8211; it just means <a title="satisficing in a sprint" href="http://tynerblain.com/blog/2008/11/12/satisficing-sprints/">releasing a product that solves enough problems</a> (well enough) for one customer.  With the feedback from that customer, you can drive the prioritization for your next iteration &#8211; making the next iteration better for that customer (which can really help your word of mouth), and gaining more customers.  Repeat this process until you get to minimum market acceptance.</p>
<h2>Timing Marketing Investments for Minimum Market Acceptance</h2>
<p><img class="alignnone" title="timing marketing events" src="http://sehlhorst.smugmug.com/Other/blog/marketing-timing/824614319_kZDfc-O.png" alt="" width="396" height="264" /> [slide 9 from <a title="april dunford startup marketing 101" href="http://www.slideshare.net/aprildunford/demo-camp26-startup-marketing">April's presentation on slideshare</a>]</p>
<p>Since I wasn&#8217;t at April&#8217;s presentation, I don&#8217;t know exactly what she would think of the following, but I believe it makes sense:</p>
<ul>
<li>Initial Market Scceptance (one customer would buy your product) marks the transition from <em>pre-product</em> to <em>early adopters</em>.</li>
<li>Minimum Market Acceptance (enough to succeed in the market) happens before the transition from <em>early adopters</em> to <em>scale</em>.  Note that it may not (probably doesn&#8217;t) mark the transition, but I suspect happens mid-stream.</li>
</ul>
<p>Would love to see what other folks think about mapping this product management centric view to the marketing timeline.  Please chime in below.</p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Minimum+Market+Acceptance+http%3A%2F%2Fbit.ly%2F9E0ZKV+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2010/03/31/minimum-market-acceptance/&amp;t=Minimum+Market+Acceptance" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2010/03/31/minimum-market-acceptance/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Measuring Great Design &#8211; Mad Libs Input Form</title>
		<link>http://tynerblain.com/blog/2010/03/01/measuring-interaction-design/</link>
		<comments>http://tynerblain.com/blog/2010/03/01/measuring-interaction-design/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 05:20:02 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Interaction design]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[ROI]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[User Stories]]></category>
		<category><![CDATA[measuring ux]]></category>
		<category><![CDATA[return on investment]]></category>
		<category><![CDATA[user experience]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1174</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F03%2F01%2Fmeasuring-interaction-design%2F", "style": "big", "title": "Measuring Great Design - Mad Libs Input Form" }); I came across a really interesting article LukeW.com, showing how making changes to the way an input form on a website increased interaction by 25 to 40%. The changes reflect the value of thinking outside-in, investing in user experience, and [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2010%252F03%252F01%252Fmeasuring-interaction-design%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Measuring%20Great%20Design%20-%20Mad%20Libs%20Input%20Form%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F03%2F01%2Fmeasuring-interaction-design%2F", "style": "big", "title": "Measuring Great Design - Mad Libs Input Form" });</script></div>
<p><img class="alignnone" title="mad libs pads" src="http://sehlhorst.smugmug.com/Other/blog/mad-libs-on-table/800579804_irVsp-O.jpg" alt="image of mad libs pads" width="250" height="187" /></p>
<p>I came across a really interesting article <a title="LukeW" href="http://www.lukew.com/">LukeW.com</a>, showing how making changes to the way an input form on a website increased interaction by 25 to 40%.  The changes reflect the value of thinking outside-in, investing in user experience, and performance measurement.</p>
<p>Bonus: the idea is cool.</p>
<p><span id="more-1174"></span></p>
<h2>Mad Libs Input Form</h2>
<p><img class="alignnone" title="mad libs form example" src="http://sehlhorst.smugmug.com/Other/blog/mad-libs-small/800576580_TZurw-O.png" alt="before and after screenshot of mad libs input form redesign" width="250" height="237" />[<a title="luke's article on mad libs input form" href="http://www.lukew.com/ff/entry.asp?1007">full size image available in Luke's article</a>]</p>
<p>The idea being presented is to replace the old boring web input form designed for a computer.  The new, fun form is a fill-in-the-blank (aka Mad Libs) layout.  The <a title="mad libs web form" href="http://www.lukew.com/ff/entry.asp?1007">article </a>is on <a title="About Luke" href="http://www.lukew.com/about/index.asp">Luke Wroblewski&#8217;s</a> site.  The team at Vast.com created and tested a version of this form for the Kelly Blue Book site.  [Luke cites Huffduffer.com as the first place where he saw this technique.] Thanks, Luke for sharing this with all of us!</p>
<h2>Outside-In Development</h2>
<p>Product managers are acutely aware of the need to solve market problems.  We are regularly reminded that we&#8217;re creating solutions for people in our markets who use our products to solve their problems. When we write requirements, we avoid writing design specifications, and thereby lose the ability to enforce that the proposed solutions also take an outside-in approach.  We <a title="prioritization example from an outside-in perspective" href="http://tynerblain.com/blog/2009/10/19/agile-prioritization/">maintain an outside-in perspective</a>, but we lost the ability to influence an outside-in aesthetic.</p>
<p>Note: Outside-In Software Development is a great book, <a title="outside-in software development book review" href="http://tynerblain.com/blog/2007/09/27/outside-in/">you should read it</a>.</p>
<p>That&#8217;s one area where user experience works well in concert with product management &#8211; assuring that the same drivers of <em>what</em> to build are informing the design of <em>how</em> it is built.</p>
<p>The genius (or at least elegance) of this Mad Libs form from Vast  / Kelly Blue Book is that it humanizes the experience of requesting that a nearby dealer contact you to discuss a possible purchase of a car from them.  The forms we&#8217;ve all had to fill out on countless web sites are very <em>inside-out</em>.  They expose the inner workings of the program &#8211; &#8220;gather this info, and that info, and this other info.&#8221;  Those forms force users to do what the program wants.  Blech.  The form that Ron Kurti designed, however, forces the program to do what the users want.  Huzzah!</p>
<h2>Bad Requirements Prevent Elegance</h2>
<p>I&#8217;ve written about the importance of <a title="writing requirements without design" href="http://tynerblain.com/blog/2009/11/03/design-free-requirements/">writing design-free requirements</a> several times.  Avoiding design constraints in your requirements is even one of the pillars of the <a title="twelve rules of writing good requirements" href="http://tynerblain.com/blog/2006/05/25/writing-good-requirements-the-big-ten-rules/">big 10 rules of writing requirements</a>.</p>
<p>If you had written the requirements for this <em>contact the dealer</em> page, would you have specified the design of the form?</p>
<p>Most of the requirements analysts I&#8217;ve worked with would have.  I&#8217;ve even worked with companies that have developed templates / stencils defining <em>how</em> these interface specifications must be documented &#8211; requiring that all the fields be aligned, with specific pixel gaps, etc.</p>
<p>If you had specified the design (read: limited the choices of the designer), you would have prevented this solution.</p>
<p>Mr. Kurti&#8217;s elegant solution is clearly better.</p>
<p>One way to write the requirements that would not have prevented this solution would be with a <a title="user stories compared to use cases" href="http://tynerblain.com/blog/2009/02/02/user-stories-and-use-cases/">user story and acceptance criteria</a>:</p>
<blockquote><p>As a car-shopper, I want to engage a car dealer, once every few years, so that I can purchase the car I selected.</p>
<ul>
<li>The car-shopper can provide his contact info (name, email, phone) for the car dealer.</li>
<li>The system will display the information identifying the selected vehicle.</li>
<li>The system will display the information identifying the dealer being contacted.</li>
<li>The system will include an opt-in newsletter-subscription option.</li>
<li>The system will notify the specified dealer when the car-shopper indicates.</li>
</ul>
</blockquote>
<p>The user story nudges the developers into an outside-in perspective by emphasizing the <a title="user goals vs corporate goals" href="http://tynerblain.com/blog/2009/06/22/user-goals-and-corporate-goals/">user&#8217;s goal</a>.  The <a title="acceptance criteria can be testable, non-functional requirements" href="http://tynerblain.com/blog/2009/02/10/agile-non-functional-reqs/">acceptance criteria</a> make it clear that <em>any</em> solution that meets those criteria is acceptable to the product manager.  It allows the interaction designer to create a compelling solution, rather than forcing him to recreate a boring experience.</p>
<h2>Measurement Rocks</h2>
<p>The Vast team measured the impact of making this change to their form, and saw between a 25% and 40% increase in conversion (people contacting dealers versus people abandoning the process when they see the form).  That&#8217;s <strong>a</strong> <em><strong>lot</strong></em><strong> more leads</strong> for the dealers, and presumably a lot more money for Kelly Blue Book and Vast.  This is a great example of how you can <a title="measuring the ROI of design" href="http://tynerblain.com/blog/2007/07/30/measuring-the-roi-of-design/">measure the impact of investing in user experience</a>, because it should spark ideas for you.</p>
<p><strong>What can you measure and test and improve?</strong></p>
<p><strong><span style="font-weight: normal;">Now <em>that&#8217;s </em><a title="definition of return on investment" href="http://tynerblain.com/blog/2006/02/01/definition-of-roi-return-on-investment/">ROI</a> for you.</span></strong></p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Measuring+Great+Design+%E2%80%93+Mad+Libs+Input+Form+http%3A%2F%2Fbit.ly%2FdeB9Po+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2010/03/01/measuring-interaction-design/&amp;t=Measuring+Great+Design+%E2%80%93+Mad+Libs+Input+Form" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2010/03/01/measuring-interaction-design/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Complete Requirements</title>
		<link>http://tynerblain.com/blog/2010/02/23/complete-requirements/</link>
		<comments>http://tynerblain.com/blog/2010/02/23/complete-requirements/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 14:01:54 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Kano Analysis]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[complete requirements]]></category>
		<category><![CDATA[rules of requirements]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1168</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F02%2F23%2Fcomplete-requirements%2F", "style": "big", "title": "Complete Requirements" }); You give your requirements to the engineering team, and they look complete.  The team builds your product, you launch it and the market soundly rejects it.  Why?  Because your requirements weren&#8217;t complete &#8211; they didn&#8217;t actually solve the problem that needed to be solved. Complete Requirements [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2010%252F02%252F23%252Fcomplete-requirements%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Complete%20Requirements%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F02%2F23%2Fcomplete-requirements%2F", "style": "big", "title": "Complete Requirements" });</script></div>
<p><img class="alignnone" title="big ten rules of requirements logo" src="http://sehlhorst.smugmug.com/photos/128628589-M.png" alt="big ten rules of writing requirements logo #5" width="250" height="250" /></p>
<p>You give your requirements to the engineering team, and they <em>look</em> complete.  The team builds your product, you launch it and the market soundly rejects it.  Why?  Because your requirements weren&#8217;t <em>complete</em> &#8211; they didn&#8217;t actually solve the problem that needed to be solved.</p>
<p><span id="more-1168"></span></p>
<h2>Complete Requirements &#8211; Revisiting</h2>
<p>Going back almost four years, I wrote <em><a title="writing complete requirements" href="http://tynerblain.com/blog/2006/06/08/writing-complete-requirements/">Writing Complete Requirements</a></em>, as part of the <em><a title="The rules of writing requirements" href="http://tynerblain.com/blog/2006/05/25/writing-good-requirements-the-big-ten-rules/">Big Rules of Writing Requirements</a></em> series.  That article centered on two key ideas of requirements completeness.</p>
<ul>
<li>Data, not opinion, is the most important input into determining completeness.</li>
<li>There is no <em>absolute </em>way to determine the completeness of your requirements in advance.</li>
</ul>
<p>Completeness is best measured by market acceptance, so technically you can&#8217;t know if your requirements were complete until your customers buy (or fail to buy) your product.  This doesn&#8217;t mean you should give up on this <em>rule</em> of requirements &#8211; you can still focus on, and improve, the completeness of your requirements.</p>
<h2>Objective and Heuristic Assessment</h2>
<p><img class="alignnone" title="raven" src="http://sehlhorst.smugmug.com/Other/blog/raven/795282939_wKV8c-O.jpg" alt="picture of raven with a blue eye" width="250" height="250" /></p>
<p>Given a market problem and the associated requirements (which you can argue are actually the same thing), you can review those requirements to determine if they objectively <em>appear to be</em> complete.  This assessment is based on what you objectively know about your market (needs, opportunity costs, competitive alternatives, etc).  You can also apply heuristic, or logical analysis to identify <em>gaps</em> in the language of your requirements.</p>
<p><strong>Objective assessment</strong> is the application of market knowledge (data) to determine if the nature of the problem is being addressed completely by your requirements.  A bird-feeding maven would know that the requirements for your bird feeder would be incomplete if they didn&#8217;t address the problem of squirrels stealing food from the birds.</p>
<p><strong>Heuristic analysis </strong>is the identifications of logical omissions in your requirements, without the need to apply market insights.  A logician would know that the requirements for your bird feeder were incomplete if they didn&#8217;t address the need to refill an empty feeder.</p>
<p>When you&#8217;re writing requirements, you need to do both.  Heuristic analysis of your requirements will identify where your requirements do not fully solve the problems you already know about &#8211; an eCommerce checkout process without the ability to receive payment, for example.  Objective assessment will help you identify the problems that you overlooked but need to solve &#8211; the need to allow customers to have different billing and shipping addresses when placing an order online, for example.</p>
<p><strong>Complete Requirements for Incomplete Solutions</strong></p>
<p><img class="alignnone" title="gummy worms" src="http://sehlhorst.smugmug.com/photos/415923338_gzWKd-L.jpg" alt="image of worms on the table - illustrating a metaphor" width="250" height="187" /></p>
<p>Don&#8217;t confuse having complete <em>requirements</em> (a good thing) with completely solving a problem (not always a good thing).  In agile development, the idea of <a title="satisficing with sprints" href="http://tynerblain.com/blog/2008/11/12/satisficing-sprints/">satisficing is key to scoping individual iterations</a>.  The idea, simply put, is to solve <em>enough of the problem</em>, and not delay delivery (and value) until you can build a solution to the entire problem.  Because of the law of diminishing returns, for many market problems, there is little or no incremental value in solving the entire problem.  Those resources can be better applied to solving additional problems.</p>
<p><a title="kano analysis webinar" href="http://tynerblain.com/blog/2009/09/28/kano-analysis-for-product-managers/">Kano analysis</a> provides a framework for identifying which market problems <em>must be</em> completely solved, and which ones have a <em>more is better</em> characteristic.  In practice, <em>more is better</em> problems exhibit the law of diminishing returns, and should not be &#8220;completely&#8221; solved.</p>
<p><img class="alignnone" title="kano analysis - more is better" src="http://sehlhorst.smugmug.com/Other/blog/more-is-bettersmall/795296523_Y2haG-O.png" alt="diminishing returns nature of real world features" width="450" height="336" /> [<a title="kano analysis - more is better" href="http://sehlhorst.smugmug.com/Other/blog/more-is-betterbig/795296527_3Y9YM-O.png">larger image</a>, or view the entire <a title="Kano Analysis for Product Managers" href="http://tynerblain.com/blog/2009/09/28/kano-analysis-for-product-managers/">Kano analysis presentation</a>]</p>
<h2>Conclusion</h2>
<p>Complete Requirements are requirements that</p>
<ul>
<li>Identify all of the market problems that need to be solved and their nature (absolute vs. diminishing returns).</li>
<li>Are logically complete in their coverage / articulation of those market needs.</li>
</ul>
<p>To objectively improve the completeness of your requirements, apply market data in an assessment of your requirements.  To heuristically improve the completeness of your requirements, look for logical inconsistencies and gaps in reasoning or coverage.</p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Complete+Requirements+http%3A%2F%2Fbit.ly%2FdiD361+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2010/02/23/complete-requirements/&amp;t=Complete+Requirements" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2010/02/23/complete-requirements/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Most Engaging Articles of 2009</title>
		<link>http://tynerblain.com/blog/2010/01/05/most-engaging-articles-of-2009/</link>
		<comments>http://tynerblain.com/blog/2010/01/05/most-engaging-articles-of-2009/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 07:00:18 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Administrivia]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Prioritization]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[ROI]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[Requirements gathering]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Use Cases]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[top ten list]]></category>
		<category><![CDATA[tyner blain]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1161</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F01%2F05%2Fmost-engaging-articles-of-2009%2F", "style": "big", "title": "Most Engaging Articles of 2009" }); Engagement &#8211; that&#8217;s what this whole product management blogging thing is about.  Check out what Tyner Blain readers found to be the most engaging articles in 2009. Deep Dives If you&#8217;re new to Tyner Blain, you may be surprised by the length of [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Ftynerblain.com%252Fblog%252F2010%252F01%252F05%252Fmost-engaging-articles-of-2009%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Most%20Engaging%20Articles%20of%202009%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Ftynerblain.com%2Fblog%2F2010%2F01%2F05%2Fmost-engaging-articles-of-2009%2F", "style": "big", "title": "Most Engaging Articles of 2009" });</script></div>
<p><img class="alignnone" title="engagement" src="http://sehlhorst.smugmug.com/Other/blog/engagement-ring/757754045_4RPCx-O.jpg" alt="" width="250" height="190" /></p>
<p>Engagement &#8211; that&#8217;s what this whole product management blogging thing is about.  Check out what Tyner Blain readers found to be the most engaging articles in 2009.</p>
<h2><span id="more-1161"></span>Deep Dives</h2>
<p><img class="alignnone" title="diving deep" src="http://sehlhorst.smugmug.com/Other/blog/diving/757757107_gNAMt-O.jpg" alt="" width="250" height="187" /></p>
<p>If you&#8217;re new to Tyner Blain, you may be surprised by the length of the articles here.  I joke that they are long because I don&#8217;t have time to edit.  <a title="Stewart on Twitter" href="http://twitter.com/stewartrogers">Stewart Rogers</a> jokes that they are long because I&#8217;m incapable of writing a short article.  If you&#8217;ve been here a while, you know what you&#8217;re in for.  If you&#8217;ve been here a <em>long</em> while, then you&#8217;re glad (like me) that I don&#8217;t write one per day any more.</p>
<p>Product Management is simultaneously a broad and deep discipline, requiring us to have a breadth of perspective combined with a depth of insight.  We then have to apply that in a market context, effectively navigating the political waters of our organizations.  Most of the articles here either try to skim the breadth of a range of related topics, or plumb the depths of a single topic.  Doing that in under a thousand words is pretty hard.  Most of the articles here also link to other articles, to try and provide even more depth and context, and encourage additional critical thinking.</p>
<p>One measure of the<em> quality</em> of the articles here is how often they stimulate readers to read further, or dive deeper into the topics.  While web analytics won&#8217;t allow us to measure how thought-provoking an article is, we can look to see how many people dive into the linked articles, versus how many people move on to something else.  We can measure the <em>bounce rate</em> of an article to see how often people leave a page without following any of the &#8220;tell me more&#8221; links.</p>
<p>Looking at ~170,000 page views at Tyner Blain in 2009, narrowed down to only those articles with at least 100 page views, here is the top-ten list of most engaging (or &#8220;least abandoned&#8221; if you&#8217;re a &#8220;cup is half empty&#8221; person) articles:</p>
<ol>
<li><a title="Introduction to a series of articles on use cases" href="http://tynerblain.com/blog/2005/12/18/use-case-series-introduction/">Use Case Series: Introduction</a>: A collection of articles on the &#8220;traditional&#8221; forms of use cases &#8211; informal, formal, UML.</li>
<li><a title="agile development of use cases" href="http://tynerblain.com/blog/2007/04/02/agile-development-of-use-cases/">Agile Development of Use Cases</a>: A dive into the dynamics and cadence of an agile process for developing use cases.</li>
<li><a title="Managing Market Data" href="http://tynerblain.com/blog/2008/08/19/managing-market-data/">How Do </a><em><a title="Managing Market Data" href="http://tynerblain.com/blog/2008/08/19/managing-market-data/">You</a></em><a title="Managing Market Data" href="http://tynerblain.com/blog/2008/08/19/managing-market-data/"> Manage Market Data?</a>: A collection of articles exploring different market-immersion techniques in depth.</li>
<li><a title="Scheduling Requirements Changes" href="http://tynerblain.com/blog/2006/04/11/scheduling-requirements-changes-part-2/">Scheduling Requirements Changes &#8211; Part 2</a>: A focus on practical techniques for managing change with an agile development process.</li>
<li><a title="BPMN Mea Culpa" href="http://tynerblain.com/blog/2006/08/22/yesterdays-bpmn-post-was-a-big-fat-lie/">Yesterday&#8217;s BPMN Post Was A Big Fat Lie</a>: A mea culpa and clarification of interest to folks following the <a title="Introduction to BPMN" href="http://tynerblain.com/blog/2006/07/18/foundation-series-business-process-modeling/">BPMN</a> Series.</li>
<li><a title="why ask why?" href="http://tynerblain.com/blog/2005/12/13/everything-i-needed-to-know-i-forgot-in-kindergarden/">Everything I Needed To Know I Forgot in Kindergarten</a>: Why asking <em>why?</em> is important.</li>
<li><a title="Plan Your Sprint by ROI" href="http://tynerblain.com/blog/2008/10/16/planning-sprints-by-roi/">Plan Your Next Sprint by ROI &#8211; Part 1</a>: Prioritizing by <em>Bang for the Buck</em>, not just <em>Bang</em>.</li>
<li><a title="10 Agile Mistakes" href="http://tynerblain.com/blog/2007/01/03/going-agile-ten-common-mistakes/">Ten Common Mistakes of Going Agile</a>: A collection of articles about common pitfalls encountered when adopting agile practices.</li>
<li><a title="Never Completing a Project" href="http://tynerblain.com/blog/2007/08/06/perpetually-almost-finished-projects/">Perpetually </a><em><a title="Never Completing a Project" href="http://tynerblain.com/blog/2007/08/06/perpetually-almost-finished-projects/">Almost</a></em><a title="Never Completing a Project" href="http://tynerblain.com/blog/2007/08/06/perpetually-almost-finished-projects/"> Finished Projects</a>: Organizing a project with discrete deliverables and rolling-wave planning to avoid the &#8220;90% done, 90% remaining&#8221; problem.</li>
<li><a title="Timeboxes are better than the Iron Triangle" href="http://tynerblain.com/blog/2006/04/12/how-to-use-timeboxes-for-scheduling-software-delivery/">How To Use Timeboxes for Scheduling Software Delivery</a>: One of my personal favorites.  A rational approach to making trade-offs when your &#8220;perfect&#8221; plan has to change.</li>
</ol>
<p>OK Stewart, that&#8217;s only 519 words.</p>

<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=By+%40sehlhorst%3A+Most+Engaging+Articles+of+2009+http%3A%2F%2Fbit.ly%2F4QJ30i+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://tynerblain.com/blog/2010/01/05/most-engaging-articles-of-2009/&amp;t=Most+Engaging+Articles+of+2009" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big4.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2010/01/05/most-engaging-articles-of-2009/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

