<?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; Interface Design</title>
	<atom:link href="http://tynerblain.com/blog/category/interface-design/feed/" rel="self" type="application/rss+xml" />
	<link>http://tynerblain.com/blog</link>
	<description>Software product success.</description>
	<lastBuildDate>Wed, 17 Mar 2010 04:31:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Design-Free Requirements</title>
		<link>http://tynerblain.com/blog/2009/11/03/design-free-requirements/</link>
		<comments>http://tynerblain.com/blog/2009/11/03/design-free-requirements/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 16:16:06 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Interaction design]]></category>
		<category><![CDATA[Interface Design]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[Use Cases]]></category>
		<category><![CDATA[User Stories]]></category>
		<category><![CDATA[big ten rules]]></category>
		<category><![CDATA[product management and design]]></category>
		<category><![CDATA[rules of requirements]]></category>
		<category><![CDATA[rules of writing requirements]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1106</guid>
		<description><![CDATA[
Design-Free requirements are important for two reasons, and hard for two other reasons.
Design-free requirements are hard because you &#8220;know what you want&#8221; when you should be documenting &#8220;why you want it.&#8221;  Writing design-free requirements can be hard when you don&#8217;t trust your development team to &#8220;do the right thing&#8221; even though it is not your [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="Design-Free Requirements Logo" src="http://sehlhorst.smugmug.com/photos/128628560-M.png" alt="" width="250" height="250" /></p>
<p>Design-Free requirements are important for two reasons, and hard for two other reasons.</p>
<p>Design-free requirements are hard because you &#8220;know what you want&#8221; when you should be documenting &#8220;why you want it.&#8221;  Writing design-free requirements can be hard when you don&#8217;t trust your development team to &#8220;do the right thing&#8221; even though it is not your job to design the solution.</p>
<h2><span id="more-1106"></span>Design-Free Requirements &#8211; Revisiting</h2>
<p><img class="alignnone" title="alphabet soup" src="http://sehlhorst.smugmug.com/photos/89784885-M.jpg" alt="" width="250" height="187" /></p>
<p>It has been three years since I wrote <em><a title="Separating Requirements from Design" href="http://tynerblain.com/blog/2006/06/02/writing-design-free-requirements/">Writing Design-Free Requirements</a></em> as part of <em><a title="The rules of writing requirements" href="http://tynerblain.com/blog/2006/05/25/writing-good-requirements-the-big-ten-rules/">The Big Ten Rules of Writing Requirements</a></em>.  In that time, agile development practices have moved from being an esoteric development methodology to being the topic on the tips of everyone&#8217;s tongues as executives and organizations try to either (1) get the benefits of the state of the art in software-development process or (2) do something shiny and fashionable.</p>
<p>The previous article centered on elements of designs within MRD, PRD, and SRS artifacts.  A regular <a title="Alphabet Soup of Requirements Artifacts" href="http://tynerblain.com/blog/2006/08/24/alphabet-soup/">alphabet soup of artifacts</a>.  Honoring the <a title="agile manifesto - Alistair Cockburn speaks" href="http://tynerblain.com/blog/2006/05/10/agile-values-alistair-cockburn-on-the-agile-manifesto/">values behind the agile manifesto</a> encourages us to emphasize <em>working software</em> over <em>comprehensive documentation</em>.  In that light, we&#8217;ll take a &#8220;what is needed&#8221; approach to talking about how requirements, design, and implementation are all needed &#8211; rather than issue an edict about where that information should be captured.</p>
<h2>Agile Development Inputs</h2>
<p><strong>When creating software, someone needs to know:</strong></p>
<ul>
<li>What <a title="solve problems, don't address problem manifestations" href="http://tynerblain.com/blog/2008/05/12/your-problem-statement/">problems are being solved</a>, and how important (valuable) they are to be solved.</li>
<li><a title="defining personas" href="http://tynerblain.com/blog/2006/03/22/how-to-create-personas-for-goal-driven-development/">Who has the problems</a> and who is using the software to (help) solve those problems.</li>
<li><a title="defining constraints" href="http://tynerblain.com/blog/2007/11/08/abilene-paradox/">What constraints limit the space</a> that defines the universe of possible viable solutions.</li>
<li>What <a title="nonfunctional requirements and acceptance criteria in agile" href="http://tynerblain.com/blog/2009/02/10/agile-non-functional-reqs/">acceptance criteria</a> define if the delivered solution will be acceptable.</li>
</ul>
<p><strong>Subject to those inputs, someone needs to make design decisions:</strong></p>
<ul>
<li>User experience design -<a title="user interaction design" href="http://tynerblain.com/blog/2006/03/07/interaction-design-explained-by-alan-cooper/"> what interactions</a> will a user of our solution love?</li>
<li>Program design &#8211; how (in a nuts and bolts way) will our solution <a title="feature-driven design explained" href="http://tynerblain.com/blog/2006/03/27/foundation-series-feature-driven-development-fdd-explained/">function</a>?</li>
</ul>
<p>When talking about agile and talking about design, we should take a look at how Kent Beck and Alan Cooper, as respective though leaders in each space, view this.</p>
<blockquote><p>Cooper doesn’t talk much about creating the requirements to support the daily use scenarios – he proposes moving directly into design of the solution. This differs from the more traditional technique of <a style="color: #0000aa; text-decoration: none; padding: 0px; margin: 0px;" title="Use cases are supported with functional requirements" href="http://tynerblain.com/blog/2006/02/10/writing-functional-requirements-to-support-use-cases/">writing functional requirements to support use cases</a>. Cooper also breaks down design into two components – program design and interaction design. Program design is everything you don’t see. Interaction design is everything you do see.</p>
<p>[...]</p>
<p>Cooper argues that designing the interaction should happen before any code is written. He uses a construction analogy to drive home his perspective – you can’t pour the concrete before you build the forms. Kent Beck, founder of the XP programming philosophy disagrees with the premise. Beck believes that the cost of changing software is low, and the imagery Cooper uses is hyperbole. We touch on, and <a style="color: #0000aa; text-decoration: none; padding: 0px; margin: 0px;" title="Cooper vs Beck" href="http://tynerblain.com/blog/2006/03/07/interaction-design-explained-by-alan-cooper/">link to that debate in this post</a>.</p>
<p><cite><a title="Overview of the interaction design process" href="http://tynerblain.com/blog/2006/03/21/interaction-design-process-overview/">Interaction Design Process Overview</a></cite></p></blockquote>
<p>I don&#8217;t believe that Beck is arguing for &#8220;don&#8217;t do design&#8221; &#8211; I believe he is arguing for &#8220;don&#8217;t do <em>big upfront design</em> that would delay implementation.&#8221;  He&#8217;s championing the agile values that emphasize creating working software and responding to change.  I can imagine him saying &#8220;no one will buy a design, they want a solution.&#8221;  Cooper&#8217;s point is that create a solution without first understanding how someone will use it, you can&#8217;t create a great product.</p>
<p>Program design has many <em>hidden</em> impacts &#8211; cost of maintenance, cost to change, and the performance of the solution.  You can have a design (or architecture) that makes everything easier to do in the future &#8211; at the cost of delaying the delivery of anything.  Or you can have a design that minimizes the time to deliver the first thing, while increasing the cost to deliver any particular next thing.  Or you can design a solution that falls somewhere between those extremes.</p>
<p>If you say &#8220;we don&#8217;t do design&#8221; you&#8217;re lying.  Every solution includes design.  Your team&#8217;s design process may be &#8220;big and upfront&#8221; or it could be a couple sketches on a whiteboard, or some email exchanges.  You may create storyboards and wireframes.  Or design may be the thing that happens right before the programmer&#8217;s fingers strike the keys.  Design may be explicit or it may be implicit &#8211; but it never &#8220;doesn&#8217;t happen.&#8221;</p>
<p>In the movie Amadeus, Salieri is astounded that there are no rough drafts of Mozart&#8217;s compositions.  That&#8217;s because Mozart did the design in his head, not because he didn&#8217;t do design.  I&#8217;ve worked with programmers who&#8217;s &#8220;implicit designs&#8221; were great, but that is the <em>exception</em>, not the rule.</p>
<h2>Who Owns Design?</h2>
<p>Since design happens <em>sometime before fingers strike the keyboard</em>, the real question is &#8211; &#8220;who owns the design?&#8221;</p>
<ul>
<li>You have a product manager developing an understanding of market problems, and prioritizing the problems that should be solved with your product.</li>
<li>You may have a product owner managing the backlog and clarifying those requirements (problems) for the development team.</li>
<li>You may have an interface (or interaction) designer or team of designers who are broadly responsible for &#8220;how users interact with our products.&#8221;</li>
<li>You may have an architect or lead engineer who is responsible for the &#8220;big picture design&#8221; of how your product works.</li>
<li>You have developers and testers who are responsible for delivering your product. [Note: coding without testing is like typing code without compiling - <em>maybe</em> it works, but probably not.]</li>
</ul>
<p>You may not have distinct individuals with each of these titles &#8211; every small team I&#8217;ve worked with has people wearing multiple hats.  This is especially true when you have an agile team full of <a title="specialized generalists and stagging an agile team" href="http://tynerblain.com/blog/2008/02/14/specializing-generalists/">specializing generalists</a> &#8211; any given story (or task) may have a different architect and different implementer.  I&#8217;ve only worked with one company where the architects are NOT part of the development team.  If your team is set up that way, please comment below &#8211; I had never seen that before, and I&#8217;m not convinced that it is the best way to organize &#8211; what have your experiences been?</p>
<p>Generally, &#8220;program design&#8221; is clearly owned by the development team &#8211; and product managers (and product owners) know better than to specify program design in their requirements.  Neither the lead engineer nor the product manager believes that the product manager is a <em>better</em> programmer &#8211; so the product manager better not be <a title="requirements versus design" href="http://tynerblain.com/blog/2006/02/11/requirements-vs-design-which-is-which-and-why/">specifying program design and mislabeling it as requirements</a>.  Coincidentally, Steve Johnson, at Pragmatic Marketing has a post running right now with a bit of a <a title="requirement or design?  a quiz" href="http://pragmaticmarketing.typepad.com/productmarketing/2009/11/lets-play-req-or-spec-duplicate-images.html">quiz &#8211; is this a req(uirment) or a spec (design)</a>?</p>
<p>Where the line is more blurred is around interface and/or interaction design.  Some development teams have interface designers as part of the team.  Some companies organize with interface design as a &#8220;shared service&#8221; within the company.  Either approach can be the &#8220;right one&#8221; &#8211; it depends on too many details to make a sweeping generalization.  When the designers are members of the development team, the solution (from a product management perspective) is the same &#8211; the &#8220;team&#8221; is responsible for all design.  When the designers are not part of the development team, the developers have to consume two sets of guidance &#8211; &#8220;solve this problem&#8221; from product management, and &#8220;the solution needs to look like / act like this&#8221; from the designers.</p>
<p><a title="ux and product management collaboration" href="http://tynerblain.com/blog/2007/03/05/product-management-and-ux/">Collaboration between product management and user experience</a> people is the ideal solution.  The &#8220;requirements&#8221; and &#8220;design&#8221; inputs to the development team are comprehensive and consistent.</p>
<h2>Design-Free Requirements</h2>
<p>There are benefits &#8211; especially when being agile and <em>minimizing</em> documentation &#8211; to delivering requirements and design <em>at the same time</em>.  Just don&#8217;t do it by embedding design constraints within the requirements.</p>
<ul>
<li>When people on your team misinterpret design as requirements, they are unnecessarily constrained.</li>
<li>As a product manager &#8211; are you the best designer on your team?  If you&#8217;re busy designing, who&#8217;s product managing?</li>
</ul>
<p>This is trickiest when writing use cases &#8211; sequencing a set of interactions <em>is</em> interaction design.  That is one benefit of<a title="user stories vs use cases" href="http://tynerblain.com/blog/2009/02/02/user-stories-and-use-cases/"> writing a user story instead of a use case</a>.  An approach that has worked well for me with multiple teams is to deliver user stories (requirements) combined with storyboards (interaction design) and wireframes (interface design).  When details are needed (usually when &#8220;changing&#8221; versus &#8220;creating&#8221; an interface), screenshots can replace wireframes.  When business processes are complicated, process flows can replace storyboards.</p>
<p>Just don&#8217;t embed the designs within the requirements.</p>
<p align="left"><a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=By+@sehlhorst:+Design-Free+Requirements+http://bit.ly/3BuFst+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/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/2009/11/03/design-free-requirements/&amp;t=Design-Free+Requirements" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/tt-facebook-big4.png" alt="Post to Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2009/11/03/design-free-requirements/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Agile Prioritization: Which Widget?</title>
		<link>http://tynerblain.com/blog/2009/10/19/agile-prioritization/</link>
		<comments>http://tynerblain.com/blog/2009/10/19/agile-prioritization/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 03:54:46 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Interface Design]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[agile development]]></category>
		<category><![CDATA[product management and user experience]]></category>
		<category><![CDATA[ux and product management]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1093</guid>
		<description><![CDATA[
Your company is building out a toolkit to support third-party developers.  You&#8217;ll need a bunch of different types of widgets &#8211; combo-boxes, text entry fields, domain-specific controls, etc.  You&#8217;ve got a long list of desired controls from your customers.  You&#8217;re agile.  What do you build first?
Agile In A Soundbite
Being agile is about delivering incremental value, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="agile combobox" src="http://sehlhorst.smugmug.com/photos/686509239_2Y8GV-O.png" alt="" width="205" height="194" /></p>
<p>Your company is building out a toolkit to support third-party developers.  You&#8217;ll need a bunch of different types of widgets &#8211; combo-boxes, text entry fields, domain-specific controls, etc.  You&#8217;ve got a long list of desired controls from your customers.  You&#8217;re agile.  What do you build first?</p>
<h2><span id="more-1093"></span>Agile In A Soundbite</h2>
<p>Being <a title="agile explained" href="http://tynerblain.com/blog/2007/03/16/explaining-agile-development/">agile is about delivering incremental value</a>, quickly, getting feedback, and then delivering more incremental value.  Repeat until &#8220;done.&#8221;  <em>Good</em> agile adds a qualifier &#8211; do the <em>most valuable</em> thing quickly, get feedback, do the <em>most valuable</em> thing (that has not already been done) quickly. <em>Better</em> <a title="value optimization and prioritization" href="http://tynerblain.com/blog/2007/07/31/prioritization-and-value-maximization/">agile optimizes the rate at which you deliver value</a> by taking into account both benefit and cost.  <em>Great</em> agile overlays a focus on getting better at doing all of these things while you do them &#8211; becoming a learning organization.</p>
<h2>Boiling the Ocean</h2>
<p><img class="alignnone" title="boiling the ocean" src="http://sehlhorst.smugmug.com/photos/686571065_y35xb-O.jpg" alt="" width="250" height="166" /></p>
<p>A product manager I was coaching was faced with a challenge commonly referred to as <em>boiling the ocean</em>. His team was tasked with solving a market problem, and they were constrained to doing it with a service-oriented architecture that exposed a set of widgets (user interface controls) that customers could easily integrate into their products.  This approach was designed to provide competitive differentiation by reducing the time and cost to deploy solutions that allowed customers to integrate his product into their existing platforms.</p>
<p>In initial conversations with customers, technologists, and architects, this product manager quickly amassed a list of desired widgets (controls) and scenarios (stories) in which they could be used.  The product manager&#8217;s team had recently switched to an agile development methodology.  The internal stakeholders, not yet accustomed to agile development, wanted &#8220;all of the widgets,&#8221; now.</p>
<p>This product manager was able to convince them that the team would deliver the widgets incrementally, following agile principles.</p>
<p>His question was &#8211; <em>How do I sequence the widgets in the backlog</em>?</p>
<h2>Defining Widget Priority</h2>
<p>The product manager had a list of widgets, combo-boxes, data-grids, text fields, radio buttons, etc., and for each widget, he had a real-world scenario showing how the widget could be used.  Most of the scenarios involved customers using multiple widgets.  He wondered if he should do some sort of analysis that detailed the frequency of use of each widget.  &#8221;This widget is used in 7 scenarios, so it should be done first; this widget is used in 5 scenarios&#8230;&#8221;</p>
<p>There was a strong temptation to add several &#8220;Create a widget&#8221; tasks to his backlog.  It would be easy for his development team to estimate the effort required to deliver each widget.  His team wanted to deliver incrementally, and &#8220;one widget at a time&#8221; felt like logical, discrete chunks of work to them.  They could easily sink their teeth into estimating, building, and testing each widget.</p>
<p>A quick reminder of a main tenet of agile, delivering incremental value, illuminated the flaw in this approach.  This approach would have been an <em>inside-out</em> prioritization, when <a title="outside-in software development" href="http://tynerblain.com/blog/2007/09/27/outside-in/">value delivery requires an outside-in perspective.</a> (See the &#8216;recommended reading&#8217; suggestions on this page to check out Kessler and Sweitzer&#8217;s great book.)</p>
<p>If the team used this approach, after the first widget was complete, they would be able to deliver exactly 1 task, and 0 stories.  Development teams don&#8217;t deliver tasks, however.  The team&#8217;s customers would not be able to get incremental value from having a single widget.  The team would have delivered seven incomplete stories &#8211; so they would have delivered no stories at all!</p>
<p>We reworked his approach as follows:</p>
<ol>
<li><strong>Assess a value for each story</strong>, making sure that<a title="writing complete user stories" href="http://tynerblain.com/blog/2009/07/06/writing-complete-user-stories/"> each story would enable his customers to accomplish something valuable</a>.</li>
<li>Engage their user interface /<a title="definition of user experience" href="http://tynerblain.com/blog/2006/03/03/foundation-series-user-experience-disciplines/"> user experience</a> designer to <em><strong>design</strong></em><strong> a solution for the most valuable story</strong>.  This design was constrained to use widgets in the user interface.  The suggested way to communicate this design was with a storyboard and low-fidelity wireframes.</li>
<li><strong>Identify the widgets needed</strong> to be built to deliver that story, <em>using the designer&#8217;s design</em>.</li>
<li><strong>Deliver the story</strong> to the development team, including the storyboard, wireframes, and list of widgets to be used as acceptance criteria.</li>
<li>Get the development team to <strong>size (estimate) the effort to complete each story</strong>.</li>
<li>Where stories were too big (epics), <strong>collaborate </strong>to identify good ways to <a title="agile story decomposition" href="http://tynerblain.com/blog/2007/06/27/benefits-of-agile-stories/">break up the stories</a> into manageable chunks.</li>
<li><strong>Repeat steps 2 through 6</strong> until the amount of identified effort was likely to fill the release (keep the dev team busy delivering value).</li>
<li>As the team delivers each story, get feedback from the market, revisit the prioritization, and revise the &#8220;next&#8221; story.</li>
</ol>
<p>What we discovered was that a scenario like the following (modified for this article) played out:</p>
<ul>
<li>The first story required two widgets.  As no widgets existed, both had to be built.</li>
<li>The second story required three widgets, but two of them had been built to support the first story &#8211; only one <em>incremental</em> widget had to be created.</li>
<li>The third story used one of the widgets from the first story, but required additional behaviors.  The original widget was modified to provide <em>incremental</em> capabilities (and value).</li>
</ul>
<h2>A Note On Team Structure</h2>
<p>Astute readers will notice that there was a <em>design step</em> &#8220;inside the requirements process&#8221; &#8211; before the stories were delivered to the development team.  Technically, that is true, for the way this particular company was organized.  The user experience designer was not a member of the scrum team, but rather, an external consultant who supported multiple teams.  The product manager engaged the designer prior to engaging the development teams.</p>
<p>This just as easily could have happened as follows:</p>
<ol>
<li>Product manager identifies, values, and prioritizes stories to be added to the backlog.</li>
<li>Development team, as part of sizing the stories, engages their user experience designer to select the appropriate widgets, and those <em>design decisions</em> inform the estimation process.</li>
<li>Everything else is the same.</li>
</ol>
<p>This <em>procedural variation</em> does not have design &#8220;inside the requirements process.&#8221;  The same people do the same things, in the same sequence in this scenario.  The only difference is that the interface / interaction designer is a member of the development team.  That would be ideal, but that was not how the company was organized.</p>
<p>In this particular example, <a title="product managers and UX designers" href="http://tynerblain.com/blog/2007/03/05/product-management-and-ux/">having the product manager collaborate with the UX designer</a> made the most sense.  It introduced less complexity for the product manager to accept responsibility for this activity than it would have for the development team (who was still new to using an agile delivery cadence) to do it.</p>
<h2>Conclusion</h2>
<p>The key ideas at play here:</p>
<ul>
<li>Focus on <em>realizable</em> <strong>value to the customer</strong> (outside-in development), not <em>tractable</em> tasks (inside-out development).</li>
<li><strong>Collaboration with a UX</strong> professional is key to driving &#8220;interface requirements.&#8221;</li>
<li><strong>Deliver frequently and valuably</strong>, get feedback (learn), and incorporate that knowledge into whatever is next.</li>
</ul>
<p align="left"><a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=By+@sehlhorst:+Agile+Prioritization%3A+Which+Widget%3F+http://bit.ly/1ejwKo+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/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/2009/10/19/agile-prioritization/&amp;t=Agile+Prioritization%3A+Which+Widget%3F" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/tt-facebook-big4.png" alt="Post to Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2009/10/19/agile-prioritization/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Modeling User Competency</title>
		<link>http://tynerblain.com/blog/2009/10/13/modeling-user-competency/</link>
		<comments>http://tynerblain.com/blog/2009/10/13/modeling-user-competency/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 04:40:50 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Interface Design]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[ROI]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[competency model]]></category>
		<category><![CDATA[experience curves]]></category>
		<category><![CDATA[learning curves]]></category>
		<category><![CDATA[user competency]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=1084</guid>
		<description><![CDATA[
Perpetually intermediate (competent) users.  Users who briefly exist as novice users and never become experts. Most of your users are competent, and you should design for them.  Competent users have different needs and different expectations than novice or expert users.  How do you know your user&#8217;s competency levels, so you can design for them?

User Competency
User [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="measuring competence" src="http://sehlhorst.smugmug.com/photos/680267147_f9DUM-O.png" alt="" width="250" height="181" /></p>
<p>Perpetually intermediate (competent) users.  Users who briefly exist as novice users and never become experts. Most of your users are competent, and you should design for them.  Competent users have different needs and different expectations than novice or expert users.  How do you know your user&#8217;s competency levels, so you can design for them?</p>
<p><span id="more-1084"></span></p>
<h2>User Competency</h2>
<p>User competency is a concept I first read about in Alan Cooper&#8217;s <em><a title="The Inmates are Running the Asylum, by Alan Cooper" href="http://www.amazon.com/dp/0672326140?tag=tbrb-20&amp;link_code=as3&amp;creativeASIN=0672326140&amp;creative=373489&amp;camp=211189">The Inmates Are Running The Asylum</a></em>.  Cooper&#8217;s contention is that the level of expertise of your users follows a bell curve, or <a title="normal distribution" href="http://en.wikipedia.org/wiki/Normal_distribution">normal distribution</a>.</p>
<blockquote><p>When we’re designing software we need to keep in mind that most of our users will be competent – neither experts nor beginners. Alan Cooper’s studies tell us that user skill levels follow a bell curve. He talks about competent users as perpetual intermediates. Some users drop out of the bell curve when they stop using our software. The rare user becomes an expert. Most users only learn enough to get their real job done.<br />
<cite><a title="competent users" href="http://tynerblain.com/blog/2006/04/02/competent-users-and-software-design/">Competent Users and Software Requirements</a></cite></p></blockquote>
<p>Cooper contends that the combination of <a title="usability learning curves" href="http://tynerblain.com/blog/2007/03/12/software-usability-learning-curves/">learning curves</a> and natural user tendencies to stop learning or abandon a software application are the sources of this distribution of user competency.</p>
<h2>Experience Curves</h2>
<p><a title="experience curves" href="http://en.wikipedia.org/wiki/Experience_curve_effects">Experience curves</a> represent the diminishing costs over time of manufacturing something repeatedly.  The process of manufacturing something gets more efficient as you get smarter about the process.  The process of using software is at least analogous to, if not a specific example of a manufacturing process.  If you&#8217;re using an email application, you are manufacturing email messages.  In a CRM system, you are manufacturing contacts, or contact reports, etc.</p>
<p>By treating any &#8220;using the software to do something&#8221; interactions as a process, you can measure the cost (how long it takes) of the user&#8217;s interactions.  Applying the math behind experience curves, you can predict the reduction in cost (to your users) over time, for any set of interactions.  Experience curves take into account that some processes are inherently more learnable than others.  This property of learnability is reflected as an efficiency coefficient &#8211; how efficiently someone can learn ways to reduce the cost (time) needed to perform the interactions.</p>
<p>This gives us an approach to quantitatively model user competency.  Having a definition allows us to model competence.  And measuring competence allows us to manage product design in the context of user competency -<a title="design for competent users" href="http://tynerblain.com/blog/2007/03/23/dont-make-products-too-simple/"> designing for competent users</a>.</p>
<h2>Defining Competence</h2>
<p>The first step to measuring competency is to define the model.  I am proposing a definition in this article that I suspect will yield insights (to help us manage our products). I was unable to find any quantified definitions of competence, when researching it as part of a client engagement.  If you have, or know of a model, please share it in the discussion below this article.</p>
<ul>
<li>A competent user is someone who learns to perform a task in half the time it initially took them.</li>
<li>An expert user is someone who can complete a task in 10% of the initial time.</li>
</ul>
<p>This definition is guided by an expectation that Alan Cooper&#8217;s premise about perpetually intermediate users is true.  Being a novice user is a very transient state, and becoming an expert is very infrequent.  The goal of the definition is to be able to segment your users and make well-informed design decisions.</p>
<h2>A Proposal, Not a Doctrine</h2>
<p>This is a proposal that doubling performance reflects competence, and achieving a ten-times improvement represents expertise.  It may be that some different measure of performance improvement more accurately reflects competence and expertise.  We have to test it to know.</p>
<p>The experience curve is defined mathematically by <em>Henderson&#8217;s Law</em>.  It states that the time to complete a task is a function of the number of times you have previously done that task, adjusted by the &#8220;elasticity&#8221; of the cost of that task.  In other words, some tasks are easier to improve than others.  If you populate a table with the results of applying Henderson&#8217;s Law, you get the following:</p>
<p><img class="alignnone" title="experience curves" src="http://sehlhorst.smugmug.com/photos/680267101_QEofx-O.png" alt="" width="450" height="247" /> [<a title="experience curve data" href="http://sehlhorst.smugmug.com/photos/680267134_VUcpL-O.png">larger image</a>]</p>
<ul>
<li>Each row in the table represents the Nth repetition of a task.</li>
<li>Each column represents how easy that task is to learn &#8211; progressing from &#8220;hard to improve&#8221; on the left, to &#8220;easy to improve&#8221; on the right.</li>
<li>Each cell in the table represents how long it would take to perform the Nth repetition of the task, as a function of how easy it is to improve your performance at the task.</li>
</ul>
<p>The above definitions represent what experience curves predict mathematically, when the task initially takes 60 seconds.  The following definitions reflect the proposed user competency model:</p>
<ul>
<li>A user is a <em>novice</em> user until she has learned enough to cut the time-on-task in half.  These cells have a white background (and are in the upper left area of the table).</li>
<li>A user is a <em>competent</em> user when the time needed to complete the task is between one half and one tenth of the initial time.  These cells are shown with a yellow background (and are in the central area of the table).</li>
<li>A user is an <em>expert</em> user when she can complete the task in less than one tenth of the time required to initially complete the task.  Theses cells are shown with a red background (and are in the lower right area of the table).</li>
</ul>
<p>In the absence of empirical data, I used my intuition to suggest that a representative experience curve for a typical task performed in software would be one with an &#8220;elasticity&#8221; of 50%.  For a task with those learning characteristics:</p>
<ul>
<li>A novice user would cut the needed time in half on the 4th repetition of the task, and would be considered to be a competent user.</li>
<li>A competent user would further reduce the time needed to one tenth of the initial time on the 100th repetition of the task, and would be considered an expert user.</li>
<li>The 50% elasticity column is surrounded by a black border, and the number of repetitions required to advance to <em>competent</em> or <em>expert</em> status is also highlighted with a black border.</li>
</ul>
<h2>Inferring Competence</h2>
<p>Since different processes have different learning characteristics, you have to figure out how easy it is for your users to improve at your processes.  To do that, you have to study (or at least measure) your users&#8217; interactions with your software.  In the 50% curve highlighted above, a user is capable of cutting their time-on-task in half by the fourth time they perform the task.</p>
<p>If data from your initial testing (or measurement) reveals this to be true, then you have selected the correct curve (the correct column in the table).  If it takes more or less time to reach this level of improvement, shift to the left or right to find the appropriate curve.  If software-interactions are reasonable analogs to manufacturing processes, then the experience curve projects an expected rate of improvement on task.</p>
<p>The following graph isolates the time-on-task data for a user who is learning to improve when repeating a task (process) that matches the 50% elasticity curve.</p>
<p><img class="alignnone" title="rate of learning on a 50% curve" src="http://sehlhorst.smugmug.com/photos/680267141_hukQA-O.png" alt="" width="450" height="327" /> [<a title="larger 50% experience curve time-on-task graph" href="http://sehlhorst.smugmug.com/photos/680267164_phQRh-O.png">larger image</a>]</p>
<p>Note that the number of repetitions of the task (the X axis) is represented as a logarithmic scale.  The data points along the curve correspond to the cell values in the table above (for the 50% column).</p>
<p><strong>Shades of Gray</strong></p>
<p>One nice thing about this quantitative approach to inferring competency by measuring usage is that your measurements are per-process.  Users are not &#8220;purely novice&#8221; or &#8220;purely expert&#8221; &#8211; they can be experts at some processes, while remaining neophytes at other.  There is also awareness, for any particular process, of &#8220;how much competency&#8221; a user has.  This allows you to refine your assumptions of the steepness of the learning curve, and of the thresholds (doubled performance and ten-times performance improvements).</p>
<h2>Improvement Over Time</h2>
<p>Any particular learning curve can be considered relative to calendar time, to see how quickly a user will progress along the curve (as a function of frequency of use).  This can be useful for determining the <a title="definition of ROI" href="http://tynerblain.com/blog/2006/02/01/definition-of-roi-return-on-investment/">ROI </a>of improvement in a particular process.</p>
<blockquote><p>The following graph shows how an 80% learning curve overlays a calendar for tasks that happen daily, weekly, and hourly.<br />
<img title="calendar overlay of competency curve" src="http://sehlhorst.smugmug.com/photos/135449754-M.jpg" alt="" /><br />
[<a title="larger improvement over time" href="http://sehlhorst.smugmug.com/photos/135449796-O.jpg">larger image</a>]</p>
<p>The graph shows that for a weekly frequency, after 16 weeks, the task time has reduced from 300 seconds to 100 seconds. With a daily frequency, the task time is even lower – about 60 seconds. This graph shows nothing other than converting the academic learning curve graph into one that incorporates calendar time and frequency of occurrence.</p>
<p><cite><a title="software usability and learning curves" href="http://tynerblain.com/blog/2007/03/12/software-usability-learning-curves/">Software Usability and Learning Curves</a></cite></p></blockquote>
<p>One approach to inferring user competency would be to measure how long a user has been using your software.  The variation in how frequently different users perform the same task will introduce an error into that inference.  You can avoid introducing that error into your modeling by counting the number of times a user has performed a task.</p>
<h2>Applying the User Competency Model</h2>
<p>The advice in previous articles, and from Cooper&#8217;s book, and from this <a title="perpetual intermediacy" href="http://www.codinghorror.com/blog/archives/000098.html">great article on the  Coding Horror site</a>, encourages us to focus on the competent users.</p>
<p>I&#8217;m working with a client who needs to prioritize a set of capabilities and establish design principles for a product.  We will incorporate this user competency model as part of our analysis.</p>
<p>Hopefully we&#8217;ll have an opportunity to collect data to validate and / or refine the model.  I&#8217;m proposing that we first gain some insight into the which users (novice, competent, expert) drive the most revenue and profit from use of the product &#8211; to establish the importance of each category of user.</p>
<p>For this product, I suspect that we will find many more <em>novice</em> users than a normal distribution would predict.  If that is true, the next question will be to understand if we are dealing with a normal behavioral dynamic, or if characteristics of the current product &#8220;force&#8221; novice users to abandon it before they achieve competence.</p>
<p>Either way, we will have a framework for prioritizing the goals of the novice, competent, and expert users.</p>
<p>How would you apply a model like this to improving your product?</p>
<p align="left"><a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=By+@sehlhorst:+Modeling+User+Competency+http://bit.ly/ZYSig+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/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/2009/10/13/modeling-user-competency/&amp;t=Modeling+User+Competency" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/tt-facebook-big4.png" alt="Post to Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2009/10/13/modeling-user-competency/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>User Goals and Corporate Goals</title>
		<link>http://tynerblain.com/blog/2009/06/22/user-goals-and-corporate-goals/</link>
		<comments>http://tynerblain.com/blog/2009/06/22/user-goals-and-corporate-goals/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 04:59:02 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Interaction design]]></category>
		<category><![CDATA[Interface Design]]></category>
		<category><![CDATA[Prioritization]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[corporate goals]]></category>
		<category><![CDATA[requirements management]]></category>
		<category><![CDATA[user goals]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=973</guid>
		<description><![CDATA[
When defining requirements, you always start in the context of a goal &#8211; either a user goal or a corporate goal.  You need to be aware of both.  Having a positive user experience is important, and requires a user-centered understanding.  Achieving your corporate goals might be in conflict with some user goals.
User Goals
A user centered, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="vending machine as user interface" src="http://sehlhorst.smugmug.com/photos/571470636_NcRaS-L.jpg" alt="" width="163" height="250" /></p>
<p>When defining requirements, you always start in the context of a goal &#8211; either a user goal or a corporate goal.  You need to be aware of both.  Having a positive user experience is important, and <em>requires</em> a user-centered understanding.  Achieving your corporate goals <em>might</em> be in conflict with some user goals.</p>
<h2><span id="more-973"></span>User Goals</h2>
<p>A user centered, or user-centric approach to developing software is one where you start by <a title="developing persona for goal driven development" href="http://tynerblain.com/blog/2006/03/22/how-to-create-personas-for-goal-driven-development/">identifying the key persona</a> in your target market.  For each of those personas, you identify their most important goals.  You then identify the <a title="user stories and use cases" href="http://tynerblain.com/blog/2009/02/02/user-stories-and-use-cases/">user stories or use cases</a> that represent the things these people do in order to achieve their goals.  These &#8220;things&#8221; are manifested as practical goals.  For these activities, you design user interfaces (process, layout, architecture, look and feel, etc) that <a title="customer delight in requirements prioritization" href="http://tynerblain.com/blog/2006/02/27/prioritizing-software-requirements-kano-take-two/">create customer delight</a> for those users, doing those things.  This is how your product <a title="designing to exceed the suck threshold" href="http://tynerblain.com/blog/2005/12/14/getting-past-the-suck-threshold/">exceeds the suck-threshold</a> (good enough that it doesn&#8217;t suck to use your product).</p>
<h2>Corporate Goals</h2>
<p>There&#8217;s a reason your company is creating or improving a product.  It may be to gain market share, or improve profitability, or increase sales.  Whatever it is, there&#8217;s a corporate goal that your decisions should be supporting.  The (subset of) corporate goals that are relevant to your product could be communicated in a vision and scope document, that constrains the domain of problems to be solved, and provides nuanced insights into viable approaches to solving them (<a title="vision and scope docs for apr" href="http://tynerblain.com/blog/2007/04/18/apr-scope-and-vision/">example vision and scope</a>).</p>
<p>Corporate goals are achieved when customers do things with the products.  These &#8220;things&#8221; are manifested as practical goals.  For those activities, you document what should be accomplishable and why.</p>
<h2>Alignment and Conflict of Goals</h2>
<p>Notice that both the user goals and corporate goals manifest in terms of people doing things.  When the person (user) wants to do the same things that your company wants them to do, you&#8217;re in alignment.  When the user goals and corporate goals suggest different activities, you&#8217;re in conflict.</p>
<p>You can see visually that these worlds collide at the &#8220;practical goals&#8221; stage  in the following diagram, from an article on <a title="interaction design and structured requirements" href="http://tynerblain.com/blog/2006/03/23/interaction-design-and-structured-requirements/">combining interaction design and structured requirements principles</a>.</p>
<p><img class="alignnone" title="interaction design and structured requirements" src="http://sehlhorst.smugmug.com/photos/61228367-O.png" alt="" width="461" height="525" /></p>
<p>It may be great &#8211; when the user and corporate goals are in alignment, the practical goal and associated scenario (activity) are easily defined.  What about when the goals are in conflict?</p>
<h2>Vending Machine Example</h2>
<p>Last Thursday morning, as I interacted with a vending machine, the idea for this article was dispensed along with my Diet Mountain Dew.  Yes, I know that&#8217;s odd.  Move on.</p>
<p>It occured to me that the process of buying a cold, caffeinated beverage can be both aligned and unaligned from the perspective of user and corporate goals.  If you imagine writing a use case for purchasing a beverage from the vending machine, your most important scenario is the one where a person wants to purchase a beverage that is available in the machine.</p>
<ul>
<li>User Goal: Get refreshed and vitalized.</li>
<li>Corporate Goal: Sell a beverage.</li>
</ul>
<p>I want to buy a Diet Mountain Dew, as a means to realize my personal goal.  The owner of the vending machine wants to realize her corporate goal of selling me the beverage I want to buy.  We&#8217;re in alignment.  Our requirements definitions and design decisions will be pretty easy &#8211; everything that increases the likelihood of and improves the experience of purchasing that beverage is good.  I put my money in the machine and push the button.</p>
<p>Then it occurs to me &#8211; there&#8217;s a situation where my personal goals are clearly not aligned with the corporate goals of the vending machine owner.  When there is no Diet Mountain Dew available to be purchased.</p>
<p>Consider the following procedure I&#8217;m forced to endure:</p>
<ol>
<li>I view the available beverages that this machine dispenses &#8211; Diet Mountain Dew is one of them.</li>
<li>I put my money in the machine.</li>
<li>I push the button for Diet Mountain Dew.</li>
<li>The tiny display on the machine presents a message in taunting, scrolling red LED lights: SOLD OUT.</li>
</ol>
<p>At this point, I&#8217;m faced with a choice &#8211; select a less desireable beverage, or request my money back and try to satisfy my user goal in some other way.</p>
<p>Consider an alternate procedure:</p>
<ol>
<li>I view the available beverages that this machine dispenses &#8211; Diet Mountain Dew is one of them.</li>
<li>I view the &#8216;current availability&#8217; of Diet Mountain Dew and see that this machine is currently sold out of Diet Mountain Dew.</li>
</ol>
<p>At this point, I&#8217;m faced with a choice &#8211; select a less desireable beverage, or request my money back and try to satisfy my user goal in some other way.</p>
<p>The differences in these two possible procedures indicate that there is a conflict between the corporate goal and the user goal.  With the first procedure, the &#8220;Sell a beverage&#8221; goal is given more importance, because it makes me more likely to purchase a beverage that I don&#8217;t particularly want.  My utility is potentially sacrificed, while the owner of the vending machine is just as satisfied.</p>
<p>By failing to tell me that I can&#8217;t get what I want, until I&#8217;m further invested in the process, I am more likely to purchase something else.  That purchase creates just as much value for the owner of the vending machine, but less value for me.</p>
<p>If the vending machine owner had allowed me to use the second procedure, it would demonstrate that the  owner believed the improved customer experience, while risking the loss of this sale, would encourage me to purchase more over time.  The owner would have been prioritizing the requirements and design that supported the user goal ahead of those supporting the corporate goal &#8211; in hopes that my user loyalty would result in <a title="how word of mouth works" href="http://tynerblain.com/blog/2007/09/18/dynamics-of-word-of-mouth/">better word of mouth</a> (more business from other people) and <a title="usability sells software" href="http://tynerblain.com/blog/2007/01/10/usability-sells-software/">more business from me</a> over time.</p>
<h2>Generalizing User and Corporate Goal Conflicts</h2>
<p>In this vending machine example, the annoying procedure is <em>probably</em> the right one &#8211; I&#8217;m going to treat the &#8220;point of use vending of cold, caffeinated beverages&#8221; as a commodity product.  This market has a very low barrier to entry, and relatively small problem being solved.  I&#8217;m not going to tell my friends about how much I love the vending machines from Joey&#8217;s Vending and encourage them to go out of their way to find and use those machines.  Nor will I purchase more Diet Mountain Dew because the emotional cost of the occasional &#8220;sold out&#8221; scenario is trivially smaller with Joey&#8217;s machines.  I would, however, be more likely to buy a Diet Pepsi when I&#8217;ve already invested time in the process and put my money in the machine &#8211; especially when the alternative is to find a water fountain.  I&#8217;m emotionally invested at this point.</p>
<p>However, this experience did jump out at me as one that is worth explicit consideration when defining requirements and designing solutions.  It does come up regularly.</p>
<p>The new iPhone 3GS hardware allows tethering (using the phone as an internet-connection device for your laptop).  ATT (the exclusive carrier for iPhones in the USA) is indicating that they will charge customers an extra monthly fee for this capability, when they eventually allow it on their network.  The user already has a data plan, and the traffic that ATT would have to carry is just &#8220;data.&#8221;  The user just wants it to work.  ATT, however, may want more money, or may want to limit data traffic on its network &#8211; perhaps to improve the quality of service to all customers.  This could be ATT&#8217;s corporate goal of &#8220;provide better service quality&#8221; conflicting with the user&#8217;s &#8220;increase the flexibilty of how I use my data plan.&#8221;  The former would likely influence customer satisfaction (and abandonment) over time, while the latter would influence customer acquisition rates.  Another conflict in goals.</p>
<p>Think about how different goals can lead to conflicting solutions, requirements, and designs.  And tell me when you&#8217;re out of Diet Mountain Dew before I&#8217;m emotionally invested in the purchase.</p>
<p align="left"><a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=By+@sehlhorst:+User+Goals+and+Corporate+Goals+http://bit.ly/df3j0+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/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/2009/06/22/user-goals-and-corporate-goals/&amp;t=User+Goals+and+Corporate+Goals" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/tt-facebook-big4.png" alt="Post to Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2009/06/22/user-goals-and-corporate-goals/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Freemium Business Model</title>
		<link>http://tynerblain.com/blog/2009/02/24/freemium-model/</link>
		<comments>http://tynerblain.com/blog/2009/02/24/freemium-model/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 23:28:06 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Interface Design]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[freemium]]></category>
		<category><![CDATA[freemium business model]]></category>
		<category><![CDATA[word of mouth]]></category>
		<category><![CDATA[word of mouth marketing]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=840</guid>
		<description><![CDATA[
Ever scratch your head and wonder why you can use your favorite application for free?  How can a business actually make money (and stay in business) when they offer their product for free?  This article looks at the freemium business model, to see when it makes sense for a company to offer it.  The freemium model [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="build it and they will come animation" src="http://photos.smugmug.com/photos/479946987_tbxX6-L.gif" alt="" width="250" height="165" /></p>
<p>Ever scratch your head and wonder why you can use your favorite application for free?  How can a business actually make money (and stay in business) when they offer their product for free?  This article looks at the <em>freemium</em> business model, to see when it makes sense for a company to offer it.  The freemium model is one where the company offers two (or more) versions of a product.  The basic version is free to use.  You have to pay for the premium version.  The goal of this article is to answer the product management question, &#8220;Should you create a freemium business model?&#8221;</p>
<h2><span id="more-840"></span>Economics of a Freemium Business Model</h2>
<p>One way to look at the freemium business model is to look at it <em>per user</em>.  A user will either use the free (basic) version, or for-a-fee (premium) version.  </p>
<p>By definition, a freemium model is where one user is faced with a choice &#8211; do <em>I</em> use it for free, or do <em>I</em> use it for a fee?  </p>
<p>We will look at how to encourage users to move from the free version to the for-a-fee version later.  For now, we&#8217;ll just look at the impact of that choice.</p>
<p><strong>Billing Peter to Pay for Paul (Freemium)</strong></p>
<p>Every free user gets benefits, for free.  Every for-a-fee user pays for the benefits of the product.  The customers who pay for your product also cover the costs you incur when providing the service for free to other customers.</p>
<p>As a company, you have to look at your aggregate user base to analyze the economics.  Some percentage of your users pay for a product (premium), and another percentage do not (free).  What makes this interesting is asking the question &#8211; &#8220;What percentage of your users will pay when a free version is available?&#8221;  <a title="basecamp from 37signals" href="http://www.basecamphq.com/">Basecamp</a>, from 37signals just celebrated its 5th anniversary, and serves as a good illustrative example.  Note that 37signals expressly <a title="basecamp reaches a million users" href="http://www.37signals.com/svn/posts/106-basecamp-turns-1000000">does not share this information</a>, so we have to speculate.</p>
<ul>
<li>In a 2006<a title="thinkvitamin basecamp interview" href="http://thinkvitamin.com/business/guess-the-value-basecamp/"> interview with Ryan Carson</a> for ThinkVitamin; Jason Fried, owner of 37signals, indicated that it was &#8220;more than 0.87%&#8221; &#8211; we&#8217;ll call that 1%.</li>
<li>In a 2009<a title="37signals anniversay interview" href="http://www.midwestbusiness.com/news/viewnews.asp?newsletterID=19584"> interview with Brad Spirrison</a> for MidWestBusiness.com; Fried indicated that 90% of revenue comes from subscriptions to web applications.  Spirrison points out that 37signals earns $40,000 monthly from their job board &#8211; so we&#8217;ll estimate $360,000 per month from subscriptions.  We can sanity-check our 1% estimate.  Fees for 37signals products range from $24 to $149 per month.  If the average paying user pays $36 per month, then there would be 10,000 paying customers &#8211; 1% of a million.  We could tweak the numbers (the average might be lower, there may be more than a million users, etc).  But this data is consistent with a 1% conversion rate.</li>
<li>Jed Christiansen did an <a title="37signals revenue analysis" href="http://blog.jedchristiansen.com/2008/02/25/37signals-is-one-hell-of-a-profitable-business/">analysis</a> about a year ago where he estimated ~ $5,000,000 per year, with numbers very consistent with the Spirrison interview.  Jed built his estimates up from the usage stats that 37signals reported (links at Jed&#8217;s article), and some assumptions for converting from usage to number-of-users.  His estimates would put conversion somewhere around 0.5% to 1%.  He provides a spreadsheet of the model too, if you want to tinker with it.</li>
</ul>
<p>This feels reasonable &#8211; 100 free users for every paying user.  Even if that number is wrong, the rest of this article holds true, but it sometimes helps to have a number to think about.</p>
<p><strong>The Left Hand Doesn&#8217;t Know What the Right Hand is Paying (<em>Not </em>Freemium)</strong></p>
<p>This is the situation where a user gets a product or service for free, and a different user gets a <em>different</em> product or service for free.   Technically, this is not a <em>freemium</em> model &#8211; the same user does not choose between the two options.  User A chooses between free-product-A and not using anything.  User B chooses between for-a-fee-product-B and not purchasing anything.  User A has no interest in product B and vice-versa.  A company may offer a free product or service using this business model, and it may make sense &#8211; but it is not <em>freemium</em>, because the same user is not choosing between the two different products.  A company may also use a freemium business model, but augment it with this business model.  The following examples are examples of this model, listed here to avoid miscommunication:</p>
<ul>
<li>A company can offer a product for free to (primary) users, then charge advertisers (secondary users) to display ads to the primary users.</li>
<li>A conference may offer the opportunity to speak/present (for free) to lecturers, then charge attendees to listen to the lectures.</li>
<li>A government may offer waivers on corporate or property taxes to a company to build a new facility, then levee payroll taxes against the employees for the priveledge of working there.</li>
<li>A shopping mall may host free events (like christmas pageants) to the general public, then charge the retailers for rental space in the mall.</li>
</ul>
<p>In each of these scenarios, the users who get the free product or service are not choosing it relative to the paid product or service.  Different users are targeted for each.  The first model (advertizing supported products) is easy for everyone to identify, but all of the examples share a commonality.</p>
<h2>Freemium Product Costs and Prices</h2>
<p>Isolating the freemium business model from other revenue-generating opportunities, you can see that finding a profitable model can be tough &#8211; you have to control costs and set prices correctly.  Assuming our data from above is representative (and I don&#8217;t know if it is), if 1% of customers are paying customers, then each paying customer has to cover the costs of 100 customers to have the possibility of being profitable.</p>
<p><strong>Quick Cost-Model Refresher</strong></p>
<p>From a management accounting standpoint, for a given product, there are two types of costs.  </p>
<ul>
<li>Fixed Costs &#8211; these costs are the same for the company, no matter how many users there are &#8211; additional (incremental) users add <em>no</em> incremental costs.</li>
<li>Variable Costs &#8211; these costs are the same per user &#8211; incremental users add incremental costs.</li>
<li>Total Costs &#8211; the sum of fixed and variable costs.</li>
</ul>
<p>There are also two important ways to look at profitability &#8211; overall, and per product sale.</p>
<p> </p>
<ul>
<li>Total Profit &#8211; The sum of all product sales minus the total costs to make and sell the product (including overhead).</li>
<li>Contribution Margin &#8211; The difference between product (or service) revenue and the variable costs to make and sell the product.</li>
</ul>
<p> </p>
<p>When the total revenue from product sales exceeds the total costs to make and sell that product, the product is profitable.  From a decision-making standpoint, the contribution margin needs to be positive. The number of products that need to be sold for the company to be profitable is the fixed costs divided by the contribution margin.  Here&#8217;s an example (using a <a title="software as a service pricing" href="http://tynerblain.com/blog/2008/08/13/foundation-series-saas-economics/">software as a service pricing</a> model):</p>
<ul>
<li>Your business has $10,000 per month in fixed costs.  </li>
<li>Your product has a <strong>variable cost of $0.10 per month</strong> per user.</li>
<li>1% of your subscribers pay for their subscription, 99% subscribe to the free version.</li>
<li>You price your product at <strong>$20 per month per user</strong> (per unit subscribed).</li>
</ul>
<p>That looks like a hell of profitable product &#8211; <em>some</em> people will pay $20 for something that costs you a dime.  But looks are deceiving.  You have to cover the costs of the free subscribers, and you have to cover the fixed costs of making and selling your product.</p>
<p><img class="alignnone" title="linear growth of saas" src="http://sehlhorst.smugmug.com/photos/480144197_ECxtB-L.png" alt="" width="450" height="327" /> [<a title="larger linear saas model" href="http://sehlhorst.smugmug.com/photos/480144202_BsGTb-O.png">click for larger image</a>]</p>
<p>You have to get to 100,000 subscribers (1,000 paying customers) just to break even.  This takes much longer than you would expect when selling dimes for $20!  Even a 25% <em>per month</em> growth rate can&#8217;t help you early on.</p>
<p><img class="alignnone" title="exp growth of saas" src="http://sehlhorst.smugmug.com/photos/480144192_i86fa-L.png" alt="" width="450" height="327" /> [<a title="larger exponential growth of saas" href="http://sehlhorst.smugmug.com/photos/480144194_kD3hA-O.png">click for larger image</a>]</p>
<p>The exponential growth does start to compound, but it delays break-even.</p>
<p>The reason this happens is that you have to pay for 100 free-account subscribers with the revenue from each paying customer.  The contribution margin is the key here, and three things have to be true or you shouldn&#8217;t have a freemium business model.</p>
<ol>
<li>You have to have a contribution margin that is positive, when taking into account the ratio of free users to for-a-fee users.</li>
<li>You have to have a sufficiently large user base (number of users &#8211; more precisely, paying customers) to cover your fixed costs.</li>
<li>You have to lower your costs (if (1) is not positive or high enough) and grow your user base (if (2) is not large enough) fast enough to get profitable before you run out of funding.</li>
</ol>
<h2>Growing Your Customer Base</h2>
<p>There are a two ways to grow your customer base &#8211; traditional marketing to grow your customer base, or <a title="word of mouth marketing" href="http://www.pragmaticmarketing.com/publications/magazine/6/3/maximize-your-word-of-mouth-marketing-turning-users-into-fans">word of mouth marketing</a> to grow your customer base.  If you&#8217;re relying on word of mouth marketing, there are two different dynamics that drive word of mouth [thanks to Jonathan Berkowitz of <a title="Thinktiv" href="http://www.thinktiv.com/">Thinktiv.com</a> for this insight!] &#8211; altruistic and selfish.  </p>
<p><strong>Altruistic</strong> &#8211; This product helps me, it will help you too.  You should use it.</p>
<p><strong>Selfish</strong> &#8211; It helps me if you start using this product.  You should use it.</p>
<p>Discussion of the two different word-of-mouth patterns will have to wait for the next article. <span style="text-decoration: line-through;"> I&#8217;ll update this one with a link to that one when it is written.</span></p>
<p>[<strong>Update</strong>: <a title="viral product management" href="http://tynerblain.com/blog/2009/03/02/viral-product-management/">Viral Product Management</a> is now posted!  Thanks all for the great attention to this one so far.]</p>
<p align="left"><a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=By+@sehlhorst:+Freemium+Business+Model+http://bit.ly/Bbw3s+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/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/2009/02/24/freemium-model/&amp;t=Freemium+Business+Model" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/tt-facebook-big4.png" alt="Post to Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2009/02/24/freemium-model/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>User Adoption ROI</title>
		<link>http://tynerblain.com/blog/2008/01/17/user-adoption-roi/</link>
		<comments>http://tynerblain.com/blog/2008/01/17/user-adoption-roi/#comments</comments>
		<pubDate>Fri, 18 Jan 2008 03:48:24 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Interface Design]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[ROI]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[managing data]]></category>
		<category><![CDATA[usability metrics]]></category>
		<category><![CDATA[user adoption]]></category>
		<category><![CDATA[user adoption metrics]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/2008/01/17/user-adoption-roi/</guid>
		<description><![CDATA[
You want your software to be used, not to sit on the shelf.  You can&#8217;t achieve the ROI of your software if people don&#8217;t use it. And you can&#8217;t achieve the ROI of your software by forcing people to use it either.  Some will fail to achieve the benefits, and others will delay using [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="using or bypassing the software" title="using or bypassing the software" src="http://www.smugmug.com/photos/244541345-L.jpg" /></p>
<p>You want your software to be used, not to sit on the shelf.  You can&#8217;t achieve the ROI of your software if people don&#8217;t use it. And you can&#8217;t achieve the ROI of your software by forcing people to use it either.  Some will fail to achieve the benefits, and others will delay using it or refuse to use it entirely.  You have to make them want to use it, and you have to design the software for the users who must use it.  Otherwise, you won&#8217;t achieve the ROI.</p>
<p><span id="more-624"></span></p>
<h2>The ROI of User Adoption</h2>
<p>The image above is great &#8211; it shows one person choosing to use the software, and one person choosing to do the work by hand instead.  It is a classic user adoption problem.  The good thing about it is that you can talk in concrete terms about the goals of your software, and how user adoption plays a role.</p>
<p>Let&#8217;s start with a definition of return on investment (and read the full article for more details and examples)</p>
<blockquote><p>ROI is the acronym for return on investment. Another way to think of it is “How much profit will we make if we invest in this project?” Profit is revenue minus costs. Technically, the question should be “How much profit will we make, relative to our investment, if we invest in this project?”</p>
<p><cite><a title="Definition of ROI" href="http://tynerblain.com/blog/2006/02/01/definition-of-roi-return-on-investment/">Definition of ROI &#8211; Return on Investment</a></cite></p></blockquote>
<p>OK, with a definition of ROI, you have to develop a model for return, and one for investment.  The model for investment is built by looking at the cost of developing the software.  That defines how much it costs.  Assume it costs $1,000,000 to develop and deploy the solution.</p>
<p><a title="ROI calculation tips" href="http://tynerblain.com/blog/2007/02/08/five-roi-calculation-tips/">The model for return is a little more complicated</a>.</p>
<p>For our user adoption example, assume that the software saves the company $1 every time it is used, relative to whatever the company does in the absence of the software.  There are several ways to calculate the ROI of design, we&#8217;re picking one Assume we have 1000 users, each of whom would use (or not use) the software 10 times per day.  That is a <em>potential</em> savings of $10,000 per day.  Call it $2,000,000 per year once all the users are using it all the time.</p>
<p>Unfortunately, many people stop there.   They see a 6-month <a title="definition of payback period" href="http://tynerblain.com/blog/2006/03/19/definition-of-payback-period/">payback period</a>, they fund the project, and they stop thinking about it &#8211; the money is already in the bank.  But you&#8217;re not going to do that.</p>
<p>Imagine that this is your project.  You write perfect requirements, you have an excellent development team, and the software works perfectly &#8211; saving a dollar every time it is used.  The problem is, only 100 people are willing to use the software.  Now, instead of a 6-month payback period, it takes five <strong>years</strong> to recover the cost of developing the software.</p>
<h2>The False Promise of the Mandate</h2>
<p>&#8220;Not a problem <em>for us</em>,&#8221; you say.  &#8220;Everyone must use the software.  Or they&#8217;re fired!&#8221;</p>
<p>Many corporate IT departments work this way.  The business tells them what they need (&#8220;Save us a dollar!&#8221;), and the IT guys gather requirements, develop a perfect application and confirm that it saves a dollar every time someone uses it.  And then they mandate that everyone use it.  Simple.  6-month payback.</p>
<p>There are a couple problems with this approach.</p>
<ol>
<li>Not everyone uses it right away, even if everyone is required to use it.</li>
<li>Not everyone uses it <em>effectively</em>, even when required to use it.</li>
</ol>
<p>The explanation is a little less obvious, but the brutal reality of it is just as true.</p>
<h2>Delayed User Adoption</h2>
<p>You issue a mandate &#8211; all 1000 users will use the software!  The users are conveniently spread out into 10 business units, each with 100 users.  One of those business units will go first.  And your software is a disaster (we&#8217;ll get to #2 in a minute).  The plan was to pilot the software with the first 100 users, then roll it out a month later to the other 900.  No problem &#8211; 7 month payback, and less risk to the business.</p>
<p>The problem is that the people running the business units &#8211; and thereby managing the users &#8211; are smart too.  They see the train wreck that Tom&#8217;s department became, and they refuse to use the software.  They have their own financial targets, and they don&#8217;t want to jeopardize them.  These business unit directors, if they lack the power, will escalate, until their demands are heard.</p>
<p>What&#8217;s the first place in the hierarchy where there&#8217;s a common manager?  Is it the CEO?  Maybe you&#8217;re lucky, and it is only a couple VP&#8217;s arguing about it.  What conclusion do you think they will reach when presented with the following arguments:</p>
<ul>
<li>If we use the software, we will miss our numbers &#8211; it slows people down.  And that will cost <em>you</em> $X.</li>
<li>But we want them to use the software &#8211; they <em>have to</em>.  If they were smarter, it would save money</li>
</ul>
<p>Even if the argument isn&#8217;t accurate &#8211; who will win?  Best case, your roll-out is delayed.  Worst case, it is killed before it ever gets a chance to work.</p>
<h2>Ineffective User Adoption</h2>
<p>It turns out, after watching the pilot group, that <em>expert users</em> can in fact save a dollar every time.  <a title="competent users" href="http://tynerblain.com/blog/2006/04/02/competent-users-and-software-design/"><em>Competent</em> users</a> break even &#8211; there&#8217;s no savings for them.  And <em>beginners</em> were better off with the old solution.  It was less efficient, but the new way is so hard that they can&#8217;t do it well.</p>
<p>You&#8217;ve mandated that people use the software.  Since they didn&#8217;t otherwise <em>want</em> to use it, you had to spend a bunch of energy (and money, in <a title="opportunity cost definition" href="http://tynerblain.com/blog/2006/02/24/definition-of-opportunity-cost/">opportunity cost</a>) to make it happen.  The rollout was delayed, and at the end of the day, you break even.  Most users have no savings, and the few that do are offset by those that caused an increase in cost.</p>
<p>Mandating user adoption creates a false sense of confidence, and does not assure ROI &#8211; it only assures adoption.  We&#8217;ll say that again, to let it sink in.</p>
<blockquote><p><img title="handcuffs" alt="handcuffs" src="http://www.smugmug.com/photos/244554578-L.jpg" /></p>
<p>Mandating user adoption does not assure ROI &#8211; it only assures adoption.</p></blockquote>
<p>So what can you do?</p>
<h2>Measuring User Adoption</h2>
<p>As <a title="product managers and user experience" href="http://tynerblain.com/blog/2007/03/05/product-management-and-ux/">product managers who care about user adoption</a>, our first thought is &#8220;measure it!&#8221;  The biggest challenge is in measuring the right thing.</p>
<p>We can&#8217;t just measure <em>how many clicks</em>, because while that might <a title="correlation and causation explained" href="http://tynerblain.com/blog/2007/10/16/correlation-and-causality/">correlate</a> with ease of use &#8211; it does not necessarily cause increased user adoption.</p>
<p>To stay aligned with the ROI model, we have to measure, directly, that user adoption is meeting the forecast used to create the ROI model.  The only measurement that is assured to be an accurate reflection of user adoption is measurement of user adoption directly.</p>
<h2>Prevent Mistakes, Then Monitor Them</h2>
<p>If we measure poor user adoption after it has proven to be inadequate, that doesn&#8217;t help very much.  It is generally accepted that a good design leads to higher user adoption rates.  In the case of the &#8220;false mandate,&#8221; good design yields faster roll-outs and allows more users to be more effective with the software.</p>
<p>There are also other <a title="measuring the ROI of design investments" href="http://tynerblain.com/blog/2007/07/30/measuring-the-roi-of-design/">reasons to invest in good design</a>.</p>
<p>The right solution is to invest in good design &#8211; targeting <a title="usability learning curves" href="http://tynerblain.com/blog/2007/03/12/software-usability-learning-curves/">competent users</a> (<a title="products for novice users" href="http://tynerblain.com/blog/2007/03/23/dont-make-products-too-simple/">not novice users</a>) to achieve the desired ROI.  A good design is easier to learn too.  You can track the rate of improvement among users.</p>
<p>Here&#8217;s a chart from an article that goes into learning curves in more depth:</p>
<blockquote><p><img alt="80% learning curve frequencies" title="80% learning curve frequencies" src="http://sehlhorst.smugmug.com/photos/135449754-M.jpg" /></p>
<p>[<a title="larger 80% learning curve chart" href="http://sehlhorst.smugmug.com/photos/135449796-O.jpg">larger image</a>]</p>
<p>The graph shows that for a weekly frequency, after 16 weeks, the task time has reduced from 300 seconds to 100 seconds. With a daily frequency, the task time is even lower &#8211; about 60 seconds. This graph shows nothing other than converting the <em>academic</em> learning curve graph into one that incorporates calendar time and frequency of occurance.</p>
<p>Note the odd, vertical drops in task time during week 1. This is just a manifestation of looking at a weekly time scale. For a task that happens once per hour, the user will rack up 40 repetitions during the first week. From a decision-making standpoint, you don’t have time to react to that rapid rate of learning, so it is ok that it is collapsed on this graph.</p>
<p><cite>Software Usability and Learning Curves</cite></p></blockquote>
<p>Thanks, now go hire some designers and achieve your ROI!</p>
<p align="left"><a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=By+@sehlhorst:+User+Adoption+ROI+http://bit.ly/zUVlz+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/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/2008/01/17/user-adoption-roi/&amp;t=User+Adoption+ROI" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/tt-facebook-big4.png" alt="Post to Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2008/01/17/user-adoption-roi/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Global Actor Hierarchies and Personas</title>
		<link>http://tynerblain.com/blog/2007/12/20/global-actor-hierarchies-and-personas/</link>
		<comments>http://tynerblain.com/blog/2007/12/20/global-actor-hierarchies-and-personas/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 04:34:01 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Interface Design]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Requirements Models]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[actor hierarchies]]></category>
		<category><![CDATA[actor hierarchies and personas]]></category>
		<category><![CDATA[actor hierarchy]]></category>
		<category><![CDATA[actors]]></category>
		<category><![CDATA[actors and persona]]></category>
		<category><![CDATA[actors and personas]]></category>
		<category><![CDATA[global actor hierarchies]]></category>
		<category><![CDATA[global actors]]></category>
		<category><![CDATA[global hierarchies]]></category>
		<category><![CDATA[global personas]]></category>
		<category><![CDATA[managing data]]></category>
		<category><![CDATA[managing requirements]]></category>
		<category><![CDATA[persona]]></category>
		<category><![CDATA[personal goals]]></category>
		<category><![CDATA[personas]]></category>
		<category><![CDATA[requirements management]]></category>
		<category><![CDATA[use case to actor]]></category>
		<category><![CDATA[use cases]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/2007/12/20/global-actor-hierarchies-and-personas/</guid>
		<description><![CDATA[
We use actor hierarchies to organize the different users of a system. Different people play different roles, and thus do different jobs. We use different actors to identify and organize those people. When deploying a system globally, we usually discover people that do the same jobs, but do them differently.  Incorporating the notion of [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="Actor Hierarchy" title="Actor Hierarchy" src="http://sehlhorst.smugmug.com/photos/116706205-M.png" /></p>
<p>We use actor hierarchies to organize the different users of a system. Different people play different roles, and thus do different jobs. We use different actors to identify and organize those people. When deploying a system globally, we usually discover people that do <em>the same</em> jobs, but do them <em>differently</em>.  Incorporating the notion of personas lets us deal with this.</p>
<p><span id="more-612"></span></p>
<h2>Why Actor Hierarchies?</h2>
<p>User-centered, or <a title="user centric design" href="http://tynerblain.com/blog/2005/12/01/user-centric-design-yields-not-so-obvious-features/">user-centric design</a> is an approach to developing software that focuses, as the name implies, on the users of the system. When designing the solution &#8211; and more importantly, when defining the requirements for the system, <a title="how to not suck at design" href="http://tynerblain.com/blog/2006/11/15/how-to-not-suck-at-design/">special attention is placed on the users</a> of the system. More specifically, center stage is devoted to developing software that helps the users accomplish their goals.</p>
<p>From a requirements perspective, the key is to acknowledge that there are different types of users, doing different types of work with the software. It is reasonable to conclude that they will have different needs. An <a title="actor hierarchies" href="http://tynerblain.com/blog/2006/12/13/actor-hierarchies/">actor hierarchy</a> provides a way to organize the different needs of the people doing different jobs.  [Note: These are the same <a title="how to read a formal use case" href="http://tynerblain.com/blog/2006/06/26/foundation-series-how-to-read-a-formal-use-case/"><em>actors</em> that are identified in use cases</a>.]</p>
<h2>A Simple Actor Hierarchy</h2>
<p>Let&#8217;s start by creating a simple actor hierarchy. We&#8217;ll build on this incrementally as we add more complexity to our user base. We&#8217;ll look at a hierarchy for sales representatives (reps) for a company that manufactures goods for sale to other businesses. Each business to which the company sells products is known as an account.</p>
<p><img title="sales rep hierarchy" alt="sales rep hierarchy" src="http://sehlhorst.smugmug.com/photos/234437216-L.jpg" /></p>
<p>The hierarchy represents an approach to classification of sales reps. Each successive level of the hierarchy is more specific than the previous level. All employees who sell products are considered to be sales reps (the top level in the hierarchy). When the company sells products to its accounts, it is not always obvious <em>which</em> products should be sold. In those cases, an engineer is brought in to help determine the exact need, and suggest the right products to sell. This engineer is known as a <em>technical sales rep</em> and the technical sales rep works with an <em>account</em> rep to determine the right products and terms to close the deal. The account rep is responsible for making the individual sale, and occasionally gets help from the technical sales rep to do it.</p>
<p>The hierarchy shows that all sales reps are either technical reps or account reps. If an employee is a sales rep, then he must be one of the two choices.</p>
<p>Account reps are further divided into two groups &#8211; representatives who work with large accounts, and reps who work with small accounts. The company currently considers accounts that make more than $500,000 in purchases per year to be large accounts, and the rest are small accounts. The main difference in behavior is that a large account rep works with only one customer &#8211; and in fact, for <em>really</em> large accounts, there may be multiple representatives for a single account. Small account reps, however, each work with more than one account, maybe even dozens of accounts.</p>
<p>You could argue, in the abstract, that large and small account reps should not be treated as different types of actors &#8211; because they all manage relationships with customers and sell products. However, there is enough of a difference (in our hypothetical example) between the jobs of the two types of reps that it is worth treating them as separate actors.</p>
<p><img title="account rep hierarchy" alt="account rep hierarchy" src="http://sehlhorst.smugmug.com/photos/234462198-L.jpg" /></p>
<p>In our example, the large account reps are focused on account retention, and maintaining relationships with a single customer. These reps are focused on account <em>retention</em> and are usually managing the upgrade cycle for their customers. The upgrade cycle is when a customer replaces their existing, worn out or obsolete equipment with new equipment. Small account reps might be working with really large <em>potential</em> customers who currently buy from the competition.  These small account reps are focused on <em>acquisition</em> and growth. They are also trying to manage and create relationships in an attempt to grow the customers until they become large accounts. Small account reps are also managing multiple customers, and have additional activities associated with managing that complexity.</p>
<h2>Global User Base</h2>
<p>The situation above describes how the company (or if you have a product management hat on &#8211; <a title="know your customer's market" href="http://tynerblain.com/blog/2006/06/27/know-thy-customers-markets/">the companies in the target market segment</a>) organizes their sales force in one region. What do you do when the the company has operations around the world? If all global operations are the same, then you don&#8217;t do anything. It is a rare company that works this way. Most global companies have grown their regional businesses (where a region might be Europe or Asia, or it might be China or India) independently. This could be do to growth by acquisition, or the parallel growth of separate regions managed separately.</p>
<p>In different regions, companies often have different business models. They also usually deal with customers in different ways. These differences may manifest from varied local business practices, different characteristics of the customers, or different levels of maturity in the market for the products being sold. There are also differences in regional regulations, policies, and laws &#8211; although you should generally manage those as variations in business rules, not business practices. We&#8217;ll side-step that layer of complexity for the purposes of this article. Pretend that the same laws, policies, and regulations are in effect in all of the regions.</p>
<p>The same general actor hierarchy can serve to represent the sales reps in multiple regions, with some modifications to account for the differences. Consider for our example, that the company sells products both in North America and in Latin America. The actor hierarchy above describes how the sales team in North America. The company&#8217;s operations are a little bit different in Latin America (for our example).</p>
<p>Latin American operations are relatively new to the company. Where the company has a well established market in North America, it has relatively low market share but very rapid growth in Latin America.  As a result of the way the company&#8217;s business has evolved in the two different regions, there are two distinct differences between the two regions in the way that sales reps are organized.</p>
<ol>
<li>Technical Sales Reps.  In North America, technical sales reps (TSRs) are salaried employees, who participate in a profit sharing program.  In Latin America, the technical sales reps have a base salary, but sales-commissions make up a large portion of their compensation.  The North American TSRs are therefore incented to propose solutions that are highly profitable (thus increasing their profit sharing bonuses).  The Latin American TSRs are incented to propose solutions that may sacrifice profitability in exchange for increased revenue (thus increasing their commissions) .</li>
<li>Small Account Reps.  In North America, small account reps, like all account reps, are employees of the company, and work on commission.  In Latin America, small account reps are <em>not</em> employees of the company.  Small account reps are third-party sales people.  The model is very similar to independent insurance agents.  The small account reps, when trying to bid on a job, can propose solutions from the company or from one of the competitors.  The third party small account rep also gets to set the price that <em>his</em> customer will pay for the products, and <em>negotiate</em> the price that the company will accept &#8211; pocketing the difference.</li>
</ol>
<p>In both situations, the user populations are different, and will behave differently.  The TSRs in both regions do fundamentally the same work &#8211; but with different motivations.  The Small account reps in Latin America, are markedly different from the ones in North America &#8211; in motivation, relationship with the company, and the work that they do.</p>
<h2>Using Personas To Express Regional Differences</h2>
<p><a title="personas" href="http://tynerblain.com/blog/2006/04/17/persona-grata/">Personas </a>provide an effective way to describe archetypes of classes of users.  Persona development is a key component of the <a title="interaction design process overview" href="http://tynerblain.com/blog/2006/03/21/interaction-design-process-overview/">interaction design process</a>, but it can be <a title="interaction design and requirements" href="http://tynerblain.com/blog/2006/03/23/interaction-design-and-structured-requirements/">leveraged very effectively in a traditional requirements process</a> as well.  Each persona represents a homogeneous population of users.  In other words, the collection of users that are in a role represented by a single actor, and who have similar personal goals.  By defining personas, we can <a title="user goals " href="http://tynerblain.com/blog/2007/10/11/stakeholder-goals/">manage requirements in the context of those personal goals</a>.  One actor in the actor hierarchy may have multiple personas associated with it.  This makes sense when there are groups of individuals with different <a title="personal goals influence design" href="http://tynerblain.com/blog/2006/03/23/interaction-design-and-structured-requirements/">personal goals</a>.</p>
<p>The most common example, and one that is almost always present, is built around the notion of user experience.  You can classify users of a product as <a title="competent users and design" href="http://tynerblain.com/blog/2006/04/02/competent-users-and-software-design/">novice, competent, or expert users</a>.  Novice users usually become competent users but rarely become expert users.  Those people who become expert users are usually a different breed.  Professional drivers become experts, where casual drivers rarely exceed competence.</p>
<p>These two user groups are made up of people with different goals, who use cars differently (even though they both drive, they drive differently, and with differing expectations and needs).  It is critical to separate user groups that are different, and treat them differently, to avoid the <a title="elastic users and persona" href="http://tynerblain.com/blog/2007/07/23/elastic-users/">elastic user problem</a>.</p>
<p>The two different technical sales rep (TSR) populations &#8211; in Latin America and North America &#8211; would be best represented as two different personas.  The TSRs in both regions do fundamentally the same work &#8211; provide technical support to an account rep, to help in closing a sale.  The North American TSR is profit motivated, where the Latin American TSR is motivated by increasing revenue.  These different goals make it very unlikely that the same persona would accurately describe the TSR population in both regions.  There are other factors that drive the identification of multiple personas for the same role (in the actor hierarchy), but to simplify, we are focusing just on the regional dynamic.</p>
<p>Since the TSRs in both North and Latin America are performing the same job, it does not make sense to treat them as having different roles in the actor hierarchy.</p>
<h2>Using Additional Roles in the Hierarchy to Express Regional Differences</h2>
<p>In situations like with the Small Account Reps in North and Latin America, it is better to create distinct roles in the actor hierarchy to represent them.</p>
<p><img title="small account rep hierarchy" alt="small account rep hierarchy" src="http://sehlhorst.smugmug.com/photos/234466974-L.jpg" /></p>
<p>The North American Small Account Rep works on commission and is an employee of the company.  This rep is focused on closing the deal, but only with products from the company.  This rep also may work with other reps to help them close deals &#8211; sharing intelligence about market pricing, helping with product selection, etc.  There are elements of teamwork and collaboration present because all of the reps are &#8220;on the same team.&#8221;</p>
<p>In Latin America, the Small Account Rep is also focused on closing the deal.  But this rep does not care who&#8217;s products are used to close the deal.  The rep will work to get the lowest possible price from the company, in order to maximize the difference between the company&#8217;s price (to the rep) and the rep&#8217;s price (to the customer).  100% of this difference goes to the rep, so even if the rep is handsomely rewarded or commissioned based on transaction margin, the rep will always make more money by negotiating a lower price from the company.  The rep also has additional activities associated with getting quotes from the competition and managing relationships with the company&#8217;s competitors.</p>
<p>Not only are the jobs different, but the company will treat these two reps very differently.  For example, the company would be likely to share cost or margin information with the North American rep.  That information will help the rep know how low he can price products for the customer without jeopardizing the company&#8217;s profitability.  The company knows that the rep wants to close the deal at the highest possible price, to increase margins and therefore increase the rep&#8217;s compensation.</p>
<p>The company will not want to share cost information with the Latin  American rep.  The company is still motivated to get the most profitable deals, but the company realizes that the rep is trying to get the lowest possible price &#8211; not the highest possible price.  This means that the company needs to provide low enough pricing for the rep to close the deal, and low enough pricing that the rep will resell the company&#8217;s products instead of products from the competition.</p>
<h2>Summary</h2>
<p>Actor hierarchies provide a way to differentiate groups of people who have different roles.  Personas provide a way to describe groups of people within a role who share motivation and characteristics.  The combination of the two allows for clear, yet flexible expression of requirements &#8211; both from a business perspective, and from a user perspective.</p>
<p>When dealing with user populations in different regions of the world, it makes sense to extend the actor hierarchy when the jobs, and business requirements of the user populations vary.  When the users are doing the same job, but with different motivations, using personas to describe the differences makes more sense.</p>
<p align="left"><a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=By+@sehlhorst:+Global+Actor+Hierarchies+and+Personas+http://bit.ly/1cST9f+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/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/2007/12/20/global-actor-hierarchies-and-personas/&amp;t=Global+Actor+Hierarchies+and+Personas" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/tt-facebook-big4.png" alt="Post to Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2007/12/20/global-actor-hierarchies-and-personas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Interface Design: Visualization Methods</title>
		<link>http://tynerblain.com/blog/2007/07/25/interface-design-visualization-methods/</link>
		<comments>http://tynerblain.com/blog/2007/07/25/interface-design-visualization-methods/#comments</comments>
		<pubDate>Thu, 26 Jul 2007 02:17:56 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
				<category><![CDATA[Interface Design]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[data visulaization]]></category>
		<category><![CDATA[managing data]]></category>
		<category><![CDATA[visualization methods]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/2007/07/25/interface-design-visualization-methods/</guid>
		<description><![CDATA[
Visualizing complex data can be very difficult.  There are almost as many ways to visualize data as there are data to visualize.  The Ralph Lengler and Martin J. Eppler at the Visual Literacy Organization collect many of them for us in a periodic table.

References
Hat tip to Kevin Kelly for sharing this with us [...]]]></description>
			<content:encoded><![CDATA[<p><img title="periodic table of visualization techniques" alt="periodic table of visualization techniques" src="http://sehlhorst.smugmug.com/photos/177014610-M.jpg" /></p>
<p>Visualizing complex data can be very difficult.  There are almost as many ways to visualize data as there are data to visualize.  The Ralph Lengler and Martin J. Eppler at the Visual Literacy Organization collect many of them for us in a periodic table.<br />
<span id="more-546"></span></p>
<h2>References</h2>
<p>Hat tip to <a title="visualization tools" href="http://www.kk.org/cooltools/archives/001662.php">Kevin Kelly</a> for sharing this with us in his <em>Cool Tools</em> blog.  The periodic table is available at the <a title="periodic table" href="http://www.visual-literacy.org/periodic_table/periodic_table.html">visual-literacy.org</a> website.  Hovering over each element provides an example of the type of visualization.</p>
<h2>Different Types of Visualization</h2>
<p>One of the biggest challenges in visualization of complex information is in selecting a means to visualize it.  Many approaches simply don&#8217;t fit the data &#8211; they have too few, or too many variables.  For example, a pie chart is great for showing percentages (37% of new iPhone purchasers switched carriers, 5% had no service previously, 40% were existing AT&#038;T customers, 18% did not respond) or relative proportions.  The pie chart is not effective at showing trends or changes in the data (last year 20%&#8230;).  You could have multiple pie charts, but there are more effective ways to show the trends in the data.</p>
<p>The periodic table that the Visual Literacy folks put together would otherwise be overwhelming &#8211; each element represents a way to visualize information.  When you have something to visualize, it would be difficult and tedious to hover over each element, until you saw something inspiring.  So they&#8217;ve organized it into six different categories of visualization.</p>
<ul>
<li>Data Visualization &#8211; line chart, pie chart, scatterplot, etc.</li>
<li>Information Visualization &#8211; radar chart, tree map, data flow diagram, etc.</li>
<li>Concept Visualization &#8211; mind map, layer chart, pyramid technique, etc.</li>
<li>Strategy Visualization &#8211; supply &#038; demand curve, failure tree, life cycle diagram, etc.</li>
<li>Metaphor Visualization &#8211; tree, funnel, bridge, etc.</li>
<li>Compound Visualization &#8211; cartoon, knowledge map, info-mural, etc.</li>
</ul>
<p>There is also an overlay of text color (blue versus black), where blue elements (like the timeline) represent process visualizations, and black elements (like the venn diagram) represent structure visualizations.</p>
<p>There are also symbols to indicate if the visualization technique is suited to details, overviews or both.  And more symbols to indicate if the diagram is intended to cause viewers to come up with new answers (e.g. solutions to a problem), or to indicate that the diagram is designed to clarify insights found in complex data (like the stakeholder rating map).</p>
<h2>Conclusion</h2>
<p>There are some very cool techniques presented.  What would make the site even better would be if each element were a link to a page about that particular type of visualization.  Roll-over graphics are handy for easily comparing different techniques &#8211; hopefully the authors will add detailed pages for the techniques.  Of course, that is a huge job.  If they added one per week, it would take two years!</p>
<p>Check them out &#8211; they will inspire thoughts when you&#8217;re really stuck.</p>
<p align="left"><a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=By+@sehlhorst:+Interface+Design%3A+Visualization+Methods+http://bit.ly/3emTZ+" title="Post to Twitter"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/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/2007/07/25/interface-design-visualization-methods/&amp;t=Interface+Design%3A+Visualization+Methods" title="Post to Facebook"><img class="nothumb" src="http://tynerblain.com/blog/wp-content/plugins/tweet-this/icons/tt-facebook-big4.png" alt="Post to Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2007/07/25/interface-design-visualization-methods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
