<?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>HowTo.ComMetrics &#187; software with errors</title>
	<atom:link href="http://howto.commetrics.com/articles/tag/software-with-errors/feed/" rel="self" type="application/rss+xml" />
	<link>http://howto.commetrics.com</link>
	<description>Benchmark smarter. Perform better.</description>
	<lastBuildDate>Tue, 16 Mar 2010 12:18:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Fine-tuning software: Defect, error or flaw?</title>
		<link>http://howto.commetrics.com/articles/fine-tuning-software/</link>
		<comments>http://howto.commetrics.com/articles/fine-tuning-software/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 23:38:26 +0000</pubDate>
		<dc:creator>Urs E. Gattiker</dc:creator>
				<category><![CDATA[measuring effectively]]></category>
		<category><![CDATA[bugzilla]]></category>
		<category><![CDATA[defect software]]></category>
		<category><![CDATA[FT ComMetrics Blog Index]]></category>
		<category><![CDATA[metrics2watch]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[software release]]></category>
		<category><![CDATA[software reliability]]></category>
		<category><![CDATA[software with errors]]></category>
		<category><![CDATA[software with flaws]]></category>

		<guid isPermaLink="false">http://howto.commetrics.com:80/?p=85</guid>
		<description><![CDATA[Mistakes in software coding can be dealt with during testing. Resolving defects after the fact is extremely costly and can affect user trust and confidence. Flaws and errors are less problematic but cannot be ignored.]]></description>
			<content:encoded><![CDATA[<p></p>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fhowto.commetrics.com%252Farticles%252Ffine-tuning-software%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Fine-tuning%20software%3A%20Defect%2C%20error%20or%20flaw%3F%20%23%22%20%7D);"></div>
<p><a title="bugs happen but must be fixed quickly" href="http://www.cytrap.eu/files/HowToComMetrics/2009/image/04/2009-04-12-MyComMetricsComBugFIXED.png"><img style="margin: 10px;float: left" src="http://www.cytrap.eu/files/HowToComMetrics/2009/image/04/2009-04-12-MyComMetricsComBugFIXED.png" border="0" alt="" width="152" height="192" /></a></p>
<p>Alpha testing is critical to find any errors and flaws you may have missed in a program&#8217;s development. This post explains how we went about testing <strong><a title="how does your blog rank against the competition" href="http://my.commetrics.com/" target="_blank">My.ComMetrics.com</a></strong> to ensure users&#8217; satisfaction with the final product.</p>
<p>There are three types of land mines in software engineering that must be dealt with when developing software of any kind:</p>
<p style="padding-left: 30px">1) <strong>Defects</strong>: these cause the software to behave in unpredictable ways. Examples could be code showing up when it should not be, failure to handle mistakes properly or incorrectly completed calculations that inadvertently provide the user with inaccurate results.<br />
2)<strong> Errors:</strong> these can be reduced by using quality assurance testing. The software might perform in a way contrary to what your customer expects. For example, the user enters a URL at <strong><a title="how does your blog rank against the competition" href="http://my.commetrics.com/" target="_blank">My.ComMetrics.com</a></strong>, clicks on View Trend and in response the software provides an empty results page or an error as shown in the image above.<br />
3) <strong>Flaws:</strong> these are generally viewed by the end-user as errors, without technically being an error within the developer&#8217;s code, such as presented data being correct but the visual leaves something to be desired (see image further below).<span id="more-85"></span></p>
<p><strong>How to manage software development</strong><br />
To resolve this apparent conflict we need to realize that only <strong>defects cause future headaches</strong>, and therefore they <strong>must not be deferred</strong>. Hence, if your software fails to process data correctly, the information provided to the user will be useless.  If the program freezes (remember the Windows XP blue screen of death) the defect must be fixed before it causes harmful damage. Of course, Microsoft proves that one can still be successful while releasing software with defects.</p>
<p>If the software reliably serves you an empty result page every time, this is <strong>not a defect, but an error</strong>. Nevertheless, it can and must be fixed. By contrast, a <a title="a flaw is a design issue, but still a problem from the user's point of view" href="http://discuss.joelonsoftware.com/default.asp?design.4.135467.15" target="_blank"><strong>flaw</strong> is more of a design issue</a> than an error but again, the client expects a fix.</p>
<p><strong>Defects</strong> are more critical and the risk of their presence should be minimized right from the start. Terence M. Colligan wrote <a title="most effective testing we use is fully automated or regression testing" href="http://www.tenberry.com/errfree/steps.htm" target="_blank">Nine Steps to Delivering Defect-Free Software</a>, all of which are still useful today, even though it is usually impossible to deliver perfect software right from the start.</p>
<p>Finally, some people call mistakes in software <strong>bugs</strong>, but we prefer to call them errors, because, for one thing, if they blow up they can do long-term damage. This often includes decreasing <strong>customer trust and confidence</strong> as discussed in the post <a title="bugs are errors and, in turn, land mines you have to watch out for in order to reach your final destination unharmed" href="http://www.sei.cmu.edu/news-at-sei/columns/watts_new/1999/March/watts-mar99.htm" target="_blank">Bugs versus defects &#8211; there are no bugs just land mines</a>.</p>
<p><strong>Where do alpha users come in?</strong><br />
Alpha users are required because the number of potential errors and flaws in most programs is too great to be able to test for all of them in advance. Instead, alpha users discover the land mines by making use of the software in infinite ways, putting the program through its paces and (hopefully) informing the developer of any eventual problems. They are also the ones who usually point out possible flaws or limitations a software tool may have.</p>
<p>The challenge for the developer is to prioritize the feedback provided and fix the most critical issues first, without forgetting all of the rest of the information provided by the alpha users. This makes alpha users the helpful individuals who enable the developer to refine and adjust the software before releasing it to the public for the first time.</p>
<p><a title="screen-shots help illustrate exactly what needs fixing" href="http://www.cytrap.eu/files/HowToComMetrics/2009/image/04/2009-04-12-CSS-fix-Illustration.png"><img style="margin: 10px;float: right" src="http://www.cytrap.eu/files/HowToComMetrics/2009/image/04/2009-04-12-CSS-fix-Illustration.png" border="0" alt="" width="125" height="150" /></a><strong>Bottom line</strong><br />
Most projects come with costs that are impossible to quantify at the beginning, including defects. However, the danger with defects is that they can cause so many problems as to bring a project to a screeching halt. On the other hand, software errors are not that bad and can be fixed as needed. Eric Ries discusses this very nicely in his post <a title="why you have to watch your costs and users can help you get rid of bugs but not defaults in your programs" href="http://startuplessonslearned.blogspot.com/2008/10/lean-startups-vs-lean-companies.html" target="_blank">Lean start-ups vs. lean companies</a>.</p>
<p>In most cases, exhaustive testing is impossible because there are too many possibilities to test them all. For <strong><a title="how does your blog rank against the competition" href="http://my.commetrics.com/" target="_blank">My.ComMetrics.com</a></strong>, we focused on <strong>minimizing the risk of software errors</strong> and finding the unexpected ones with the help of alpha users. In this way, we continue to refine and improve the software as you read, this thanks to your and other alpha users&#8217; help!</p>
<p>Our question to readers and <strong><a title="how does your blog rank against the competition" href="http://my.commetrics.com/" target="_blank">My.ComMetrics.com</a></strong> users is, <strong>what are your experiences with bugs versus defects &#8211; does how they are handled make a difference to you?</strong> Please share your thoughts and insights on this important issue by leaving a comment. Thank you.</p>
<hr /><img class="alignleft" style="margin: 2px;float: right" src="http://www.cytrap.eu/files/ComMetrics/2008/image/12/FTLogo.jpg" alt="Financial Times " width="62" height="85" />Welcome to the home of the <a title="FT ComMetrics Blog Index" href="../?page_id=14">FT ComMetrics Blog Index</a> that ranks <a title="the largest global companies at a glance" href="http://www.ft.com/reports/ft5002008" target="_blank">FT Global 500</a> and <a title="the largest US companies" href="../leaders-by-metric/ftcommetrics-corporate-blog-index/social-media-monitoring-a-systematic-approach/fortune-500" target="_blank">Fortune 500</a> — <a title="3 criteria a blog must meet to be considered a corporate blog" href="http://commetrics.com/?p=114" target="_blank">corporate blogs</a><br />
<strong>Relevant blog metrics for diary, personal and business blogs</strong><br />
Please <a title="sign up during alpha-testing for free - track your blogs - see where and what can be improved - save time" href="http://my.commetrics.com/amember/signup.php?product_id=1" target="_blank">subscribe now</a> so you can <strong><a title="log in - enter the info about your blog - be as specific as you can - the more exact the info you give us the better we can serve you with accurate information - make your life easier by helping us" href="http://my.commetrics.com/claimblog.php" target="_blank">claim your personal and/or corporate blog</a></strong> AND <a title="just log in - add the URL and other pertinent information - the more exact you are the better we can help you" href="http://my.commetrics.com/addcompetitor.php" target="_blank">trace those that you want to compare yourself to</a>.<br />
For <strong>Twitter</strong>, please use <strong>#hashtag <span class="bio">➡</span> #<abbr title="FT ComMetrics Blog Index">FTCBI</abbr></strong></p>
<p> </p>
<p> </p>
<hr />

]]></content:encoded>
			<wfw:commentRss>http://howto.commetrics.com/articles/fine-tuning-software/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
