<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Tyner Blain</title>
	
	<link>http://tynerblain.com/blog</link>
	<description>Software product success.</description>
	<pubDate>Tue, 01 Jul 2008 03:34:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<geo:lat>30.382724</geo:lat><geo:long>-97.894591</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><image><link>http://www.feedburner.com</link><url>http://feeds.feedburner.com/~fc/TynerBlain?bg=FF6633&amp;amp;fg=FFFFFF&amp;amp;anim=0</url><title>This Feed Powered by FeedBurner.com</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/TynerBlain" type="application/rss+xml" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><item>
		<title>Product Management Philosophy</title>
		<link>http://feeds.feedburner.com/~r/TynerBlain/~3/323733472/</link>
		<comments>http://tynerblain.com/blog/2008/06/30/product-management-philosophy/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 03:34:07 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
		
		<category><![CDATA[Product Management]]></category>

		<category><![CDATA[idea seeding example]]></category>

		<category><![CDATA[product management philosophy]]></category>

		<category><![CDATA[product managers]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=688</guid>
		<description><![CDATA[
Adam Bullied has thrown down a &#8220;manifesto&#8221; to start a conversation on product management - and to try and help drive our community to a common definition or understanding of product management.  And he&#8217;s asked for feedback.  Using idea seeding, we&#8217;ll see what we can come up with in 30 minutes.

The Philosophy of Product Management
Adam [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.smugmug.com/photos/323190732_sWWAd-L.jpg" alt="rodin's thinker" width="250" height="322" /></p>
<p>Adam Bullied has thrown down a <em>&#8220;manifesto&#8221;</em> to <a title="product management - what is it" href="http://writethatdown.com/archives/2008/06/the-product-management-manifesto">start a conversation on product management</a> - and to try and help drive our community to a common definition or understanding of product management.  And he&#8217;s asked for feedback.  Using <a title="idea seeding" href="http://tynerblain.com/blog/2006/12/06/idea-seeding/">idea seeding</a>, we&#8217;ll see what we can come up with in 30 minutes.</p>
<p><span id="more-688"></span></p>
<h2>The Philosophy of Product Management</h2>
<p>Adam wrote the following:</p>
<blockquote><p>Product management is the function of serving as a proxy to a defined set of markets (or market segments), in order to be able to ensure appropriate product creation, and ongoing product health and quality for those markets throughout a product’s entire lifecycle, until end of life.</p>
<p>To me, it’s important just to get this out there and then start to gather some feedback from others (yes, readers, I’m talking to you) and then tweak based on the collective.</p>
<p><a title="adam's article" href="http://writethatdown.com/archives/2008/06/the-product-management-manifesto">The Product Management Manifesto</a></p></blockquote>
<p>I find that to be generally accurate.  I <em>really</em> like that Adam has stressed the entire life cycle of a product.  But when I read it, I don&#8217;t think &#8220;that&#8217;s what I aspire to do&#8221; and I don&#8217;t think &#8220;that&#8217;s what I look for in a product manager.&#8221;  And Adam did ask for feedback :).</p>
<p>It is always easier to criticize than to create.  Especially when you look at something and say &#8220;it just doesn&#8217;t feel right.&#8221;  So how do you improve it, when you have no idea how?  You can use <a title="brainstorming" href="http://tynerblain.com/blog/2006/01/17/brainstorming-making-something-out-of-everything/">brainstorming</a> to come up with new ideas or related insights.  But brainstorming works partly because of the dynamics of the people in the room.  Another <a title="idea seeding is better than brainstorming" href="http://tynerblain.com/blog/2006/12/06/idea-seeding/">approach to invention is idea seeding</a>.  You constrain yourself to a fixed time, and force your brain, under pressure, to come up with ideas.  Pretty much the opposite dynamic of an &#8220;anything goes&#8221; brainstorming session.</p>
<p>I&#8217;ve spent 15 minutes writing so far, quoting Adam, getting an image on my server and getting ready to go.  I&#8217;ve got 15 minutes left.  I&#8217;ll use 10 of those minutes to write down - sort of stream of conciousness - things about product management that I think either define it, or are important, or frankly, that just come to mind.  Then 5 more minutes to wrap it up and click &#8220;publish.&#8221;  Maybe these ideas will trigger someone else to chime in and continue to refine.  Maybe even throw out their own 30-minute-improvement-cycle.</p>
<h2>Ten Minute Thoughts on Product Management</h2>
<ul>
<li>Steve Johnson (I think) describes product management as being &#8216;president of the product.&#8217;  That&#8217;s exactly right.  It is more than just defining the product, there&#8217;s a sense of ownership and responsibility.</li>
<li>Product management has to have a strategic focus - on markets and problems and value.</li>
<li>Products, to be great, need to be designed for the people using them, for the tasks they use them for.  You are either <a title="successful products" href="http://tynerblain.com/blog/2008/05/19/successful-products/">intentional or accidental</a>.</li>
<li>The business of developing products is one that is based on value - problems have costs, opportunities have returns.  ROI is the key to a successful product.  Yes, I want a Tesla, no it is not a good investment.</li>
<li>Product managers are not passive proxies for markets.  That almost implies that customers define what the product should be.  Customers are always right, but they are rarely product managers.</li>
<li>A product is never &#8220;done&#8221;, it just keeps getting better, until the remaining problems are too small to justify solutions, or are better solved with other products.  It&#8217;s pareto meets opportunity cost.</li>
<li>Ongoing product management is about feedback loops.  The more you know, the more you realize you don&#8217;t know.  Thanks Nicki!</li>
<li>There&#8217;s more power in active verbs than passive ones.  &#8220;Be a proxy&#8221; and &#8220;ensure stuff happens&#8221; don&#8217;t have the power, drive, or relevance that I think define a product manager.</li>
<li>We listen, understand, elicit, analyze, synthesize, extrapolate, interpolate, interview, canvas, survey, study, eat sleep and breathe our markets - and by extension, our customers and their problems.</li>
<li>We value, prioritize, triage, assess, and measure the value, size, or return of those problems - and ultimately, of solutions to those problems.</li>
<li>We are the translators - think &#8220;universal translator&#8221; not Rosetta Stone - active, not passive.</li>
</ul>
<p>Time&#8217;s up.  Drat, was just getting on a role.</p>
<h2>Five Minute Philosophy</h2>
<p>Spending five minutes to turn the above into an alternate philosophical statement about product management.</p>
<blockquote><p>Product Managers understand markets and the problems faced in those markets.  Product managers choose the problems to solve, prioritize those problems, and communicate this knowledge to the people who build solutions.  Product managers engage customers and learn from them, continuously improving their products, as long as it is valuable enough.  Product management is the job of being a product manager.</p></blockquote>
<p>Out of time.</p>
<p>No idea if that&#8217;s enough, or even better.  But it is a series of ideas.  Who&#8217;s next?  Someone jump on board with your thoughts, either in the comments here, on Adam&#8217;s article, or even better - in your own blog.</p>

<p><a href="http://feeds.feedburner.com/~a/TynerBlain?a=dudiiM"><img src="http://feeds.feedburner.com/~a/TynerBlain?i=dudiiM" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TynerBlain?a=522r3I"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=522r3I" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=IWYmgI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=IWYmgI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=cObf6i"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=cObf6i" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=NGs6ZI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=NGs6ZI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=ENmv1i"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=ENmv1i" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=yB4IoI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=yB4IoI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=0W49Li"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=0W49Li" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TynerBlain/~4/323733472" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2008/06/30/product-management-philosophy/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=TynerBlain&amp;itemurl=http%3A%2F%2Ftynerblain.com%2Fblog%2F2008%2F06%2F30%2Fproduct-management-philosophy%2F</feedburner:awareness><feedburner:origLink>http://tynerblain.com/blog/2008/06/30/product-management-philosophy/</feedburner:origLink></item>
		<item>
		<title>Defining Problems at ProductCamp Austin 1</title>
		<link>http://feeds.feedburner.com/~r/TynerBlain/~3/318540970/</link>
		<comments>http://tynerblain.com/blog/2008/06/23/defining-problems-at-pca1/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 02:18:00 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
		
		<category><![CDATA[Austin TX]]></category>

		<category><![CDATA[Business Analysis]]></category>

		<category><![CDATA[Ishikawa Diagram]]></category>

		<category><![CDATA[Product Management]]></category>

		<category><![CDATA[Requirements]]></category>

		<category><![CDATA[Requirements Models]]></category>

		<category><![CDATA[cause and effect diagram]]></category>

		<category><![CDATA[fishbone diagram]]></category>

		<category><![CDATA[ishikawa]]></category>

		<category><![CDATA[pca]]></category>

		<category><![CDATA[productcamp]]></category>

		<category><![CDATA[productcamp austin]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=687</guid>
		<description><![CDATA[
Jun 14th was the first productcamp in Austin (and the second one anywhere).  It was a great event, and here&#8217;s the presentation that I did on how to define the strategic problems that drive our products.

Defining Problems
Here&#8217;s the presentation I gave at ProductCampAustin 1, posted on slideshare.  Just click on the forward/back arrows in the [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.productbeautiful.com/productcamp/big_banner.gif" alt="productcamp austin logo" width="650" height="127" /></p>
<p>Jun 14th was the first productcamp in Austin (and the second one anywhere).  It was a great event, and here&#8217;s the presentation that I did on how to define the strategic problems that drive our products.</p>
<p><span id="more-687"></span></p>
<h2>Defining Problems</h2>
<p>Here&#8217;s the presentation I gave at <a title="pca1" href="http://barcamp.org/ProductCampAustin">ProductCampAustin 1</a>, posted on slideshare.  Just click on the forward/back arrows in the center of the bottom of the image, and it will cycle through the presentation - you don&#8217;t even have to leave Tyner Blain.</p>
<div id="__ss_479341" style="width: 425px; text-align: left;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=defining-problems-1214103303491294-8" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slideshare.net/swf/ssplayer2.swf?doc=defining-problems-1214103303491294-8" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<div style="width: 425px; text-align: left;">
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"><a href="http://www.slideshare.net/?src=embed"><img style="border:0px none;margin-bottom:-5px" src="http://static.slideshare.net/swf/logo_embd.png" alt="SlideShare" /></a> | <a title="View Defining Problems on SlideShare" href="http://www.slideshare.net/ssehlhorst/defining-problems?src=embed">View</a> | <a href="http://www.slideshare.net/upload?src=embed">Upload your own</a></div>
</div>
<h2>Following Along</h2>
<p>In keeping with the &#8220;don&#8217;t put a lot of words on your slides&#8221; tradition, the presentation is probably all but impossible to follow without some notes.  So here are some notes, organized by slide.  The presentation builds on concepts we&#8217;ve talked about here over the years, and in the notes below, I&#8217;ll link to some of those previous articles to provide more depth (instead of typing out everything I said).</p>
<ul>
<li><strong>Slide 1</strong>.  There are two key elements to achieving software product success.  Build the right stuff, and build it right.  This presentation is about building the right stuff.</li>
<li><strong>Slide 2</strong>.  Specifically, when we start a project, it is to achieve some business objective.  The challenge is to find the right level of abstraction for that objective.  &#8220;Increase shareholder value&#8221; is too nebulous, and &#8220;Replace a legacy system&#8221; is too lacking in context.  Today we will apply a very powerful, but simple technique to help define the business objectives at the right level of detail to be actionable, while providing the right context to validate that we&#8217;re doing the right thing. My goal is for everyone to leave here with a new skill that they can immediately apply.</li>
<li><strong>Slide 3</strong>.  Everyone has <a title="requirements documents from different perspectives" href="http://tynerblain.com/blog/2006/05/11/requirements-documents-one-mans-trash/">a different perspective on a software project</a>, and from those vantage points, perceives different elements of the project as the &#8220;why, what, and how&#8221; of the project.</li>
<li><strong>Slide 4</strong>.  Keeping in mind that people have different perspectives, let&#8217;s also look at a modified version of Karl Wiegers&#8217; <a title="structured requirements" href="http://tynerblain.com/blog/2006/01/04/foundation-series-structured-requirements/">structured approach to requirements definition</a>.</li>
<li><strong>Slide 5</strong>.  Introducing the<a title="ishikawa fishbone cause and effect diagram" href="http://tynerblain.com/blog/2008/05/27/cause-and-effect-diagrams/"> Ishikawa diagram</a>.</li>
<li><strong>Slide 6</strong>.  Set up the &#8220;deflated tires&#8221; problem from the article linked in (slide 5).</li>
<li><strong>Slide 7</strong>.  Showed the discovery process and representation of &#8220;real problems&#8221; closing out the theme from slides 5 and 6.</li>
<li><strong>Slide 8</strong>.  A real-world project I joined mid-stream for a client.  The project was a &#8220;collection of stuff&#8221; and no two people would give the same answer for &#8220;why are we doing it&#8221; and many people unashamedly admitted that they had no idea why.  No idea why!</li>
<li><strong>Slide 9</strong>.  Turns out, here&#8217;s what a view of the value for that program really looked like.  The team went from chaos to context.  Suddenly, scope discussions and prioritization decisions had a framework for validation.  There was also an organized way to begin completeness analysis.  Much easier to say &#8220;we&#8217;re getting this value&#8221; than to say &#8220;we&#8217;re doing these things - did we miss anything?&#8221;</li>
<li><strong>Slide 10</strong>.  I facilitated the folks in the room creating an Ishikawa from scratch.  We started with what we thought was the problem statement (provided by John Milburn from the back of the room) - &#8220;Traffic in Austin on Fridays is too bad.&#8221;  We ended with &#8220;John has work-life balance problems&#8221;, one of which comes from missing dinner with his wife, which can happen because of a combination of bad traffic and bad planning by John.  We also explored several solution-paths, including increasing the capacity of the roads and of the vehicles.  The ideas <em>clicked</em> for several people in the room.</li>
<li><strong>Slide 11</strong>.  Another real-world example, this one used in <a title="good product roadmap approach" href="http://tynerblain.com/blog/2008/04/28/dont-build-a-stupid-product-roadmap/">planning of a product roadmap for an 18-24 month view</a> of the problems the team was signing up to solve.</li>
<li><strong>Slide 12</strong>.  Special thanks to the sponsors that made our inaugural ProductCampAustin a success!  My prediction for the next one (fall/winter 2008): 250 attendees.  So if you&#8217;re the sponsoring type, start planning on how you can help out.</li>
</ul>
<p>Thanks again to everyone who attended, and special thanks to <a title="Seilevel home page" href="http://www.seilevel.com/index.php">Tal Boyd of Seilevel</a>, who video taped my whole presentation.  I just haven&#8217;t figured out how to split the 400+MB m4v file into something I can upload onto youtube.</p>

<p><a href="http://feeds.feedburner.com/~a/TynerBlain?a=Jcv7sT"><img src="http://feeds.feedburner.com/~a/TynerBlain?i=Jcv7sT" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TynerBlain?a=tWuHLI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=tWuHLI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=ilLeWI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=ilLeWI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=2zSyJi"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=2zSyJi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=RpKhpI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=RpKhpI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=ih3d6i"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=ih3d6i" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=HoEY4I"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=HoEY4I" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=Efphoi"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=Efphoi" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TynerBlain/~4/318540970" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2008/06/23/defining-problems-at-pca1/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=TynerBlain&amp;itemurl=http%3A%2F%2Ftynerblain.com%2Fblog%2F2008%2F06%2F23%2Fdefining-problems-at-pca1%2F</feedburner:awareness><feedburner:origLink>http://tynerblain.com/blog/2008/06/23/defining-problems-at-pca1/</feedburner:origLink></item>
		<item>
		<title>Technical Product Manager Tips</title>
		<link>http://feeds.feedburner.com/~r/TynerBlain/~3/314329207/</link>
		<comments>http://tynerblain.com/blog/2008/06/17/technical-product-manager-tips/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 04:32:47 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
		
		<category><![CDATA[Product Management]]></category>

		<category><![CDATA[product manager salary]]></category>

		<category><![CDATA[technical product management]]></category>

		<category><![CDATA[technical product manager]]></category>

		<category><![CDATA[TPM]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=686</guid>
		<description><![CDATA[
Are you a product manager with a technical background?  Do you constantly find yourself getting dragged into tactical roles like giving demos or providing feedback on design approaches?  Are you getting shut out of strategic conversations about value and objectives and &#8220;business drivers&#8221;?  Or do you think on your feet and perform [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://sehlhorst.smugmug.com/photos/315200715_gyr8S-L.jpg" alt="calipers" width="250" height="219" /></p>
<p>Are you a product manager with a technical background?  Do you constantly find yourself getting dragged into tactical roles like giving demos or providing feedback on design approaches?  Are you getting shut out of strategic conversations about value and objectives and &#8220;business drivers&#8221;?  Or do you think on your feet and perform scintillating feats of business to developer translation (and vice versa)?</p>
<p>Read on for some tips about what to avoid and how to leverage your technical chops effectively.</p>
<p><span id="more-686"></span></p>
<h2>A Real Concern</h2>
<p>Back in February (2008), over the course of a few days, I had a great conversation with a reader (and commenter - thanks again!) that addressed some of the challenges of being a product manager with deep technical skills.  In late March of this year, the <a title="svpg home" href="http://www.svpg.com/">Silicon Valley Product Group</a> included a topic in their newsletter (<a title="from eng to pdm" href="http://www.svpg.com/blog/files/engineering-to-pm.html">and on their blog</a>), <em>Moving From Engineering to Product Management</em>.  The author of that article provided some great tips on communication dynamics for a geek-turned-PdM.  Today, we&#8217;ll pull those ideas together, and add some more, in the form of tips to help product managers who happen to have technical acumen.</p>
<p>First, let me go on record as stating that you <em>do not</em> need to have a technical background to be a great product manager.  One of the better ones I&#8217;ve worked with had a background in history.  MBA-centric, business-savvy, non-technical product managers succeed all over the place.  Also - a technical background, even for product managers in high-tech industries, is not a guarantor of success.</p>
<h2>Technical Product Manager Salary Data</h2>
<p>Last December, <a title="TPM salary data 2007" href="http://tynerblain.com/blog/2007/12/13/2007-product-manager-survey-technical-product-managers/">we analyzed the salary survey data</a> from Pragmatic Marketing&#8217;s <a title="pdm salary survey 2007" href="http://tynerblain.com/blog/2007/11/15/product-manager-survey-2007/">annual salary survey of product managers</a>.  In that analysis, we found the following:</p>
<blockquote><p><a title="larger product manager comp by experience, title, and tech level" href="http://sehlhorst.smugmug.com/photos/230689696-L.jpg"><img title="product manager compensation by experience, title, and tech" src="http://sehlhorst.smugmug.com/photos/230689696-S.jpg" alt="product manager compensation by experience, title, and tech" /> [Click for larger version]<br />
</a></p>
<p><strong>Conclusion</strong></p>
<p>Technical product managers, at least the more senior ones, are paid less than non-technical product managers - when looking purely at titles. However, product managers with technical skills are generally paid better than product managers without them. One interpretation of the data might be that while technical skills help you earn more in any product management role, the <em>technical product manager</em> role generally earns less - perhaps due to perceived scope of responsibility or impact.</p></blockquote>
<p>Note that there are two &#8220;technical product manager&#8221; variables.  One is the self-reported level of technical expertise (from non-technical to very-technical), the other is job title (where the choices were product manager, product marketing manager, and technical product manager).  The linked <a title="tpm 2007 salary survey data" href="http://tynerblain.com/blog/2007/12/13/2007-product-manager-survey-technical-product-managers/">survey analysis</a> includes more details, analysis, and perspective.</p>
<p>If we believe that <em>success</em> for product managers will correlate with compensation for those product managers, then we can conclude that a technical background can help you be a more successful product manager (ignore the PMM and TPM data), but only after 10 years of experience.  Perhaps it takes time for technically-oriented product managers to absorb the important soft skills.</p>
<h2>SVPG Tips</h2>
<p>The SVPG article on moving from engineering to product management is a good one.  <a title="read the article" href="http://www.svpg.com/blog/files/engineering-to-pm.html">Read it for more details</a>.  In short, the author suggests half a dozen tips, all of which are important, to an engineer in a product management role.  Also note that the article author also believes that this is a potent combination:</p>
<blockquote><p>In any case, many of the very best product managers I have ever known have come from engineering, and in this article I’d like to call out what I’ve found to be the main challenges for engineers as they make this move.</p>
<p>Realize that engineers have a big advantage in that they generally have a deep understanding of what’s just now possible. If they can now combine this with a deep knowledge of the user, and develop some new skills, you’ve got the makings of a great product manager and great products can result.</p></blockquote>
<p>SVPG Tips (paraphrased and shortened here, and links are ours)</p>
<ol>
<li>Realize that you and your users do <em>not</em> think the same way.<br />
<blockquote><p>&#8220;Cooper calls programmers <a title="Interaction Design process overview" href="../2006/03/21/interaction-design-process-overview/?PHPSESSID=82aaaaa501dfc1081a23aaeee4e00a52"><em>homo-logicus</em></a>, to distinguish them from actual human users. Because programmers understand how computers work, they have very different expectations than everyone else.&#8221;<cite><a title="usability levels for companies" href="http://tynerblain.com/blog/2007/02/26/eight-stages-of-usability-awareness/">8 Stages of Corporate Usability Awareness</a></cite></p></blockquote>
</li>
<li>Develop empathy for your users (remember, they aren&#8217;t engineers.</li>
<li>Don&#8217;t focus on (your old job of) optimizing developer utilization - focus on optimizing <a title="UX and PdM" href="http://tynerblain.com/blog/2007/03/05/product-management-and-ux/">user experience</a>.</li>
<li>Develop humility - people won&#8217;t always react to your product ideas the way you would like.</li>
<li>Refine your argumentation style to deal with unclear situations - there is not always a right answer.</li>
<li>Don&#8217;t fall into old habits when it comes to working with your engineering team - let them do the engineering.</li>
</ol>
<h2>A Real World Example</h2>
<p>Here&#8217;s an edited (to protect anonymity, and to focus on having technical skills and product management) version of the exchange I had with our reader.</p>
<p><strong>Product Manager</strong></p>
<blockquote><p>I really enjoy <span class="nfakPe">product</span> management work, and am very strong at building relationships with customers and across teams. But, because I have a strong <span class="nfakPe">technical</span> background, and because of where our company is, my responsibilities are shifting much more to what Pragmatic calls a business analyst role &#8212; more emphasis on <span class="nfakPe">product</span> specification than on <span class="nfakPe">product</span> strategy.</p>
<p>I&#8217;m trying to build a personal brand. Initially, I resisted the idea of moving back to a more tactical role, but it appears that you cross the line between business analyst and <span class="nfakPe">product</span> <span class="nfakPe">manager</span> pretty freely. Maybe being known for having strong <span class="nfakPe">technical</span> chops is not all bad. My current role is my first as a <span class="nfakPe">product</span> <span class="nfakPe">manager</span> on the software vendor side, so I could use some perspective.</p></blockquote>
<p><strong>Scott</strong></p>
<blockquote><p>Having <span class="nfakPe">technical</span> chops has proven to be a huge asset for me, although it comes with some risks.  Every software project requires a continuum of thought - from &#8220;what is the problem&#8221; and &#8220;why is it valuable&#8221; to &#8220;how do we do it.&#8221;  As <span class="nfakPe">product</span> managers, we have to focus on the value and our company strategy.  It is the big picture decisions about choosing what problems are worth solving that is the &#8220;dog&#8221; and it is software design and implementation that is the &#8220;tail.&#8221;</p>
<p>Making the right strategic decisions requires us to understand both the value of the problem and the cost of the solution - it truly is ROI.  It makes more sense to develop a $5m solution to a $10m problem than to spend $99m on a $100m problem.  All <span class="nfakPe">product</span> managers, have to be able to articulate the importance of the problem - and we can do that with a minimum of <span class="nfakPe">technical</span> depth.  Where <span class="nfakPe">technical</span> depth helps here is in identifying that there are solutions that reduce the size of the problem (think of it as opportunity cost).  We can validate effectively.</p>
<p>For example - if companies spend 10% of their revenue on order processing, that is a very large opportunity.  And if our target market is companies in a vertical - say medical claim reimbursement, with an characteristic revenue of $100m, it is a $10m problem for each of them.  However, with <span class="nfakPe">technical</span> chops, we can appreciate quickly that there is likely to be a $100k solution out there already.  By decomposing the problem, we can envision stitching together some open-source software to &#8220;essentially solve the problem.&#8221;  This means that while there may be a $10m (per customer) need, there is really only a $100k sustainable solution.  The same conclusion might be reached without <span class="nfakPe">technical</span> chops by knowing that there&#8217;s a vendor who solves a similar problem in the computer industry (perhaps for rebate processing).  Either way, we get to vet the size of the problem from the perspective of how easily someone could conceptually solve it.  That prevents us from building a $5m solution which will be quickly displaced by someone else.</p>
<p><span class="nfakPe">Technical</span> depth is more easily leveraged when looking at costs and feasibility of solutions.  We have to not only validate the importance of the problems we solve, but also validate the feasibility of solution approaches.  We have to communicate both with our customers and with our implementation teams.  My experience has been that I can leverage my chops both in gaining credibility with the delivery teams and in facilitating much more efficient conversations with those teams.  And I can be more confident that they know what I&#8217;m asking, and I understand the responses.  It has occasionally helped that I can &#8220;seed the cloud&#8221; in those conversations with &#8220;can this type of approach work?&#8221; questions.</p>
<p>I&#8217;m not saying that I specifically took on the role of design, just pointing out that the conversational ideas have occasionally helped the implementation teams have their own great ideas.  And helped me form more effective relationships.</p>
<p>When playing the role of &#8220;demo boy&#8221; or otherwise on a customer visit, <span class="nfakPe">technical</span> depth helps again.  There are often &#8220;gate keepers&#8221; and &#8220;influencers&#8221; with <span class="nfakPe">technical</span> backgrounds who are in the room during RFP/RFQ responses.  They occasionally will challenge the <span class="nfakPe">technical</span> approach of an application, or express why &#8220;their problem is too hard&#8221; or &#8220;doesn&#8217;t match.&#8221;  When they are right, I can help us reach the same conclusion, and decide if it is time for more features, or different customers.  And when they are wrong, I can help them understand too - and leverage them as people who pass along a &#8220;their <span class="nfakPe">product</span> will work for us&#8221; message internally (to their employer).</p>
<p>I mentioned earlier that it is risky.  The risk is that I over-emphasize the <span class="nfakPe">technical</span> work, or even prioritize it above anything else.  Strategic <span class="nfakPe">product</span> management is what we have to do - and Pragmatic is right - if we don&#8217;t do it, who will?  Because we can answer <span class="nfakPe">technical</span> questions, there&#8217;s a risk that we are continuously asked them.  What seems to work for me is to leverage my <span class="nfakPe">technical</span> chops only in two ways:<br />
1) to improve my understanding<br />
2) to communicate with <span class="nfakPe">technical</span> people</p>
<p>I actively avoid flexing my tech-chops in conversations with non-<span class="nfakPe">technical</span> people.  The risk is that they start to rely on me.</p></blockquote>
<p><strong>Technical Product Manager</strong></p>
<blockquote><p>A lot of your thoughts ring true to my experience, too:</p>
<ul>
<li> There have been several times when I have been able to use the <span class="nfakPe">technical</span> skills to, as you say, &#8220;seed the cloud&#8221; with ideas about possible solutions. Sometimes the idea sticks; sometimes there are good reasons why it wouldn&#8217;t work. Whatever the outcome, the interchange is fun, and in the end, we all understand better why we&#8217;re choosing a particular path from a <span class="nfakPe">technical</span> standpoint.</li>
<li>Good point about the &#8220;risk&#8221; of showing the <span class="nfakPe">technical</span> skills. In times that I have gotten too <span class="nfakPe">technical</span> with non-<span class="nfakPe">technical</span> people, I find it&#8217;s really easy to be pigeonholed as a purely tactical tech guy. Then, when you build a reliance on those <span class="nfakPe">technical</span> skills, it&#8217;s hard to move beyond that with that person.</li>
<li>Your examples about sizing problems and solutions are intriguing. You&#8217;re putting the emphasis on solutions that provide a sustainable advantage. Competitive barriers to entry are defined by the most cost-effective solution to the problem at hand. Our job as a PdM is to find not only a solution to the market problem, but the most cost-effective solution to the problem. Probably an obvious point, but I hadn&#8217;t thought of it quite that way in terms of barriers to entry and sustainable competitive advantage.</li>
</ul>
<p>My role will be to focus more on execution &#8212; to make sure we understand the requirements well, all the way from understanding the market problems down to use cases and wireframes. Priority #1 for the company at this point is to get our platform stabilized, and a big part of that is to be very clear in our requirements. I&#8217;ll participate in the broad-strokes prioritization discussions, but my focus now will be more on executing on those priorities, than on prioritizing per se. I&#8217;ve heard the term &#8220;requirements analyst&#8221; applied to what I&#8217;m doing.</p>
<p>Once again, THANK YOU for your thoughtful response. We&#8217;ll keep up on your blog!</p></blockquote>
<p><strong>Scott</strong></p>
<blockquote><p>Thanks again for a great discussion, and for having your folks read Tyner Blain - that still blows me away.</p></blockquote>
<p>And thanks to you for reading at Tyner Blain - it humbles and excites me every day.  Seriously.  Thank you.</p>

<p><a href="http://feeds.feedburner.com/~a/TynerBlain?a=V2AHMg"><img src="http://feeds.feedburner.com/~a/TynerBlain?i=V2AHMg" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TynerBlain?a=bYej4I"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=bYej4I" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=UvKNbI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=UvKNbI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=X2KiQi"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=X2KiQi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=hYFd5I"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=hYFd5I" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=vXxizi"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=vXxizi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=AHM9OI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=AHM9OI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=Q82Aii"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=Q82Aii" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TynerBlain/~4/314329207" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2008/06/17/technical-product-manager-tips/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=TynerBlain&amp;itemurl=http%3A%2F%2Ftynerblain.com%2Fblog%2F2008%2F06%2F17%2Ftechnical-product-manager-tips%2F</feedburner:awareness><feedburner:origLink>http://tynerblain.com/blog/2008/06/17/technical-product-manager-tips/</feedburner:origLink></item>
		<item>
		<title>Use Case To Actor Mapping</title>
		<link>http://feeds.feedburner.com/~r/TynerBlain/~3/308490254/</link>
		<comments>http://tynerblain.com/blog/2008/06/09/use-case-to-actor-mapping/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 02:44:05 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
		
		<category><![CDATA[Business Analysis]]></category>

		<category><![CDATA[Product Management]]></category>

		<category><![CDATA[Requirements]]></category>

		<category><![CDATA[Requirements Models]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Use Cases]]></category>

		<category><![CDATA[actors]]></category>

		<category><![CDATA[completeness validation]]></category>

		<category><![CDATA[requirements process]]></category>

		<category><![CDATA[use cases]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=685</guid>
		<description><![CDATA[
We know the importance of identifying the use cases that enable our business goals.  We also know the value of understanding the actors that will use our products.  This article shows how to demonstrate a simple but powerful view that maps the use cases to the actors.

Why Map Use Cases To Actors?
Most use [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://sehlhorst.smugmug.com/photos/310269248_8fGUN-L.jpg" alt="map" width="250" height="166" /></p>
<p>We know the importance of identifying the use cases that enable our business goals.  We also know the value of understanding the actors that will use our products.  This article shows how to demonstrate a simple but powerful view that maps the use cases to the actors.</p>
<p><span id="more-685"></span></p>
<h2>Why Map Use Cases To Actors?</h2>
<p>Most use case templates and requirements documents include a place to list the actors for each use case.  Very few encourage us to provide a big-picture view.  Even users of requirements-management systems are left without an easy way to show this perspective.  Can it really be valuable, if it is so often overlooked?</p>
<p>A critical element of defining and managing requirements is <a title="assuring complete requirements" href="http://tynerblain.com/blog/2006/06/08/writing-complete-requirements/">assuring completeness of your requirements</a>.  The first step to <a title="use cases for validating completeness" href="http://tynerblain.com/blog/2006/07/06/requirement-completeness-validation-with-use-cases/">assuring completeness of your requirements</a> is to acknowledge that the requirements represent <a title="writing structured requirements" href="http://tynerblain.com/blog/2006/01/04/foundation-series-structured-requirements/">a structure of decomposition of a problem</a>.</p>
<p><img src="http://sehlhorst.smugmug.com/photos/71264266-M.jpg" alt="structured requirements" width="567" height="450" /></p>
<p>Once you&#8217;ve identified the goals of the business (or <a title="problem definition tool" href="http://tynerblain.com/blog/2008/05/27/cause-and-effect-diagrams/">the problems faced by customers within your market</a>, when taking a multi-customer view), you need to recognize that those goals are achieved by enabling use cases.  Each of those use cases is then enabled through the <a title="functional requirements support use cases" href="http://tynerblain.com/blog/2006/02/10/writing-functional-requirements-to-support-use-cases/">implementation of functional requirements</a>.</p>
<p>Part of defining use cases is defining the actors (a.k.a. users) that perform those use cases.  You can (and should) <a title="creating actor hierarchies" href="http://tynerblain.com/blog/2006/12/13/actor-hierarchies/">use an actor hierarchy to describe the users</a>.  If you fail to define the actors effectively, you risk creating <a title="avoid the elastic user requirements anti-pattern" href="http://tynerblain.com/blog/2007/07/23/elastic-users/">the <em>elastic user </em>anti-pattern</a>.  This anti-pattern is what happens when you lose sight of the differences between different user groups.  You run the risk of designing a solution that fails to meet the needs of any one group of users, by homogenizing them into a lowest common denominator user.  Or worse, cutting user-experience corners, and designing &#8220;whatever is easiest&#8221; and justifying those decisions by rationalizing a schizophrenic actor who changes characteristics to suit your designs.</p>
<p>Most people defining requirements (product managers and business analysts) will do a good job of defining use cases, and identifying the actors that use them.  And most tools and books provide good guidance on how to define an actor, or how to define the actors for a single use case.  But so few can give you that big picture.</p>
<h2>Requirements Iterative Development</h2>
<p>If you have worked the entire lifecycle of a requirements process from problem to solution, you have experienced iterative requirements development.  Most requirements processes work top-down (some prototype-driven processes are more &#8220;bottom up&#8221;).  Define the goals.  Then define the use cases needed to achieve those goals.  Then define the functional requirements&#8230;</p>
<p>Hold on.</p>
<p>Don&#8217;t let that &#8220;agile requirements&#8221; vs &#8220;waterfall requirements&#8221; debate sneak in here.  That&#8217;s a matter of formality and scale.  What we&#8217;re talking about, specifically, is iterative development that happens as a result of insight, independent of (or in spite of) the process used.  This applies to any process for defining requirements.</p>
<p>You define a set of goals.  You may or may not validate that set of goals.  You think you are done.  You start defining the use cases and mapping them back to the goals.  You discover two things.  First, some goals are not mapped to any use cases, and second, some use cases are not mapped to any goals.  You resolve this.  You add and remove goals, and you add and remove use cases.  The act of defining the use cases enlightens you about the goals they are intended to support.  You are iterating on your goals.  Unfortunately, a lot of project managers don&#8217;t understand this, and build a schedule around a milestone such as &#8220;business requirements approval&#8221;.  Then when you apply your insights into a revision (iteration) of your goals, during the &#8220;use case development phase&#8221; the schedule is blown.</p>
<p>You do your change requests, reset expectations, and manage the political fallout of a schedule change.  Then after &#8220;use case approval&#8221;, you move into requirements definition.  As you document requirements, you uncover new use cases, or rewrite use cases, or otherwise benefit from the insights you have.  And those changes to use cases propagate back up into changes in requirements.  Now you&#8217;ve really messed up the schedule.  The way some people fixate on schedules, you&#8217;d think they would rather stick their fingers in their ears and keep the schedule than benefit from improvements now, when they cost 100 times less to fix.  Oops.  Guess I went on a rant, there.</p>
<p>This is also commonly called &#8220;requirements churn&#8221; and can be tracked - either in a good way or a bad one.  The bad way to track this creates an environment that discourages change (&#8221;you better keep the schedule!&#8221;).  The good way to track this creates an environment of &#8220;get it (more) right the first time.&#8221;</p>
<p>One way to get it &#8220;more right&#8221; the first time with your goal definition is to look at the big picture with your use cases.  One piece of that is mapping (or tracing) the use cases back to the goals.  Another tool is to create a mapping between your use cases and your actors.</p>
<p>Use Case To Actor Mapping</p>
<p>Create a simple grid in a spreadsheet.  Each row is a use case, and each column is an actor.  In each cell, when the actor is the primary actor for a use case, add the letter &#8220;P&#8221;.</p>
<blockquote><p><strong>Primary Actor</strong></p>
<p>The primary actor is the person who is the <em>subject</em> of the use case, performing the <em>verb</em> of the use case on the <em>object</em>.  A use case may have multiple actors but has one most important person.  The term <em>actor</em> represents the person who takes action - not someone playing a role. Other actors may be involved, either as participants, or as infrequent or secondary performers of the use case.<br />
Some examples:</p>
<ul>
<li>Primary Actor: Pilot.  Secondary Actors:Flight Crew, Sr. Maintenance Technician</li>
<li>Primary Actor: Author.</li>
<li>Primary Actor: Financial Accountant.  Secondary Actor: Financial Accounting Manager</li>
</ul>
<p><cite><a href="http://tynerblain.com/blog/2006/06/26/foundation-series-how-to-read-a-formal-use-case/">Foundation Series: How To Read A Formal Use Case</a></cite></p></blockquote>
<p>A simple grid with a handful of use cases and actors would look like the following:</p>
<p><img src="http://sehlhorst.smugmug.com/photos/310352623_tsmrR-L-0.jpg" alt="use case to actor map" width="474" height="306" /></p>
<p>The interesting analysis this allows you to do (and it is more powerful with a larger body of use cases and actors) is to review the big picture.  You would ask yourself &#8220;who does each use case?&#8221; even without this tool.  That&#8217;s just part of writing the use case.  Now you can also ask &#8220;what use cases does each actor perform?&#8221;  And you can easily see to ask questions like &#8220;If A03 does that, why can&#8217;t A02 do it?&#8221;</p>
<p>This big picture analysis, in my experience, will also accelerate the discovery of missing use cases.  You should also capture when an actor is a <em>secondary</em> actor in the use case.  You will then have a grid that looks like the following:</p>
<p><img src="http://sehlhorst.smugmug.com/photos/310352606_QKXH5-L.jpg" alt="mapping actors to use cases" width="474" height="329" /></p>
<p>When asking the comparative questions about UC03, you uncovered another use case.</p>
<p>This tool accelerates those insights, allowing you to make changes &#8220;further upstream&#8221;, or if your glass is half-empty, correct fewer mistakes later.</p>
<h2>Conclusion</h2>
<p>Use the use case to actor map to provide a big picture view of how people will interact with your product.  This view will improve your understanding of how people use the product, simplify the analysis, and encourage insights earlier in the requirements process.</p>

<p><a href="http://feeds.feedburner.com/~a/TynerBlain?a=jJAdFQ"><img src="http://feeds.feedburner.com/~a/TynerBlain?i=jJAdFQ" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TynerBlain?a=pQyfwI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=pQyfwI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=OuCWtI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=OuCWtI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=bZnR8i"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=bZnR8i" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=jZIDoI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=jZIDoI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=IDDbii"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=IDDbii" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=4sOxOI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=4sOxOI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=6p3mvi"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=6p3mvi" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TynerBlain/~4/308490254" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2008/06/09/use-case-to-actor-mapping/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=TynerBlain&amp;itemurl=http%3A%2F%2Ftynerblain.com%2Fblog%2F2008%2F06%2F09%2Fuse-case-to-actor-mapping%2F</feedburner:awareness><feedburner:origLink>http://tynerblain.com/blog/2008/06/09/use-case-to-actor-mapping/</feedburner:origLink></item>
		<item>
		<title>Good Enough For Now</title>
		<link>http://feeds.feedburner.com/~r/TynerBlain/~3/303386884/</link>
		<comments>http://tynerblain.com/blog/2008/06/02/good-enough-for-now/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 02:30:59 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
		
		<category><![CDATA[Agile]]></category>

		<category><![CDATA[Slightly off-topic]]></category>

		<category><![CDATA[agile philosophy]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=684</guid>
		<description><![CDATA[
Adam Bullied wrote a really good article about not losing motivation in the face of challenges.  His closing quote spun us off on a philosophical tangent about being &#8220;good enough.&#8221;

Good Advice
I&#8217;ve enjoyed several great conversations with Adam over the past couple years.  I thank this blog as the catalyst for introduction to him [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://sehlhorst.smugmug.com/photos/306244049_24wV2-L-0.jpg" alt="crystal" width="250" height="261" /></p>
<p>Adam Bullied wrote a really good article about not losing motivation in the face of challenges.  His closing quote spun us off on a philosophical tangent about being &#8220;good enough.&#8221;</p>
<p><span id="more-684"></span></p>
<h2>Good Advice</h2>
<p>I&#8217;ve enjoyed several great conversations with Adam over the past couple years.  I thank this blog as the catalyst for introduction to him and other really sharp folks, many of whom generously contribute to the discussion that launch themselves from some of our articles.  Thanks to all of you!</p>
<p>Adam&#8217;s article wrapped up into three general ideas for me:</p>
<ol>
<li>Good general advice (don&#8217;t get discouraged by external events).</li>
<li>Good product management advice (focus on the problem).</li>
<li>Pragmatic execution advice (be good enough).</li>
</ol>
<p>On the first point - just go read Adam&#8217;s article.  You&#8217;ll like his writing, and you&#8217;ll find a new blog to read regularly (if somehow you aren&#8217;t already).</p>
<p>On the second, Adam says the following (the links are ours):</p>
<blockquote><p>You need to just do a few things really well. In fact, things I’ve already mentioned:</p>
<ol>
<li>Ensure you are <a title="importance of solving problems" href="http://tynerblain.com/blog/2008/05/21/problems-are-everywhere/">solving a problem</a></li>
<li>Align things <a title="ishikawa diagram for viewing problems" href="http://tynerblain.com/blog/2008/05/27/cause-and-effect-diagrams/">from top to bottom</a></li>
<li>Execute — quickly and with confidence</li>
</ol>
<p>This “top-down” stuff I speak of is from the vision / problem identification, to the roadmap, to the requirements, to each release being pushed out the door.</p>
<p><cite><a title="encouragement" href="http://writethatdown.com/archives/2008/05/dont-get-discouraged">Don&#8217;t Get Discouraged</a>, Adam Bullied</cite></p></blockquote>
<h2>Good Enough (For Now)</h2>
<p>Adam&#8217;s third point, about being good enough, I believe, is an encouragement to make progress, and move the ball forward in the face of adversity.</p>
<p>Perhaps it&#8217;s my own character flaw, but my first instinct was to think of his comment out of context.  I&#8217;ve always believed that &#8220;good enough&#8221; is the enemy of great.  &#8220;Good enough&#8221; can be interpreted as &#8220;do less than you can.&#8221;  That&#8217;s not what I think Adam is saying, although that&#8217;s the thought that popped into my head at first.  Adam&#8217;s point is really a good one - don&#8217;t let the fact that you can&#8217;t make something perfect <em>today</em> prevent you from making it <em>better</em> today.  Tomorrow you can make it better still.  Add up enough tomorrows&#8230;</p>
<p>Maybe this distinction is why I like the underpinnings of agile (iterative) development.  Find the most important thing you can do <em>today</em> and do it.  Tomorrow, you will be smarter, having done something already and learned from it.  You&#8217;re in a position to better understand importance.  Use that learning to do the most important thing you can think of - even in the unlikely event that the most important thing you can do is refactor what you just did the day before.  Over time, things get better.</p>
<p><em>Good enough for now</em> means do the best thing you know how to do today.  Don&#8217;t hesitate because you suspect there is something even better you could do, if you could only think of it.</p>
<p>Maybe this nuance is not communicated well by some proponents of agile development.  Many smart people rail against the hyperbole of big-A Agile, and throw the baby out with the bathwater and discard small-a agile.</p>
<p>Present yourself with two possible approaches to deciding where you will live for the next fifty years.  The first approach is to decide now (but you have a month to do research and make your decision), and no matter what, you have to live there for fifty years.  The second approach is to decide now (and your answer must be given in the morning), but if you decide after a year that you want to live somewhere else, you can move.  And every year, you get to re-assess and stay or move.</p>
<p>I like this better than the classic &#8220;build a house&#8221; analogy, because it represents both the cost of change and the impermanence of decisions in a way that is more aligned with software development.  It also allows for some other analogies.  If you know that you may decide to move again in a year, you&#8217;ll make different investments in your new abode.  You may choose to live minimally to reduce the cost of moving again.  You may become an expert at moving.  And you can easily balance the cost of any particular move with the perceived benefit of making the move.  &#8220;Not worth it?&#8221;  stay where you are.  As you learn more about where you live (and where you might live), you develop a better appreciation of what is important to you.  My guess is that sometime well before the fifty year mark, you would have settled in on the &#8220;perfect&#8221; home.</p>
<p>Now what are the odds that the perfect home after several iterations of change is the exact same home you would pick with a month of research and no experiences?</p>
<p>Each home is good enough for now, and likely to be better than the last home (after all, you&#8217;re smarter each time you move than the time before).  And you stop moving when the opportunities to improve fall short of the cost of making changes.</p>

<p><a href="http://feeds.feedburner.com/~a/TynerBlain?a=dgeUZR"><img src="http://feeds.feedburner.com/~a/TynerBlain?i=dgeUZR" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TynerBlain?a=VSOePI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=VSOePI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=et6qSI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=et6qSI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=UK1Xei"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=UK1Xei" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=OiGCJI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=OiGCJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=lU9zai"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=lU9zai" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=zKnZoI"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=zKnZoI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=wrwjoi"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=wrwjoi" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TynerBlain/~4/303386884" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2008/06/02/good-enough-for-now/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=TynerBlain&amp;itemurl=http%3A%2F%2Ftynerblain.com%2Fblog%2F2008%2F06%2F02%2Fgood-enough-for-now%2F</feedburner:awareness><feedburner:origLink>http://tynerblain.com/blog/2008/06/02/good-enough-for-now/</feedburner:origLink></item>
		<item>
		<title>Defining Problems With Cause And Effect Diagrams</title>
		<link>http://feeds.feedburner.com/~r/TynerBlain/~3/299495474/</link>
		<comments>http://tynerblain.com/blog/2008/05/27/cause-and-effect-diagrams/#comments</comments>
		<pubDate>Wed, 28 May 2008 02:09:23 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
		
		<category><![CDATA[Business Analysis]]></category>

		<category><![CDATA[Communication]]></category>

		<category><![CDATA[Ishikawa Diagram]]></category>

		<category><![CDATA[Product Management]]></category>

		<category><![CDATA[Requirements]]></category>

		<category><![CDATA[Requirements Models]]></category>

		<category><![CDATA[Writing]]></category>

		<category><![CDATA[cause and effect diagram]]></category>

		<category><![CDATA[fish bone diagram]]></category>

		<category><![CDATA[fishbone diagram]]></category>

		<category><![CDATA[ishikawa]]></category>

		<category><![CDATA[problem statement]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=683</guid>
		<description><![CDATA[
The Cause and Effect diagram is also known as a fish bone diagram, because it resembles the skeleton of a fish.  Using a cause and effect diagram can be the most effective way to define the problems that you intend to solve with your product.  Get your stakeholders engaged in your program with [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://sehlhorst.smugmug.com/photos/302602335_YEYkK-L.jpg" alt="fish head" width="250" height="187" /></p>
<p>The <em>Cause and Effect</em> diagram is also known as a fish bone diagram, because it resembles the skeleton of a fish.  Using a cause and effect diagram can be the most effective way to define the problems that you intend to solve with your product.  Get your stakeholders engaged in your program with this compelling visual!</p>
<p><span id="more-683"></span></p>
<h2>Getting To The Root Of The Problem</h2>
<p>In our recent article about <a title="problem statement tips" href="http://tynerblain.com/blog/2008/05/12/your-problem-statement/">writing good problem statements</a>, we pointed out a common mistake people make with problem statements - they confuse the manifestation of a problem with a problem.</p>
<blockquote><p>Problem manifestation [<em>noun</em>] - an example of a way in which a problem is exhibited, without appreciating the true nature of the problem. Ex: The problem manifestation is that the tires on my car are under-inflated. The problem is that my car is too expensive to maintain.</p>
<p>This distinction is relevant. The cost of operating the car is too high. That is the problem. It happens to be that one reason that the cost is too high is under-inflated tires. If you focus your energy on getting properly inflated tires, it will help (by improving fuel economy a little, and by reducing the frequency of tire replacement) with costs anecdotally. But you will not have solved the problem that costs are too high. Unless you get lucky. Costs can be high because the engine is inefficient or damaged, the aerodynamics of the car are bad, or any of a number of reasons. If you solve <em>the problem</em> by addressing a single <em>manifestation</em> of the problem, without understanding the whole problem, it is only because of luck.</p>
<p><cite><a title="problem manifestations" href="http://tynerblain.com/blog/2008/05/12/your-problem-statement/">Your Problem Statement is The Problem</a></cite></p></blockquote>
<p>In the comments on that article, <em>The Demon </em>points out that it is not always easy to identify the right level of abstraction for your problem.  The cause and effect diagram makes it brilliantly simple not only to get to the root of the problem, but to communicate this cause-and-effect hierarchy of problem decomposition.</p>
<h2>Cause And Effect Diagram Example</h2>
<p>The cause and effect diagram is so visceral that the easiest way to communicate how it works is to show an example.  Here&#8217;s what the cause and effect diagram would look like for the example problem above, where the cost of operating the car is too high.</p>
<p><img src="http://sehlhorst.smugmug.com/photos/302635390_W2GiV-O.jpg" alt="excessive car operating costs" width="450" height="269" /></p>
<p>[<a title="large excessive car costs example cause and effect diagram" href="http://sehlhorst.smugmug.com/photos/302635439_BqV4v-L.jpg">larger image</a>]</p>
<p>The main problem is that the cost of operation is too high.  This is the far-right, or fish-head part of the diagram (it is sometimes called a fish bone diagram).</p>
<p>The problem can be decomposed into three separate problems: spending too much on fuel, maintenance, and payments.  Each of those problems can be further decomposed.  Note that &#8220;under-inflated tires&#8221; appears twice - once as a cause of low miles per gallon (MPG) and once as an excess maintenance cost.</p>
<p>Alternately, you could recognize that spending too much on fuel could be due to lower fuel economy <em>or</em> excessively high prices.  You could then choose to decompose the problem slightly differently:</p>
<p><img src="http://sehlhorst.smugmug.com/photos/302640001_zmjrk-L.jpg" alt="alternate decomposition" width="350" height="175" /></p>
<p>[<a title="larger alternate decomposition of problem" href="http://sehlhorst.smugmug.com/photos/302640026_Au4VF-L.jpg">larger image</a>]</p>
<p>Either approach results in crystal clarity that <em>under-inflated tires</em> is one root cause of low fuel economy, which is one cause of excessive spending on fuel, which is one cause of excessive operating costs.  This visual approach helps significantly when trying to identify the right level of abstraction for expressing the problems in your problem statement.</p>
<h2>Problem Abstraction Is A Side Benefit</h2>
<p>The really cool part is that the help you get in finding the right level of abstraction for your problem is just icing on the cake.  [Ed: No jokes about fish-bone cake.  Ick!]</p>
<p>The real benefit comes in <a title="communicating with stakeholders" href="http://tynerblain.com/blog/2006/07/14/communicating-intent-with-stakeholders/">communicating</a> and <a title="completeness validation" href="http://tynerblain.com/blog/2006/07/06/requirement-completeness-validation-with-use-cases/">validating </a>the problem decomposition with your <a title="stakeholder problems" href="http://tynerblain.com/blog/2007/10/11/stakeholder-goals/">stakeholders</a>.</p>
<p>Someone questioned me once on <a title="writing passionate requirements" href="http://tynerblain.com/blog/2006/06/15/writing-passionate-requirements/">the value of writing <em>passionate</em> requirements</a>.  Show one of these to your team, and you&#8217;ll get enthusiastic, passionate responses.  You&#8217;ll get kudos from the business for demonstrating that you understand their needs.  You&#8217;ll get praise from the implementation team for providing them with context.</p>
<h2>Using Visio To Create A Cause And Effect Diagram</h2>
<p>Creating a cause and effect diagram in Microsoft Visio is really easy, there&#8217;s a built in template, and it&#8217;s a good one.  Create a new drawing and select the &#8220;Cause and Effect Diagram Shapes&#8221; template (under &#8220;Business Process&#8221;):</p>
<p><img src="http://sehlhorst.smugmug.com/photos/302607395_Bhv3f-L.jpg" alt="template selection in visio" width="444" height="189" /></p>
<p>Visio will create a new drawing with a blank cause and effect diagram set up for you:</p>
<p><img src="http://sehlhorst.smugmug.com/photos/302609064_ofhkB-L.jpg" alt="blank fish bone diagram" width="450" height="268" /></p>
<p>Fill in the boxes with the large problems.  To get to the next level of detail (such as &#8220;Fuel Economy is Too low&#8221; in the last example), select the &#8220;Primary Cause&#8221; shape and drag it onto the diagram.  Attach the arrowhead to one of the branches (the fish &#8220;ribs&#8221;) and start typing.  For once, Visio&#8217;s default layout is where you want it.</p>
<p><img src="http://sehlhorst.smugmug.com/photos/302649129_DwfMD-L.jpg" alt="primary cause visio shape" width="51" height="56" /></p>
<p>To get a secondary cause shape (such as &#8220;Bad Aerodynamics&#8221; in the last example), select the &#8220;Secondary Cause&#8221; shape and drag it onto the diagram.  Attach the arrowhead to the &#8220;primary cause&#8221; arrow you just created.</p>
<p><img src="http://sehlhorst.smugmug.com/photos/302649096_8QNyS-L.jpg" alt="secondary cause shape in visio" width="57" height="60" /></p>
<h2>Conclusion</h2>
<p>You already have a <a title="problem statement importance" href="http://tynerblain.com/blog/2008/05/12/your-problem-statement/">good justification for defining problems</a> at the right level of abstraction.  Now you know how to easily create a cause and effect diagram to find the right problem definition.  As a bonus, communicating with stakeholders just got a lot easier - include this in your BRD.</p>

<p><a href="http://feeds.feedburner.com/~a/TynerBlain?a=jS3OV1"><img src="http://feeds.feedburner.com/~a/TynerBlain?i=jS3OV1" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TynerBlain?a=sd518H"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=sd518H" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=NranLH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=NranLH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=cNzFwh"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=cNzFwh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=o8BnsH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=o8BnsH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=mq773h"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=mq773h" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=9LPuNH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=9LPuNH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=MBZeHh"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=MBZeHh" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TynerBlain/~4/299495474" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2008/05/27/cause-and-effect-diagrams/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=TynerBlain&amp;itemurl=http%3A%2F%2Ftynerblain.com%2Fblog%2F2008%2F05%2F27%2Fcause-and-effect-diagrams%2F</feedburner:awareness><feedburner:origLink>http://tynerblain.com/blog/2008/05/27/cause-and-effect-diagrams/</feedburner:origLink></item>
		<item>
		<title>Problems Are Everywhere</title>
		<link>http://feeds.feedburner.com/~r/TynerBlain/~3/295515743/</link>
		<comments>http://tynerblain.com/blog/2008/05/21/problems-are-everywhere/#comments</comments>
		<pubDate>Thu, 22 May 2008 03:12:36 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
		
		<category><![CDATA[Business Analysis]]></category>

		<category><![CDATA[Product Management]]></category>

		<category><![CDATA[Requirements]]></category>

		<category><![CDATA[problem statements]]></category>

		<category><![CDATA[problems]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=682</guid>
		<description><![CDATA[
Today&#8217;s article is a harvest of pointers to articles about the focus on problems.  An idea farm, so to speak, with really good articles about the importance of solving problems, not just eliciting requirements.

Focus on Problems To Create Great Products
We talked about this in a couple articles:

Product roadmaps are a plan that shows &#8220;what [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://sehlhorst.smugmug.com/photos/299357010_VBGV7-L.jpg" alt="farm" width="250" height="187" /></p>
<p>Today&#8217;s article is a harvest of pointers to articles about the focus on problems.  An idea farm, so to speak, with really good articles about the importance of solving problems, not just eliciting requirements.</p>
<p><span id="more-682"></span></p>
<h2>Focus on Problems To Create Great Products</h2>
<p>We talked about this in a couple articles:</p>
<ul>
<li><a title="plans and product roadmaps" href="http://tynerblain.com/blog/2008/04/28/dont-build-a-stupid-product-roadmap/">Product roadmaps are a plan</a> that shows &#8220;what problems will be solved&#8221;</li>
<li><a title="writing good problem statements" href="http://tynerblain.com/blog/2008/05/12/your-problem-statement/">Problem statements, used effectively</a>, are very powerful</li>
</ul>
<p>And Some great articles on this have also been written recently:</p>
<ul>
<li>Jeff Lash tells us to <a title="problems not requirements" href="http://www.goodproductmanager.com/2008/05/06/stop-gathering-requirements/">focus on understanding our market problems</a>.</li>
<li>Amar Rama shows us that understanding <a title="problems and requirements" href="http://staysmall.blogspot.com/2008/05/product-management-art-science.html">problems and requirements</a> is an art <em>and </em>a science.</li>
<li>Patrick Neeman suggests <a title="understanding problems" href="http://www.usabilitycounts.com/2008/05/08/consultant-thursdays-dont-gather-requirements-drive-them/"><em>driving </em>requirements (by understanding problems)</a> instead of <em>gathering</em> requirements</li>
<li>David Anderson points out that the <a title="lean value" href="http://www.agilemanagement.net/Articles/Weblog/FeaturedBlogEntries/ProvidingValuewithLean.html">key to <em>lean</em> is a focus on value</a> (and by inference, problems).</li>
</ul>
<p>You won&#8217;t go wrong by focusing your company, your strategy, and your products on solving valuable problems.  Marry those valuable problems with some <a title="differentiated products" href="http://tynerblain.com/blog/2006/05/24/differentiation-vs-improvement/"><em>differentiated </em> and valuable solutions</a>, and your product will dominate your market.  Keep your eye on the profitability of the product, and your company will dominate the space.</p>
<p>In the movie <em>Memento</em>, the protagonist has no short term memory, so he tattoos really important ideas on his own body so that he can re-remember them.</p>
<p><img src="http://sehlhorst.smugmug.com/photos/299369774_gSUef-L.jpg" alt="tattoo" width="250" height="167" /></p>
<p>Remember to focus on problems!</p>

<p><a href="http://feeds.feedburner.com/~a/TynerBlain?a=xTdzul"><img src="http://feeds.feedburner.com/~a/TynerBlain?i=xTdzul" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TynerBlain?a=ZPckGH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=ZPckGH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=MKMNsH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=MKMNsH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=HOtKWh"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=HOtKWh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=WondYH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=WondYH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=UUiR2h"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=UUiR2h" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=qVprxH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=qVprxH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=FmYFth"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=FmYFth" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TynerBlain/~4/295515743" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2008/05/21/problems-are-everywhere/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=TynerBlain&amp;itemurl=http%3A%2F%2Ftynerblain.com%2Fblog%2F2008%2F05%2F21%2Fproblems-are-everywhere%2F</feedburner:awareness><feedburner:origLink>http://tynerblain.com/blog/2008/05/21/problems-are-everywhere/</feedburner:origLink></item>
		<item>
		<title>Successful Products: Lucky or Intentional?</title>
		<link>http://feeds.feedburner.com/~r/TynerBlain/~3/293946807/</link>
		<comments>http://tynerblain.com/blog/2008/05/19/successful-products/#comments</comments>
		<pubDate>Tue, 20 May 2008 03:03:47 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
		
		<category><![CDATA[Agile]]></category>

		<category><![CDATA[Prioritization]]></category>

		<category><![CDATA[Product Management]]></category>

		<category><![CDATA[Project Management]]></category>

		<category><![CDATA[ROI]]></category>

		<category><![CDATA[Requirements]]></category>

		<category><![CDATA[Requirements gathering]]></category>

		<category><![CDATA[Software development]]></category>

		<category><![CDATA[empirical processes]]></category>

		<category><![CDATA[feedback]]></category>

		<category><![CDATA[market identification]]></category>

		<category><![CDATA[product roadmaps]]></category>

		<category><![CDATA[product success]]></category>

		<category><![CDATA[rolling wave planning]]></category>

		<category><![CDATA[software product success]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=681</guid>
		<description><![CDATA[
Is your product successful because you were lucky, or because you were methodical and intentional?
Do you want to build a plan where you are dependent on good fortune, or do you want to make your own &#8220;luck?&#8221;  Both approaches work, but only one makes sense as an intention.  Slide 3 of your presentation [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://sehlhorst.smugmug.com/photos/298153581_QJz2t-L.jpg" alt="heads" width="250" height="187" /><img src="http://sehlhorst.smugmug.com/photos/298153556_t7Vug-L.jpg" alt="tails" width="250" height="187" /></p>
<p>Is your product successful because you were lucky, or because you were methodical and intentional?</p>
<p>Do you want to build a plan where you are dependent on good fortune, or do you want to make your own &#8220;luck?&#8221;  Both approaches work, but only one makes sense as an intention.  Slide 3 of your presentation to a venture capitalist should not say &#8220;And then we get lucky!&#8221;</p>
<p><span id="more-681"></span></p>
<h2>Product Success Is Not Easy</h2>
<p>Saeed Khan wrote a critique recently, in <a title="product success at on product management" href="http://onproductmanagement.wordpress.com/2008/05/19/product_success/"><em>On Product Management</em></a>, of an article by Phil Meyers on the <a title="chasing outcomes" href="http://www.tunedinblog.com/blog/2008/03/chasing-outcome.html"><em>Tuned In</em></a> blog.  Phil&#8217;s article is an analysis of the pending re-organization at Starbucks, and the one quote that Saeed keyed in on was:</p>
<blockquote><p>At the end of the day, its simple.  Create a product or service that your buyers want to buy and the rest takes care of itself.</p></blockquote>
<p>Saeed&#8217;s point is that it is not that easy.  A lot of hard work goes into creating a successful product.  And Saeed&#8217;s right.</p>
<p>Maybe Phil&#8217;s point is that the <em>executive</em> should not worry about the details, and trust in his team to do all the hard work.  But he doesn&#8217;t really come out and say that, so we can&#8217;t really back him up on that front.  Let&#8217;s give him the benefit of the doubt anyway.  There&#8217;s another point that Phil makes that is potentially disturbing:</p>
<blockquote><p>Looking at metrics like average same day sales and products per square foot lead you down some strange paths. Schultz even admitted as much in a letter from the board about a year ago in which he worried about the company &#8216;losing its core&#8217;.</p></blockquote>
<p>Yes, abandoning your goals to pursue your metrics is bad.  But don&#8217;t abandon your metrics to pursue your goals - unless all you want to do is get lucky.</p>
<p>You might argue that a company like <a title="animoto" href="http://animoto.com/">Animoto </a>got lucky when their product spread virally within <a title="facebook" href="http://www.facebook.com/home.php">Facebook</a> and their user base jumped from 25,000 to 700,000 users.  But if you listen to the <a title="net@nite animoto interview" href="http://twit.tv/natn49">interview</a> that Amber MacArthur did with co-founder Brad Jefferson, you will realize that it was only when they <em>tweaked</em> their product offering - a response to empirical analysis of product adoption metrics - did their success explode.  I would argue that they <em>made their luck</em> by being intentional.</p>
<h2>Empirical Processes</h2>
<p>When you can perfectly model your business analytically, you can measure the inputs and know (with certainty) the outputs.  As a college engineering student, I learned this.  Real world processes can never be perfectly modeled analytically.  As a professional engineer, I learned this too.  Real world processes are empirical.  The secret to great engineering is to apply analytics to those empirical processes to create disruptive innovation, and combine it with empirical controls that help you statistically predict the likely outputs.  The answer is simply that neither analytics nor empiricism <em>alone</em> can help you achieve greatness.</p>
<p>Business processes are also empirical in nature.  Even when you can devise an analytical model for the behavior of an <em>isolated</em> system, you have to acknowledge that <em>no real world system</em> is isolated.  You have to expect unexpected inputs into the system.  As Saeed points out, you have to apply analyses to make smart decisions when developing your process (or business model, or product).  And what Phil appears to discount is that you also need to apply empirical measurements to your process (or business or product) to control the expected results.</p>
<h2>Creating Successful Products Intentionally</h2>
<p>This article proposes that there are two paths to product success.  The first path is simple.  Cross your fingers, then get lucky.  The second path is harder.  Be intentional.</p>
<ol>
<li>Identify your market (and therefore your customers and competition).</li>
<li>Identify their problems, and select the ones you will solve.</li>
<li>Create a product roadmap (aka a &#8220;plan&#8221;) to solve those problems.</li>
<li>Design and implement solutions to the most valuable problems.</li>
<li>Get feedback on your solutions.</li>
<li>Incorporate your feedback into your plan (step 3) and repeat.</li>
<li>Revisit your market (step 1) and the problems you choose to solve (step 2) and repeat.</li>
</ol>
<p>Note: Step 7 should occasionally replace step 6, so that you stay focused on your market, and not just an out-of-date snapshot of what used to be important to your customers.</p>
<h2>1. Identify Your Market</h2>
<p>There are a lot of ways to pick a market to focus on.  You can chase demographics - there sure will be a lot of retired people in the US thanks to the <a title="wikipedia baby boomers" href="http://en.wikipedia.org/wiki/Baby_boomer">baby-boomers</a>.  You can go with what you know - years of paying attention to an industry presents ample opportunities to understand the market.  You can create an entirely new - blue ocean - market by solving problems people don&#8217;t even realize they have until you offer a solution.  Choosing a market is the subject of many books, not just an item in a list.</p>
<p>Once you choose a market, you need to <a title="market segmentation" href="http://tynerblain.com/blog/2006/04/25/market-segmentation-or-senseless-mistake/">segment the market</a> into groups of people who share the same problems and who value solutions to those problems similarly.  You can <a title="improve your market segmentation" href="http://tynerblain.com/blog/2006/11/01/how-to-apply-market-research-better/">apply market research to improve your market segmentation</a>.</p>
<h2>2. Select The Problems You Will Solve</h2>
<p>You use <a title="elicitation techniques" href="http://tynerblain.com/blog/2006/01/14/top-five-requirements-gathering-tips/">elicitation skills</a> to <a title="writing good problem statements" href="http://tynerblain.com/blog/2008/05/12/your-problem-statement/">identify the problems that your customers face</a>.  And when you have to address multiple market segments, you can <a title="prioritization across market segments" href="http://tynerblain.com/blog/2008/04/09/improved-prioritization/">prioritize the problems across those market segments</a>.</p>
<h2>3. Create a Product Roadmap</h2>
<p>Once you&#8217;ve prioritized the problems you are going to solve, create a product roadmap.  <a title="product roadmaps should focus on problems" href="http://tynerblain.com/blog/2008/04/28/dont-build-a-stupid-product-roadmap/">Your product roadmap should show the problems you are solving</a>, and the order in which you will solve them.  When you define sequencing, you also must define your approach to <a title="scheduling product releases" href="http://tynerblain.com/blog/2007/03/01/scheduling-product-releases/">scheduling product releases</a>.</p>
<h2>4. Design and Implement Solutions</h2>
<p>There are two keys to successful execution of the plan you built with your product roadmap.  First - <a title="rolling wave planning" href="http://tynerblain.com/blog/2006/07/25/incremental-project-mgmt/">use rolling-wave planning to define near-term details</a> and long term vagaries.  Second - make sure you have <a title="intro to continuous integration" href="http://tynerblain.com/blog/2006/05/08/foundation-series-continuous-integration/">continuous integration</a> as a key component to managing quality throughout the process, instead of checking quality at the end (or even worse - <a title="The cost of ignoring quality" href="http://tynerblain.com/blog/2006/02/22/software-testing-series-measuring-the-cost-of-quality/">ignoring quality</a>).</p>
<h2>5. Get Feedback on Your Solutions</h2>
<p>This is half of why <a title="Is agile bad?" href="http://tynerblain.com/blog/2007/04/16/is-agile-bad-for-software/">agile (when done right) works</a> [Can you believe the discussion over the last year on this article is up to 27 comments?!].  Feedback is not just something you get when <a title="prototype feedback and other requirements gathering techniques" href="http://tynerblain.com/blog/2006/11/21/ten-requirements-gathering-techniques/">sharing a prototype with stakeholders</a>.  Feedback is also something you must get as part an <a title="incremental vs waterfall release processes" href="http://tynerblain.com/blog/2006/01/03/foundation-series-software-process-waterfall-process-versus-incremental-process/">incremental release methodology</a>.</p>
<p>You can even <a title="measuring the roi of design" href="http://tynerblain.com/blog/2007/07/30/measuring-the-roi-of-design/">measure the ROI of your designs</a>, and incorporate feedback at the design level.</p>
<h2>6. Incorporate Feedback Into Your Plan</h2>
<p>There&#8217;s no point in gathering feedback <a title="enabling and resisting change" href="http://http://tynerblain.com/blog/2007/07/09/enabling-and-resisting-change/">if your organization and your process are organized to resist changes to the plan</a>.  Contrary to what the Standish Group&#8217;s CHAOS study has always implied [and we've made this implicit mistake too], release schedules are not the primary measure of project success.  In <a title="defining success" href="http://www.ddj.com/architect/202800777?pgno=1">a fantastic article at <em>Dr. Dobb&#8217;s Journal</em></a>, Scott Ambler points out that in his survey results, almost two thirds of professionals find that doing the right thing is more important than meeting a project schedule.</p>
<blockquote><p>Schedule: 61.3 percent of respondents said that it is more important to deliver a system when it is ready to be shipped than to deliver it on time.</p></blockquote>
<p>Do the right thing.  If the right thing involves changing the schedule, that doesn&#8217;t make it wrong.  What makes this work is the fact that you are getting feedback early and often.  It is a risk mitigation strategy, designed to reduce the possibility that you will create an unsuccessful product.  It is not a strategy designed to keep your project on schedule no matter how mis-aligned you are to your market.</p>
<h2>7. Revisit What You Are Doing And Why</h2>
<p>If step 6 is small-scale course correction, this is large-scale course correction.  You may discover that solving a big problem for your customers exposes a new &#8220;biggest&#8221; problem that wasn&#8217;t there before.  By revisiting step 2, you can choose to tackle or ignore those newly discovered problems.</p>
<p>You may also discover that by leveraging your investments to date, you <a title="value maximization" href="http://tynerblain.com/blog/2007/07/31/prioritization-and-value-maximization/">dramatically improve the ROI</a> of solving problems in another valuable market segment.  This is because even if solutions to those problems have the same value, solutions to those problems now have <a title="5 tips for calculating costs and ROI" href="http://tynerblain.com/blog/2007/02/08/five-roi-calculation-tips/">much lower costs</a> (for you).  By revisiting step 1, you give yourself the opportunity to best manage your strategy, your resources, and your plans.</p>
<h2>Conclusion</h2>
<p>Product Success may have an element of luck, but you should never plan to hit the lottery.  Be intentional in what you will do, and a good plan, executed well and adapting to change, will get you there.</p>

<p><a href="http://feeds.feedburner.com/~a/TynerBlain?a=xLMFyA"><img src="http://feeds.feedburner.com/~a/TynerBlain?i=xLMFyA" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TynerBlain?a=gH23qH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=gH23qH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=cBlPAH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=cBlPAH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=Cae9sh"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=Cae9sh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=ZlbHRH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=ZlbHRH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=TdX4Dh"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=TdX4Dh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=zBntgH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=zBntgH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=lj0r2h"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=lj0r2h" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TynerBlain/~4/293946807" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2008/05/19/successful-products/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=TynerBlain&amp;itemurl=http%3A%2F%2Ftynerblain.com%2Fblog%2F2008%2F05%2F19%2Fsuccessful-products%2F</feedburner:awareness><feedburner:origLink>http://tynerblain.com/blog/2008/05/19/successful-products/</feedburner:origLink></item>
		<item>
		<title>Flashback: This Week in the Past on Tyner Blain [May17]</title>
		<link>http://feeds.feedburner.com/~r/TynerBlain/~3/293209728/</link>
		<comments>http://tynerblain.com/blog/2008/05/18/flashback-70/#comments</comments>
		<pubDate>Mon, 19 May 2008 03:43:22 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
		
		<category><![CDATA[Flashback]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=680</guid>
		<description><![CDATA[
A look back at the best from this week in the past.

Foundation Series: Functional Testing of Software

Functional Testing, also referred to as System Testing of software is the practice of testing the completed software to confirm that it meets the requirements defined for the software. A functional test is typically a test of user interactions, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.smugmug.com/photos/240092318-L.jpg" alt="flashback" width="250" height="187" /></p>
<p>A look back at the best from this week in the past.</p>
<p><span id="more-680"></span></p>
<h3><a title="functional testing" href="http://tynerblain.com/blog/2006/05/17/foundation-series-functional-testing-of-software/">Foundation Series: Functional Testing of Software</a></h3>
<p><img src="http://sehlhorst.smugmug.com/photos/50445724-M.jpg" alt="class" width="250" height="195" /><br />
Functional Testing, also referred to as <em>System Testing</em> of software is the practice of testing the completed software to confirm that it meets the requirements defined for the software. A functional test is typically a test of user interactions, but can also involve communication with external systems. We contrast functional testing with <a title="Foundation series on unit testing of software" href="http://tynerblain.com/blog/2006/01/19/foundation-series-unit-testing-software/">unit testing</a>.  We also show how functional  testing provides different benefits than unit testing.</p>
<h3><a title="documentation of requirements" href="http://tynerblain.com/blog/2006/05/11/requirements-documents-one-mans-trash/">Requirements Documents - One Man&#8217;s Trash&#8230;</a></h3>
<p><img src="http://sehlhorst.smugmug.com/photos/69106253-M.jpg" alt="trash or treasure?" width="250" height="187" /></p>
<p><strong>…Is another man’s treasure</strong>. There are many different ways to document requirements when developing software.  And there is a <a title="Document Proliferation" href="http://tynerblain.com/blog/2006/01/20/document-proliferation/">proliferation of requirements documents</a> - MRD, PRD, SRS, FRS and design documents. Everyone has a perspective on what each document represents, and each person on the team has a <em>unique</em> perspective on what questions the document answers.</p>
<h3><a title="marketing plan template" href="http://tynerblain.com/blog/2006/05/15/one-page-marketing-plan-template/">One-Page Marketing Template</a></h3>
<p><img src="http://sehlhorst.smugmug.com/photos/69764778-M.jpg" alt="noteboard" width="250" height="185" /></p>
<p><a title="Kelly's Think-tank" href="http://kellyodell.blogspot.com/">Kelly Odell</a> posted a single-sheet marketing plan template, after being frustrated with the massive templates that others have promoted in the past. John Sviokla recently wrote about <a title="Marketing remix post" href="http://www.svioklascontext.com/2006/04/marketing_remix_1.html">how the 4-P’s of marketing are changing to the 5-P’s</a> of marketing.  Marcus Ting-A-Kee found John’s essay and <a title="From Start to End on the 5 Ps" href="http://feeds.feedburner.com/FromStartToEnd?m=27">wrote about it yesterday</a>.  <a title="Guy's adaptation of the ideas" href="http://feeds.feedburner.com/letTheGoodTimesRollByGuyKawasaki?m=115">Guy Kawasaki</a> suggested that Kelly adapt his template to John’s new approach.  Kelly <a title="Kelly's update" href="http://kellyodell.blogspot.com/2006/05/worlds-shortest-marketing-_114677731188759139.html">chose to mix</a> the best of both worlds.  We add our own spin at the end.</p>

<p><a href="http://feeds.feedburner.com/~a/TynerBlain?a=YvP5HL"><img src="http://feeds.feedburner.com/~a/TynerBlain?i=YvP5HL" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TynerBlain?a=u0gZSH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=u0gZSH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=Tu0LXH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=Tu0LXH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=qlv88h"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=qlv88h" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=0rGLvH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=0rGLvH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=42Ax3h"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=42Ax3h" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=ylaUeH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=ylaUeH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=X55FOh"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=X55FOh" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TynerBlain/~4/293209728" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2008/05/18/flashback-70/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=TynerBlain&amp;itemurl=http%3A%2F%2Ftynerblain.com%2Fblog%2F2008%2F05%2F18%2Fflashback-70%2F</feedburner:awareness><feedburner:origLink>http://tynerblain.com/blog/2008/05/18/flashback-70/</feedburner:origLink></item>
		<item>
		<title>Making Offshore Design Work</title>
		<link>http://feeds.feedburner.com/~r/TynerBlain/~3/290633503/</link>
		<comments>http://tynerblain.com/blog/2008/05/14/offshore-design/#comments</comments>
		<pubDate>Thu, 15 May 2008 03:39:58 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
		
		<category><![CDATA[Communication]]></category>

		<category><![CDATA[Consulting]]></category>

		<category><![CDATA[Design]]></category>

		<category><![CDATA[Outsourcing]]></category>

		<category><![CDATA[Software development]]></category>

		<category><![CDATA[Testing]]></category>

		<category><![CDATA[off-shoring]]></category>

		<category><![CDATA[offshoring]]></category>

		<category><![CDATA[offshoring design]]></category>

		<category><![CDATA[outsourcing design]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=679</guid>
		<description><![CDATA[
When companies first start off-shoring, they usually send the &#8220;low level&#8221; implementation work overseas first, to work out the process kinks and manage risk.  Over time, your valued, domain-aware developers will perceive a lack of career opportunities with this limited role.  Naturally, you will want to consider sending design work offshore too.  [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.smugmug.com/photos/295434701_AKMnM-L.jpg" alt="offshore oil rig" width="250" height="191" /></p>
<p>When companies first start off-shoring, they usually send the &#8220;low level&#8221; implementation work overseas first, to work out the process kinks and manage risk.  Over time, your valued, domain-aware developers will perceive a lack of career opportunities with this limited role.  Naturally, you will want to consider sending design work offshore too.  You can make it work.  If you do it wrong, you&#8217;re toast.</p>
<p><span id="more-679"></span></p>
<h2>Different Models for Offshore Development</h2>
<p>There are many ways to organize software-creation teams (where creation includes product management, design, development and testing).  When developing an organizational design that incorporates elements of off-shoring, there are <a title="four offshoring models for software development" href="http://tynerblain.com/blog/2006/03/31/four-outsourcing-models-for-software-development/">four primary models for outsourced software creation</a>.</p>
<ol>
<li><strong>No offshore development at all</strong>.  Occasionally referred to as insourcing, this is the traditional &#8220;everyone in one place&#8221; model - or at least &#8220;everyone in similar time zones.&#8221;</li>
<li><strong><a title="low-level offshore development" href="http://tynerblain.com/blog/2008/05/05/offshore-development/">Low-level outsourcing</a></strong>.  The implementation teams (both coding and testing) are located offshore, with design and product management staying local.</li>
<li><strong>High-level outsourcing</strong>.  The focus of this article.  Keeping product management &#8220;local&#8221; but moving design and development responsibilities offshore.</li>
<li><strong>Complete technical outsourcing</strong>.  Everyone except the product manager is offshore.</li>
</ol>
<p>The models can be most easily compared when the same process is compared in each - just with different locations.  Co-location of team members has an impact when comparing face-to-face communication with online / phone / remote communication. But this factor is not a primary one in influencing team-decisions - it is no different than having someone who works from home. The key element in team dynamics is a dramatic shift in timezones.</p>
<p>This timezone shift causes a latency in the communication process, illustrated by the following example:</p>
<blockquote><p>Imagine the following expensive question and answer session:</p>
<ul>
<li>Person A asks person B a question.</li>
<li>12 hours later, person B responds with a request for a clarification.</li>
<li>12 hours later, Person A clarifies the question.</li>
<li>12 hours later, Person B responds with an answer.</li>
<li>12 hours later, Person A acknowledges the answer.</li>
</ul>
<p>When this communication channel happens between an onshore person and an offshore person, it takes <strong>48 hours</strong> instead of 48 minutes. The more this happens, the more expensive it is to outsource. The key to making low-level outsourcing work cost effectively is to minimize the impact of this communication latency, while realizing the benefits of lower salaries in the offshore location.</p>
<p><a title="low-level offshore development" href="../2008/05/05/offshore-development/?PHPSESSID=82aaaaa501dfc1081a23aaeee4e00a52" target="_blank"><cite>Making Offshore Development Work</cite></a></p></blockquote>
<p>This is why proper communication design is the make-or-break element of making collaborative teams work when using an outsourcing model that involves anyone being offshore.</p>
<h2>High-Level Outsourcing</h2>
<p>Consider the following software development process diagram (from <a title="four offshore development models" href="../2006/03/31/four-outsourcing-models-for-software-development/?PHPSESSID=82aaaaa501dfc1081a23aaeee4e00a52" target="_blank"><em>Four Application Development Outsourcing Models</em></a>):</p>
<p><img src="http://sehlhorst.smugmug.com/photos/62418699-L.jpg" alt="high level outsourcing process flow" width="401" height="800" /></p>
<p>In this off-shoring process flow diagram, the shaded areas represent the activities that happen offshore. Note that this is the exact same process flow that is used to describe the other outsourcing models. The difference from other models is primarily where resources are located, but also the relevant scope of responsibility. In comparison with <a title="making low-level outsourcing work" href="../2008/05/05/offshore-development/?PHPSESSID=82aaaaa501dfc1081a23aaeee4e00a52" target="_blank">low-level outsourcing</a>, the only difference in the process flow is that responsibility for test design and solution design is transitioned to the offshore development team.</p>
<h2>Artificial Boundary</h2>
<p>This model creates a bit of an artificial boundary between the “interpret requirement” step and the “design solution” and “design tests” steps. This artificial boundary creates a potentially odd dynamic within the team.</p>
<p>To make reading easier, we’ll talk about the development side of the process flow only, but the same ideas apply on the testing side.</p>
<p>This model has one developer interpreting requirements, and a different developer doing the design work. In an insourcing model, those two developers are usually the same person. In large development teams, a common breakout here is architect versus senior designer. The architect (the figure on top) would be responsible for those design considerations that span the enterprise and the senior designer would be responsible for those design considerations that affect a single application. Here’s a good background article by Scott Ambler on <a title="enterprise architecture approach" href="http://www.enterpriseunifiedprocess.com/essays/enterpriseArchitecture.html" target="_blank">approaching enterprise architecture</a>.</p>
<p>Why have an artificial boundary? Because this model is an emergent design.</p>
<ol>
<li>A company starts with low-level outsourcing.</li>
<li>The offshore developers complain about a lack of growth opportunities (both career and skill).</li>
<li>Executives are not prepared to completely outsource all technical work (risk aversion), or the team is not ready to succeed with that approach.</li>
</ol>
<p>Splitting the “interpret requirements” task from the “design a solution” task is a compromise. It minimizes the risk associated with providing growth opportunities to offshore team members. That risk is minimized by avoiding the high-latency communication channel (from onshore to offshore) when communicating requirements. Instead, the interpretation of the requirements is done onshore, and that interpretation is communicated.</p>
<p>You can argue that this model is the offspring of a trust issue within the organization. A company can absolutely say “We want growth opportunities for our offshore team members” and at the same time say “We are not ready to relinquish complete technical control.” This is definitely a trust issue, and therefore a <em>perceived</em> risk mitigation strategy. The risk may be very real, or non-existent. In either case, it is emotionally present.</p>
<h2>Vague Scope and Role Conflict</h2>
<p>If, while reading this, the notion of splitting interpretation from design feels uncomfortable, that’s because it is. For many teams that are <em>evolving</em> their outsourcing model, it feels uncomfortable, but it feels less uncomfortable than releasing complete technical control.</p>
<p>One problem, which I completely grok as a former developer, is that it is almost impossible to interpret requirements without imagining designs. But this model has different people performing the different tasks. So should the interpreter just discard those designs? Presumably the interpreter is more experienced, certainly more knowledgeable about the domain. It would be a shame to discard those design insights.</p>
<h2>Robbing Peter to Pay Paul</h2>
<p>This approach has clear benefits for the offshore developers who are now presented with growth opportunities. Unfortunately, you run the risk of sucking the fun out of the role of the interpreter - a senior, experienced developer with domain knowledge. While proper requirements interpretation can be fun, it usually is not fun for a developer. Only requirements people will enjoy those nuances, generally.</p>
<p>You risk eliminating a career path and growth opportunities for your onshore resources with this model.</p>
<h2>Division of Labor</h2>
<p>One approach that keeps the growth opportunities open for your senior onshore technical resources is to have them play multi-product, or architectural roles. This presents an opportunity for these individuals to apply organizational insights across products, finding synergies between applications and driving consistency and consolidation among applications. You essentially split the responsibilities “broad and deep” where the onshore designer is looking across the portfolio and the offshore designer has ownership responsibilities for a single application or scope. This is similar to the division of responsibilities that works well for tackling <a title="enterprise product management is broad and deep" href="../2008/01/23/enterprise-product-management/?PHPSESSID=82aaaaa501dfc1081a23aaeee4e00a52" target="_blank">enterprise product management</a>.</p>
<p>Instead of preventing communication of requirements across the high-latency channel, it minimizes it. The onshore designer acts as the liaison between multiple offshore designers, fielding interpretation questions, and more effectively, preventing them. Developers have a language all their own. Through a shared perspective on common experiences, they can communicate very efficiently - by analogy, <a title="symbolism and communication" href="../2006/02/12/symbolism-and-communication/?PHPSESSID=82aaaaa501dfc1081a23aaeee4e00a52" target="_blank">symbolically</a>, and via design patterns. These communication opportunities (between like-minded individuals) can have very high information density. For example, one developer can say “MVC pattern” to another, and that serves more effectively to communicate an approach to designing a solution (and a context / interpretation of requirements) far more efficiently than a product manager describing requirements that multiple tools and platforms should expose the same set of capabilities or behaviors [and that is overly short, because I don't feel like typing a comprehensive explanation of the <a title="MVC pattern at wikipedia" href="http://en.wikipedia.org/wiki/Model-view-controller" target="_blank">MVC pattern</a>].</p>
<p>Another approach is to <em>silo</em> the developers vertically - having some applications (or modules) following a low-level outsourcing model, and others practicing complete technical outsourcing. Any given team is operating discretely with a clearly defined set of responsibilities. The teams may just be operating differently. Essentially, you’re saying that your “average” is high level outsourcing, even though it is really a mix of two models. This doesn’t really count, since none of your teams are addressing the communication challenges of this model - your company is leapfrogging over it, but choosing to mitigate risk by doing it a little bit at a time.</p>
<p>You can also take the approach of having the onshore designer be responsible for over-arching and high-complexity design issues, with offshore designers owning more straightforward and lower risk design activities.</p>
<p>The best approach for maximizing your team’s effectiveness (and your HR goals) will be overwhelmingly determined by the individuals involved. If you’re in a large company, you probably don’t get to maximize team effectiveness - you are likely to be forced into a particular model. If you’re doing the forcing, recognize that one size does not fit all.</p>
<h2>High Latency Communication And Designing</h2>
<p>When circling back to the main challenge of offshoring - communication - you need to look at the nature of the communication that is subject to the high-latency of temporal displacement within the team. The key to making this model work is to leverage the efficiency of cross-talk between developers. That means having experienced people on both the offshore and onshore teams who share common design backgrounds (patterns, analogies, examples) and deep domain understanding (reducing the provision and clarification of <a title="It is all about context" href="../2006/11/09/requirements-context/?PHPSESSID=82aaaaa501dfc1081a23aaeee4e00a52" target="_blank">context </a>across the communication channel).</p>
<p>Design reviews are also very effective at eliminating the impact of this latency on communication. Design reviews typically happen as follows:</p>
<ol>
<li>Designer A spends time creating design based on an interpretation of requirements.</li>
<li>Designers A &amp; B get together and review the design in a relatively short meeting (or Designer B reviews a design document). Feedback is delivered in a burst.</li>
<li>Designer A spends time updating the design based on feedback from step 2.</li>
<li>Return to step 2 as many times as is needed.</li>
</ol>
<p>There is a big chunk of work involved in incorporating feedback from a design review. This can be folded into the “white space” between communications. In other words, while designer B is sleeping for the night, designer A is making updates. This looks like, <span style="text-decoration: underline;">but is not</span> the <a title="follow the sun" href="http://blogs.computerworld.com/node/1005" target="_blank">follow-the-sun</a> pattern.</p>
<blockquote><p>The follow-the-sun pattern is one where someone is always working. I’ve made this work on a project where there were two teams working 12 hour shifts with a 4 hour overlap (and a 4 hour “blackout”). Note - that isn’t sustainable, just anecdotal. I think the linked article is right, commonly, follow-the-sun implementation does not work, for the reasons cited in that article.</p></blockquote>
<p>What makes this very different is that we are <em>synchronizing</em> the naturally-occurring time lag between design reviews with the geographically-induced time lag in communication.</p>
<h2>Conclusion</h2>
<p>The strategy for successfully utilizing offshore resources for both implementation and design starts and ends with communication. It also requires attention to your specific people and their career aspirations.</p>
<ul>
<li>Utilize design reviews to take advantage of serendipitous time-lags in the communication cycle.</li>
<li>Assure that your role definitions are clear, and aligned with the aspirations of the people on your team.</li>
<li>Follow the <a title="effective offshore development process" href="../2008/05/05/offshore-development/?PHPSESSID=82aaaaa501dfc1081a23aaeee4e00a52" target="_blank">tips for effective offshore development</a> - this strategy builds on that one, it does not replace it.</li>
</ul>

<p><a href="http://feeds.feedburner.com/~a/TynerBlain?a=xkPrTi"><img src="http://feeds.feedburner.com/~a/TynerBlain?i=xkPrTi" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TynerBlain?a=ZWsR0H"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=ZWsR0H" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=LD3MqH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=LD3MqH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=oC0FJh"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=oC0FJh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=VEzIRH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=VEzIRH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=nCgoeh"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=nCgoeh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=ROzNXH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=ROzNXH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=NpKwQh"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=NpKwQh" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TynerBlain/~4/290633503" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2008/05/14/offshore-design/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=TynerBlain&amp;itemurl=http%3A%2F%2Ftynerblain.com%2Fblog%2F2008%2F05%2F14%2Foffshore-design%2F</feedburner:awareness><feedburner:origLink>http://tynerblain.com/blog/2008/05/14/offshore-design/</feedburner:origLink></item>
		<item>
		<title>Your Problem Statement is The Problem</title>
		<link>http://feeds.feedburner.com/~r/TynerBlain/~3/289071788/</link>
		<comments>http://tynerblain.com/blog/2008/05/12/your-problem-statement/#comments</comments>
		<pubDate>Tue, 13 May 2008 01:01:58 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=678</guid>
		<description><![CDATA[
Problems are the reason why we create software.  We solve problems.  For the business.  A &#8220;Goal&#8221; is an acknowledgment that you are going to try and address the problem.  One mistake people commonly make is to describe problem manifestations and not problems.  Read on to see the difference.

Problem Manifestation
Someone recently [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://sehlhorst.smugmug.com/photos/148366828-M.jpg" alt="under the hood" width="250" height="209" /></p>
<p>Problems are the reason why we create software.  We solve problems.  For the business.  A &#8220;Goal&#8221; is an acknowledgment that you are going to try and address the problem.  One mistake people commonly make is to describe problem <em>manifestations</em> and not problems.  Read on to see the difference.</p>
<p><span id="more-678"></span></p>
<h2>Problem Manifestation</h2>
<p>Someone recently forwarded to a mailing list an article about how to define the impetus for requirements.  The article was written by someone at a &#8220;product management training and consulting&#8221; company.  Instead of linking to the article, let me just say that it inspired me to write this article, and not because I agree with it.  So, the names are removed to protect the well-intentioned.</p>
<p>That article starts with a statement I really agree with, and one I really don&#8217;t agree with:</p>
<ul>
<li>The Good: &#8220;All great products begin with a well defined need.&#8221;</li>
<li>The Bad: &#8220;Starting your requirements with a problem statement is a problem.&#8221;</li>
</ul>
<p>The article goes on to describe a problem manifestation*, labels it as a problem, tells us it is bad, and then goes on to propose an alternative.  <a title="how not to write a product roadmap" href="http://tynerblain.com/blog/2008/04/28/dont-build-a-stupid-product-roadmap/"><em>Don&#8217;t Build a Stupid Product Roadmap</em></a> shows a similar phenomenon - someone well intentioned criticized a really horrible product roadmap, and errantly drew the conclusion that product roadmaps are bad.  This is the same thing.  Problem statements are not bad - in fact, they can be one of the most effective tools for clearly communicating <a title="example vision statement" href="http://tynerblain.com/blog/2007/04/26/apr-vision-update-1/">the vision of a product</a>.</p>
<blockquote><p>*Problem manifestation [<em>noun</em>] - an example of a way in which a problem is exhibited, without appreciating the true nature of the problem.  Ex: The problem manifestation is that the tires on my car are under-inflated.  The problem is that my car is too expensive to maintain.</p>
<p>This distinction is relevant.  The cost of operating the car is too high.  That is the problem.  It happens to be that one reason that the cost is too high is under-inflated tires.  If you focus your energy on getting properly inflated tires, it will help (by improving fuel economy a little, and by reducing the frequency of tire replacement) with costs anecdotally.  But you will not have solved the problem that costs are too high.  Unless you get lucky.  Costs can be high because the engine is inefficient or damaged, the aerodynamics of the car are bad, or any of a number of reasons.  If you solve <em>the problem</em> by addressing a single <em>manifestation</em> of the problem, without understanding the whole problem, it is only because of luck.</p></blockquote>
<h2>Abstract Your Problem Correctly</h2>
<p>When you <a title="top ten elicitation techniques" href="http://tynerblain.com/blog/2007/09/13/elicitation-techniques-2/">elicit a problem</a> from users, it is <em>usually </em>a description of a problem with their procedure, or the design of their product.</p>
<ul>
<li>I can&#8217;t keep my tires properly inflated.</li>
<li>It takes too long to find the information I need about the customer who just called me.</li>
<li>My price catalog is always out of date.</li>
</ul>
<p>These are examples of how problems manifest, given a particular process or product design.  If you start with a problem manifestation like one of these, it will be impossible to avoid design cues in your requirements.  And you should <a title="avoiding design in your requirements" href="http://tynerblain.com/blog/2006/06/02/writing-design-free-requirements/">always avoid specifying design in your requirements</a>.  The article that started us down this path is correct - these are bad things.  The solution is not to abandon problem statements.  The solution is to abstract them correctly.  This is a skill that great product managers have, and all product managers need.</p>
<p>Properly abstracted, the problem manifestations above could be rewritten as problems.</p>
<ul>
<li>The cost of operating my car is too high.</li>
<li>I lose too many customers because their calls for support take too long.</li>
<li>We are making unprofitable sales (and losing other sales) because we quote incorrect prices to our customers.</li>
</ul>
<p>These problem statements can be turned into <a title="introduction to structured requirements" href="http://tynerblain.com/blog/2006/01/04/foundation-series-structured-requirements/">goals, from which the rest of your requirements can be defined</a>. Goals would be in the form &#8220;Reduce the cost of operating my car by 20%.&#8221;</p>
<p>You can abstract too far.  You know you&#8217;ve gone too far when the problem statement does not give you any insight into what problem you are solving.  Here are the same three examples, abstracted too far.</p>
<ul>
<li>I don&#8217;t have enough money.</li>
<li>We don&#8217;t have enough revenue.</li>
<li>We don&#8217;t make enough profit.</li>
</ul>
<p>This abstraction problem is a common one in product management.  It has come up in a handful of discussion threads over the last couple of years here, and is a key point in a couple articles too.</p>
<ul>
<li>We see incorrect definitions of problem statements.</li>
<li>We see <a title="writing use cases at the proper level of abstraction" href="http://tynerblain.com/blog/2007/03/14/writing-use-cases-for-estimation/">incorrect definitions of use cases</a>.</li>
<li>We see <a title="writing business rules and requirements at the right level of abstraction" href="http://tynerblain.com/blog/2006/10/18/business-rules-and-requirements/">business rules and requirements at the wrong level</a>.</li>
</ul>
<p>Don&#8217;t go too far, or your team won&#8217;t know what to do.  The goal is to <a title="know your customer's market" href="http://tynerblain.com/blog/2006/06/27/know-thy-customers-markets/">understand the problems that affect multiple customers in your market</a> - not just a single company or user.  Make sure you abstract far enough, or you won&#8217;t actually solve the valuable problems.  And without <a title="articulating valuable requirements" href="http://tynerblain.com/blog/2006/11/14/valuable-and-functional-requirements/">valuable problems to solve</a>, you can&#8217;t <a title="writing valuable requirements" href="http://tynerblain.com/blog/2006/05/30/writing-valuable-requirements/">write valuable requirements</a>.</p>
<h2>Conclusion</h2>
<p>Problem statements are awesome.  They define the scope and vision of what you intend with your software.  They provide a framework for measuring the value your customers see from your product.  They provide context for prioritization and design decisions.</p>
<p>Problem manifestations are too low level to achieve any of these goals.  They are bad.</p>
<p>Don&#8217;t abandon your problem manifestation, just ask &#8220;<a title="ask why until you understand the reason why" href="http://tynerblain.com/blog/2006/02/21/the-reason-why/">why does that matter?</a>&#8221; until you reach the proper level of abstraction.  Then you&#8217;ll know what the <em>real</em> problem is.</p>

<p><a href="http://feeds.feedburner.com/~a/TynerBlain?a=mNT1nM"><img src="http://feeds.feedburner.com/~a/TynerBlain?i=mNT1nM" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TynerBlain?a=6nn7HH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=6nn7HH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=JppVaH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=JppVaH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=vtl77h"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=vtl77h" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=e7T45H"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=e7T45H" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=W4ip1h"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=W4ip1h" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=qYocAH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=qYocAH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=g6MeOh"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=g6MeOh" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TynerBlain/~4/289071788" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://tynerblain.com/blog/2008/05/12/your-problem-statement/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=TynerBlain&amp;itemurl=http%3A%2F%2Ftynerblain.com%2Fblog%2F2008%2F05%2F12%2Fyour-problem-statement%2F</feedburner:awareness><feedburner:origLink>http://tynerblain.com/blog/2008/05/12/your-problem-statement/</feedburner:origLink></item>
		<item>
		<title>Flashback: This Week in the Past on Tyner Blain [May10]</title>
		<link>http://feeds.feedburner.com/~r/TynerBlain/~3/288331525/</link>
		<comments>http://tynerblain.com/blog/2008/05/11/flashback-69/#comments</comments>
		<pubDate>Mon, 12 May 2008 00:16:39 +0000</pubDate>
		<dc:creator>Scott Sehlhorst</dc:creator>
		
		<category><![CDATA[Flashback]]></category>

		<category><![CDATA[Agile]]></category>

		<category><![CDATA[agile development]]></category>

		<category><![CDATA[continuous integration]]></category>

		<category><![CDATA[introduction to continuous integration]]></category>

		<guid isPermaLink="false">http://tynerblain.com/blog/?p=677</guid>
		<description><![CDATA[
A look back at the best from this week in the past.

Foundation Series: Continuous Integration

Continuous Integration
Continuous Integration is the software development and quality process where all team members merge their code and verify it frequently - at least daily. This verification project includes both an automated build process and automated testing. The main benefits of [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.smugmug.com/photos/240092318-L.jpg" alt="mirrored building" width="250" height="187" /></p>
<p>A look back at the best from this week in the past.</p>
<p><span id="more-677"></span></p>
<h3><a title="continuous integration explained" href="http://tynerblain.com/blog/2006/05/08/foundation-series-continuous-integration/">Foundation Series: Continuous Integration</a></h3>
<p><img src="http://sehlhorst.smugmug.com/photos/50445724-M.jpg" alt="classroom" width="250" height="195" /></p>
<p><strong>Continuous Integration</strong></p>
<p>Continuous Integration is the software development and quality process where all team members merge their code and verify it frequently - at least daily. This verification project includes both an automated build process and automated testing. The main benefits of continuous integration come from risk-reduction and cost-reduction.</p>
<h3><a title="continuous integration essentials" href="http://tynerblain.com/blog/2006/05/09/ten-essential-practices-of-continuous-integration/">Ten Essential Practices of Continuous Integration</a></h3>
<h3><img src="http://sehlhorst.smugmug.com/photos/68782482-M.jpg" alt="rubber chicken" width="194" height="194" /></h3>
<p>Martin Fowler has identified <a title="Fowler's article" href="http://martinfowler.com/articles/continuousIntegration.html">the key process elements of making Continuous Integration work</a>.  You could even argue that they are the elements that <a title="Foundation Series on Continuous Integration" href="http://tynerblain.com/blog/2006/05/08/foundation-series-continuous-integration/">define Continuous Integration</a> (done correctly).  We include his list and our thoughts below:</p>
<h3><a title="agile dragon" href="http://tynerblain.com/blog/2006/05/04/the-agile-dragon/">The Agile Dragon</a></h3>
<p><img src="http://sehlhorst.smugmug.com/photos/67869390-M.jpg" alt="dragon" width="250" height="175" /></p>
<p>When <a title="Clash of the Titans" href="http://tynerblain.com/blog/2006/03/07/interaction-design-explained-by-alan-cooper/">Alan Cooper and Kent Beck debated</a> the benefits of eXtreme Programming versus Interaction Design, they disagreed on a lot of things. One thing they agreed on is that Agile processes are designed to minimize the impact of changing requirements. Cooper believes that it makes more sense to minimize future change by understanding the requirements better up front. Beck believes that the requirements can not be understood by the team until something is delivered. Beck’s point is that the customer doesn’t understand the requirements until he has something in his hands. We’ve shown how this is <a title="Biggest strength and weakness of Agile" href="http://tynerblain.com/blog/2006/05/03/agiles-biggest-strength-is-agiles-biggest-weakness/">both a strength and a weakness for Agile</a> in the real world.  In <a id="lnx0" title="The Hobbit, JRR Tolkein" name="evtst|a|0395177111" href="http://www.amazon.com/dp/0395177111?tag=tynerblain-20&amp;link_code=as3&amp;creativeASIN=0395177111&amp;creative=373489&amp;camp=211189"><span style="font-style: italic;">The Hobbit</span></a>, the dragon Smaug was missing a scale on his belly, that made him vulnerable.  Agile processes have a similar weak spot.</p>

<p><a href="http://feeds.feedburner.com/~a/TynerBlain?a=bE7XTw"><img src="http://feeds.feedburner.com/~a/TynerBlain?i=bE7XTw" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TynerBlain?a=06hqTH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=06hqTH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=ZkF3DH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=ZkF3DH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=CCdBMh"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=CCdBMh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=NA8GbH"><img src="http://feeds.feedburner.com/~f/TynerBlain?i=NA8GbH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TynerBlain?a=EsRtMh"><img src="http://feeds.