<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>You Want IT When? &#187; Video</title>
	<atom:link href="http://www.yuwantitwhen.com/blog/category/video/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yuwantitwhen.com/blog</link>
	<description>Practical methods for successful software management.</description>
	<lastBuildDate>Mon, 26 Oct 2009 00:54:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Pareto Principle (80:20 Rule) and Quality</title>
		<link>http://www.yuwantitwhen.com/blog/2008/10/22/pareto-principle-8020-rule-and-quality/</link>
		<comments>http://www.yuwantitwhen.com/blog/2008/10/22/pareto-principle-8020-rule-and-quality/#comments</comments>
		<pubDate>Thu, 23 Oct 2008 04:59:10 +0000</pubDate>
		<dc:creator>Bill Miller</dc:creator>
				<category><![CDATA[Quality]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.yuwantitwhen.com/blog/?p=338</guid>
		<description><![CDATA[Erik Peterson presents on the 80:20 rule at a Google Talk, which you can view on YouTube.com.  He explains how to use the 80:20 rule to improve the quality of your testing with the benefit of delivering high quality software products.]]></description>
			<content:encoded><![CDATA[<p>You&#8217;re probably are familiar with many of the claims supported by the 80:20 rule.  There are many:</p>
<ul type="disc">
<li>80% of the sales are closed by 20% of the salespeople.</li>
<li>80% of the code on a project is written by 20% of the staff.</li>
<li>80% of the processor execution time is spent in 20% of the processor&#8217;s instructions.</li>
<li>80% of your customers use only 20% of your application features.</li>
<li>80% of your defects are in 20% of your code.</li>
</ul>
<p>Erik Peterson presents on the 80:20 rule at a Google Talk, which you can view on YouTube.com.  He explains how to use the 80:20 rule to improve the quality of your testing with the benefit of delivering high quality software products.<span id="more-338"></span></p>
<h2>History</h2>
<p>The 80:20 rule was first demonstrated by Joseph Juran.  The 80:20 rule says that 80% of the effects come from 20% of the causes.  It&#8217;s an indicative trend supported by observation and experimentation.</p>
<p>The principal was coined by Joseph Juran, a management consultant notedfor his focus on quality.  He named it after an Italian Economist, Vilfredo Pareto who observed that 80% of the wealth in Italy was owned 20% of the population.</p>
<p>IBM was able to use this insight with great effect when they found that 80% of the execution time was spent in 20% of the instructions.  With this information IBM optimized those 20% instructions giving them a competitive performance edge.  Apparently IBM treated this as a closely guarded secret.</p>
<h2>What exactly is it?</h2>
<p>Mr. Peterson explains that in Cricket the sweet spot on the bat is where the minimum effort maximizes return.  It&#8217;s that small area, the 20% area, on the bat that will catapult the ball the furthest with minimal effort from the batter. It&#8217;s what makes professional athletes as they are able to connect the ball with that small area of the bat more often than the amateur.  Identifying the sweet spot, that small area on the bat, is what Pareto Analysis is all about.</p>
<p>Pareto Analysis is the study of the main causes/classifications of something to link them to the properties in the results.  The objective is to establish the relationship between causes and results.</p>
<h2>7 step process</h2>
<p>A graph is used to perform Pareto Analysis.  There are 7 steps performed in the analysis to identify the most important causes.</p>
<ol>
<li>Build a table listing the causes and their frequency as a percentage.</li>
<li>Arrange the rows in the decreasing order of importance of the causes (i.e, the most important cause first).</li>
<li>Add a cumulative percentage column to the table</li>
<li>Plot with causes on the x-axis and cumulative percentage on y-axis.</li>
<li>Join the above points to form a curve.</li>
<li>Plot (on the same graph) a bar graph with causes on the x-axis and percent frequency on the y-axis.</li>
<li>Draw line at 80% on y-axis parallel to x-axis. Then drop the line at the point of intersection with the curve on x-axis. This point on the x-axis separates the important causes (on the left) and trivial causes (on the right)</li>
</ol>
<h2>Example Behavior</h2>
<p>How many Peanut characters did Charles Schulz introduce into his Peanuts cartoons? A survey was conducted where people where asked to name their favorite Peanut character.  The results of the survey unsurprisingly followed the classic 80:20 rule where 80% of the total favorite votes were for 20% of the characters: Snoopy, Charlie Brown, and Linus.  The answer to the beginning question is that there were 54 named characters in the cartoons.</p>
<h2>Agile and the 80:20 Rule</h2>
<p>Conceptually the Agile paradigm is based on the 80:20 where the objective is to deliver the most important features first. If those features are identified well, it is likely that only a small percentage of the universe of features will satisfy 80% of your customers.</p>
<p>I plan to discuss more about the Agile relationship in a future posting.</p>
<h2>Testing and the 80:20 Rule</h2>
<p>In 1976 Glenford Myers recommended writing test cases before you execute them, and he observed that defects cluster.   Based on this observation, he recommended pausing what you are doing and writing more tests for where you are finding bug clusters.  In addition he found the following:</p>
<ul type="disc">
<li>80% of the defects come from 20% of the modules.</li>
<li>50% of the modules are defect free at system test.</li>
<li>10% of the modules are responsible for 90% of the system downtime.</li>
</ul>
<h2>Implications</h2>
<ol>
<li>Defects are where you are finding them. If you are finding defects in an area, there are more there.</li>
<li>Detailed tests are not required for all functionality.</li>
<li>Sweet spots are where a majority of the defects are. Find the sweet spots, develop more tests in those areas, and test them more.</li>
<li>10% of the modules are responsible for 90% of system downtime.</li>
</ol>
<ul></ul>
<p>As Beck would recommend, look for code smells.  Bugs are where you smell them.</p>
<h2>How to Find Code Smells?</h2>
<p>Unfortunately, you won&#8217;t find the Pareto relationships until you start testing.  It&#8217;s essentially a feedback loop, but there are ways to be proactive:</p>
<ul type="disc">
<li>Identify features/functionality by risk and develop more tests there.</li>
<li>Concentrate your testing on new features or complicated areas.</li>
</ul>
<p>As any QA professional knows, often developers aren&#8217;t very helpful with identifying these areas.  Erik recommends looking at the checkout records.  Where there are more checkouts, the risk of defects is likely higher.</p>
<p>Alternatively, focus on the areas the customers use most of the time and make them really usable.  Most defects will go unnoticed by customers where the user experience is superior.</p>
<h2>Prioritize on Feature Use</h2>
<p>Test where the users spend most of their time.  Microsoft apparently uses approach to deliver their products, and in my experience with great effect (see <a href="http://www.crn.com/security/18821726">Microsoft&#8217;s CEO: 80-20 Rule Applies to Bugs, Not Just Features</a>).   I rarely experience a defect in Microsoft&#8217;s desktop applications; the operating system is another story, however.</p>
<p>I would sometimes wonder how Microsoft could deliver such high quality in their office products.   In hindsight it&#8217;s quite obvious how they achieve it.  I suspect that I&#8217;m like most Office users; I use 5% of the functionality 98% of the time.</p>
<p>If they get that 5% correct, most customers rarely experience a defect.  Interestingly, when I think of the times where I did notice a defect in the Office products, it is when I use a tangential feature like mail merge in Word.</p>
<h2>Summary</h2>
<p>The 80-20 rule, when applied to testing, can have great effect on your quality and user experience.  In product delivery environments where there is constant pressure to deliver faster, applying the 80-20 rule helps to prioritize your efforts and makes it possible to deliver faster while satisfying a majority of your customers.  While our culture has embraced faster is always better, this is one tool to help identify your priorities with improved product success.</p>
<p>Watch the presentation.  It&#8217;s very good.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yuwantitwhen.com/blog/2008/10/22/pareto-principle-8020-rule-and-quality/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Role of Leadership in Software Development</title>
		<link>http://www.yuwantitwhen.com/blog/2008/08/03/the-role-of-leadership-in-software-development/</link>
		<comments>http://www.yuwantitwhen.com/blog/2008/08/03/the-role-of-leadership-in-software-development/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 02:56:08 +0000</pubDate>
		<dc:creator>Bill Miller</dc:creator>
				<category><![CDATA[Video]]></category>
		<category><![CDATA[Leadership]]></category>

		<guid isPermaLink="false">http://www.yuwantitwhen.com/blog/?p=78</guid>
		<description><![CDATA[by Mary Poppendieck
Mary Poppendieck speaks at a Google TechTalk on the role of leadership in software development. She presents an interesting history on the philosophy of management and how it has morphed over the years to ...]]></description>
			<content:encoded><![CDATA[<h4>by Mary Poppendieck</h4>
<p>Mary Poppendieck speaks at a Google TechTalk on the role of leadership in software development. She presents an interesting history on the philosophy of management and how it has morphed over the years to its present day practices and theory.   Mary Poppendieck is the author of <a href="http://www.amazon.com/gp/product/0321150783?ie=UTF8&amp;tag=yowaitwh-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0321150783">Lean Software Development: An Agile Toolkit (The Agile Software Development Series)</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=yowaitwh-20&amp;l=as2&amp;o=1&amp;a=0321150783" border="0" alt="" width="1" height="1" /> and <a href="http://www.amazon.com/gp/product/0321437381?ie=UTF8&amp;tag=yowaitwh-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0321437381">Implementing Lean Software Development: From Concept to Cash (The Addison-Wesley Signature Series)</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=yowaitwh-20&amp;l=as2&amp;o=1&amp;a=0321437381" border="0" alt="" width="1" height="1" />.  She describes her Lean manufacturing experiences at 3M and how they relate to Agile Software development.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yuwantitwhen.com/blog/2008/08/03/the-role-of-leadership-in-software-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
