<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>The Testing Blog &#187; Josh Carroll</title>
	<atom:link href="http://thetestingblog.com/author/jwcarroll/feed/" rel="self" type="application/rss+xml" />
	<link>http://thetestingblog.com</link>
	<description>Why, testing, of course!</description>
	<lastBuildDate>Thu, 12 Jan 2012 00:58:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='thetestingblog.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>The Testing Blog &#187; Josh Carroll</title>
		<link>http://thetestingblog.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://thetestingblog.com/osd.xml" title="The Testing Blog" />
	<atom:link rel='hub' href='http://thetestingblog.com/?pushpress=hub'/>
		<item>
		<title>Fear of Success</title>
		<link>http://thetestingblog.com/2010/05/03/fear-of-success/</link>
		<comments>http://thetestingblog.com/2010/05/03/fear-of-success/#comments</comments>
		<pubDate>Tue, 04 May 2010 03:16:13 +0000</pubDate>
		<dc:creator>Josh Carroll</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://thetestingblog.com/?p=409</guid>
		<description><![CDATA[by Josh Carroll I was in the middle of making a rather lengthy comment on Daniel&#8217;s most recent blog post when I decided it was long enough to warrant a full posting. I wanted to get across the point that the situation Daniel finds himself in is not solely the plight of the software tester. Rather, anyone [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetestingblog.com&amp;blog=8467555&amp;post=409&amp;subd=thetestingblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>by Josh Carroll</p>
<p>I was in the middle of making a rather lengthy comment on <a href="http://thetestingblog.com/2010/04/30/exploratory-testing-and-a-prophet-without-honor/">Daniel&#8217;s most recent blog post</a> when I decided it was long enough to warrant a full posting.</p>
<p>I wanted to get across the point that the situation Daniel finds himself in is not solely the plight of the software tester. Rather, anyone who esteems software quality runs the risk of being <a href="http://www.joelonsoftware.com/items/2009/09/23.html">criticized</a>, <a href="http://www.gigamonkeys.com/blog/2009/10/05/coders-unit-testing.html">dismissed</a>, or <a href="http://www.codinghorror.com/blog/2009/02/the-ferengi-programmer.html">made fun of</a>. Why is it that organizations and groups are so resistant to something that will improve their process, their product, and their bottom line. The idea is one I have been thinking a lot about, and I believe I have had an epiphany.</p>
<p><strong>Sometimes, people are more afraid of success than failure!</strong></p>
<p>Wait&#8230; what did you say?!? You heard right, and I&#8217;ll say it again. <em>Sometimes, people are more afraid of success than failure.</em></p>
<p>I recently gave a presentation where I cited the <a title="Microsoft study on TDD" href="http://research.microsoft.com/en-us/projects/esm/nagappan_tdd.pdf">Microsoft study on TDD</a> that found:</p>
<blockquote><p>The results of the case studies indicate that the pre-release defect density of the four products decreased between 40% and 90% relative to similar projects that did not use the TDD practice. Subjectively, the teams experienced a 15–35% increase in initial development time after adopting TDD.</p></blockquote>
<p>The idea that up to 90% of your test and fix cycles can be eliminated represents an enormous cost savings even if you factor in the high end estimate of 35% increase in initial development time. You will more than make that time up by not having to fix the 90% of bugs that are now gone from the system. With numbers like that you would think that management would be breaking people&#8217;s knuckles for not using TDD. Developer&#8217;s would be falling over themselves to TDD even the smallest spec of code just to avoid doing maintenance (<em>curse the ground that software maintenance walks on</em>).</p>
<p>But alas, there was no stampede. No rush to go forth and test. No proclamation from management that it must be so. So&#8230; what gives?</p>
<p>What gives is that it might just work! Developers might just write cleaner code, and be more productive. Testers might be able to confirm code quickly and have the freedom to explore automated acceptance testing. Deadlines might be met, and the company might save money. And&#8230; and&#8230; <strong>we might have to admit that we have been doing it all wrong for a very long time.</strong></p>
<p>And there it is; the big white elephant in the room of software quality. Not fear of failure, but fear of success. Because <strong>success means having to admit things can and should be better</strong>. Even worse, that they <em>could have been better</em> all along. And we don&#8217;t like that. Most of us like to think we are pretty smart, that we are pretty damn good at what we do. When someone shows us a better way, our little bubble bursts, and we are forced to admit that we aren&#8217;t as special as we&#8217;d like to think we are.</p>
<p>The mediocre will always defend the status quo because their sense of worth is derived from being the smartest, funniest, sexiest, whateverist person around. They are a big fish in a little pond, and they like it that way.</p>
<p>The exceptional are never satisfied with the quality of their own work. They assume that there must be a better way, and seek out the best and brightest in the world to learn from. They draw their sense of worth from knowing they are better today than they were yesterday.</p>
<p>Exceptionalism is the arch-enemy of mediocrity, and success is it&#8217;s kryptonite!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetestingblog.wordpress.com/409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetestingblog.wordpress.com/409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetestingblog.wordpress.com/409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetestingblog.wordpress.com/409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetestingblog.wordpress.com/409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetestingblog.wordpress.com/409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetestingblog.wordpress.com/409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetestingblog.wordpress.com/409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetestingblog.wordpress.com/409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetestingblog.wordpress.com/409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetestingblog.wordpress.com/409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetestingblog.wordpress.com/409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetestingblog.wordpress.com/409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetestingblog.wordpress.com/409/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetestingblog.com&amp;blog=8467555&amp;post=409&amp;subd=thetestingblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetestingblog.com/2010/05/03/fear-of-success/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/213ff080fa03648f0b71e4f4658a8046?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Josh</media:title>
		</media:content>
	</item>
		<item>
		<title>QA, Being A Professional, and Waiting Tables</title>
		<link>http://thetestingblog.com/2010/04/08/qa-being-a-professional-and-waiting-tables/</link>
		<comments>http://thetestingblog.com/2010/04/08/qa-being-a-professional-and-waiting-tables/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 01:59:03 +0000</pubDate>
		<dc:creator>Josh Carroll</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[professionalism]]></category>
		<category><![CDATA[quality]]></category>

		<guid isPermaLink="false">http://thetestingblog.com/?p=390</guid>
		<description><![CDATA[by Josh Carroll If you are a little lost by the title, it will all make sense in a moment&#8230; um&#8230; sort of. Until I started my career as a software developer I worked a lot of other jobs. I have had a job since I was 16 years old, and that was just an [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetestingblog.com&amp;blog=8467555&amp;post=390&amp;subd=thetestingblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>by Josh Carroll</p>
<p>If you are a little lost by the title, it will all make sense in a moment&#8230; um&#8230; sort of.</p>
<p>Until I started my career as a software developer I worked a lot of other jobs. I have had a job since I was 16 years old, and that was just an excuse to get out of doing manual work for my parents around the house. I&#8217;ve worked as a bagger at a grocery store, cashier at a big-box-mart, usher, concessions, and box clerk for a movie theater, tech support for a DSL provider, general laborer for a masonry outfit, and the last job I worked before slinging code full-time was waiting tables.</p>
<p>All of these jobs really have one thing in common: <strong>I was the person who always caught the tail end of the customer&#8217;s experience: whether it was good or bad&#8230; <em>especially</em> when it was bad!</strong></p>
<p><strong><span style="font-weight:normal;">Waiting tables is an interesting experience, and one I think everyone should have to do at least once in their life. As a waiter you are the face of the dining experience for the customer. Before the customer even gets there, you are preparing the store to make their time enjoyable. You clean the kitchen, wash dishes, stock pantry items, napkins, silverware. You go over your section to make sure that everything is set up correctly and clean.</span></strong></p>
<p>Once a table in your section has been seated, as far as the customer is concerned, you <em>are</em> the restaurant. You size up the customer to figure out what kind of approach you should take (believe me it makes a difference). You give them an overview of the menu, get their drinks, throw out a couple of suggestions, and meticulously write down the order  making double sure to repeat back the order so there are no misunderstandings. Without delaying, you ensure that the order is put into the computer accurately and check to see that the kitchen staff gets the ticket. If needed you even explain any nuances of the order to the cooks: &#8220;&#8216;SUB BAKER ADD CHEESE.&#8217; Hey Joe, they want a baked potato instead of mashed, and they want to add cheese to the sandwich, NOT the baker!&#8221;</p>
<p>While waiting for the food you are feverishly busing, washing, and resetting tables for the next set of patrons that walk into your section; you make sure they think they are the first people to sit there. A single spec of food left on the table or the floor can ruin the whole meal! Every time you walk into the kitchen you are checking the status of your food.</p>
<p>&#8220;307 IN THE WINDOW!&#8221;</p>
<p>Your order is up and now you are checking every detail to make sure the food you have matches the ticket. You tidy up the presentation a little and make sure the plates are picture perfect. Drop the food off to the table and make sure they have everything they need: drink, condiments, extra napkins, steak knives, etc&#8230; You let the table dig in and about two minutes later you come back to make sure everything was up to par. <strong>You never take them at their word either! </strong>You have to actually <em>look</em> at their plates, and their faces to see if they are telling the truth.<strong> ﻿</strong>Most people are too sheepish to tell you everything sucks, and they will simply not come back to the restaurant if the experience is bad. It is up to you to see this and recover their patronage.</p>
<p>Ok. So what? Why waste your time with this?</p>
<p>Because QA and waiting tables have a lot in common. <strong>As QA, you are the standard bearer for a quality user experience</strong> much the same way that a waiter is the standard bearer for a quality dining experience. In order to really be effective you have to be involved in the process from start to finish. You need to be there when the user story is first conceptualized in order to effectively develop a testing strategy. You need to determine the set of criteria by which a story can be considered done (acceptance criteria). You also need a repeatable way to ensure the story as coded meets those criteria (Fit/FitNesse, StoryTeller, Selenium).</p>
<p>As the story is being developed you need to be in constant communication with the developer (cook) to make sure that any misunderstandings are cleared up immediately. Developers make assumptions if the acceptance criteria are vague. So find out what those assumptions are, and refine your acceptance tests accordingly. Be proactive about communicating your testing strategy to the developer(s) working on the story so they won&#8217;t be tempted to just throw it over the wall. A good developer will make your job easier here, but <strong>good acceptance tests do NOT care how well written the code is. </strong>Remember that your main goal is not to find bugs, but to verify that the feature/product will meet the customers needs. An acceptance test that fails is not a bug, it is simply an incomplete feature, and <strong>we don&#8217;t ship incomplete features.</strong></p>
<p>Being a QA professional takes a lot of discipline and involves a lot of responsibility, but it is your job as a professional to demand software quality above all else. A professional will stand on principle in this area while an amateur will make excuses for the level of quality&#8230; <em>&#8220;I don&#8217;t have enough time to do automated testing! The developers write bad code! My boss doesn&#8217;t appreciate QA!&#8221;</em>&#8230; All those things may be true, and may make it harder to do your job, but it <strong><em>doesn&#8217;t change your job!</em><span style="font-weight:normal;"> </span></strong></p>
<p>QA can be a tiring and thankless job, but the professional derives pleasure from a job well done. Be committed to the project/story/user, and not your own hide. This is what separates &#8220;testers&#8221; from Software Quality Professionals. This is the difference between a great user experience and a mediocre one.</p>
<p>The meal is over, and the customer is satisfied. On their way out the table says &#8220;The meal was excellent! Be sure and thank the cook for me,&#8221; as they hand you a three dollar tip.</p>
<p>&#8220;I&#8217;ll do that sir!&#8221; You say with a smile, knowing that you <em>did your job</em>. You made sure that everything was perfect. You took care of all the grimy little details so they could concentrate on what they came there for&#8230; a <strong><em>good</em></strong> meal.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetestingblog.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetestingblog.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetestingblog.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetestingblog.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetestingblog.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetestingblog.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetestingblog.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetestingblog.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetestingblog.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetestingblog.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetestingblog.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetestingblog.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetestingblog.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetestingblog.wordpress.com/390/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetestingblog.com&amp;blog=8467555&amp;post=390&amp;subd=thetestingblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetestingblog.com/2010/04/08/qa-being-a-professional-and-waiting-tables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/213ff080fa03648f0b71e4f4658a8046?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Josh</media:title>
		</media:content>
	</item>
	</channel>
</rss>
